Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
Hmmm. I believe I now understand your dilemna.

Basically, you want to be able to dynamically create parameter lists at runtime in C the same as Perl.

Alas, it can't be done. Well, at least not easily, and definitely not in a portable manner.

Long ago, when Kernigan and Ritchie still had full heads of hair with nary a gray follicle, some C compilers supported the varargs' complementary ability to create variable length argument lists. (I vaguely recall using it occasionally on SysVR3 and MSDOS...aha, look what google found!).

But somewhere in the past 2 decades, our friends on the various C standards committees seem to have mislaid that capability. Presumably because it was very dangerous, and because the way stackframes get built on different platforms varies significantly.

So about the only way to do that sort of thing these days is to dive into the assembler and handcraft your own stackframes. Or, more likely, rewrite your programs to avoid the need for dynamically building argument lists. Which unfortunately usually means writing a lot more code.


Perl Contrarian & SQL fanboy

In reply to Re^3: XS/Inline::C and ellipsis syntax by renodino
in thread XS/Inline::C and ellipsis syntax by syphilis

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (6)
As of 2024-03-19 09:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found