[英]What is the calling convention for the main function in C?
C中的每个函数都必须有一个调用约定,但是main
函数的调用约定是什么(我认为这是cdecl
调用约定,但我不确定)?
这取决于架构和平台。 许多x86 C运行时规范要求main为cdecl
,但绝不保证。
最重要的是,您不会在C标准中找到此信息,因为该语言不依赖于任何一种体系结构。 阅读您感兴趣的特定编译器的文档可能会更幸运。
C语言没有定义调用约定,但处理器架构和开发平台确实如此。 对于X86调用约定,请查看wiki https://en.wikipedia.org/wiki/X86_calling_conventions
另请参阅以下链接中的ARM调用约定http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042f/IHI0042F_aapcs.pdf
有关调用约定的更多信息,请参阅下面的wiki链接https://en.wikipedia.org/wiki/Calling_convention
另外,在GCC MIPS-32调用约定/堆栈帧定义中检查有关MIPS调用约定的讨论
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.