Re: C calling conventions: how to pass a struct parameter?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thank you for your answers. Unfortunately, I was not clear enough. I want to know what happens in the registers and in the stack when a procedure like

void PrintFoo(struct Foo foo)

is called. There is no universal C calling convention set for x86, so I am interested in how GCC usually does.

What about a struct return value:
struct bar Function() ?

Thanks.
Cezar


Eljay Love-Jensen wrote:


Hi Cezar,

(Hey, "Cezar", cool name.)

This should work:

struct Foo { int a,b,c; };

void PrintFoo(struct Foo foo)
{
  printf("Foo:%d,%d,%d\n", foo.a, foo.b, foo.c);
}

That's a pass-by-value.

Here's pass-by-pointer:



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux