32位Linux和64位Linux(Intel台式机CPU)上默认的C调用规约是什么?

4

静态函数的默认调用约定是什么?

static void PrintHelloWorld(char* s) { }

under

Linux:

#36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

和之前一样,并且配合使用
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 Linux ubuntu 3.2.0-23-generic

2
没有“通用答案”。http://en.wikipedia.org/wiki/X86_calling_conventions - user149341
@duskwuff 修改了问题以便得到具体答案。 - Lunar Mushrooms
1个回答

10
根据您所列的架构和编译器(Linux x86_64),使用了System V AMD64 ABI中描述的调用约定。
在Linux i386下,使用System V i386 ABI中描述的调用约定。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接