我在x86程序集上关注this tutorial。到目前为止,每个示例都使用作者称之为“C驱动程序”的程序,并使用程序集模块进行编译,以获得某些“初始化”。例如:x86汇编:主要序言和结语是什么?
int main(void) {
int ret = asm_main();
return ret;
}
然后使用C调用约定正常写入asm_main函数。我想知道C编译器生成的所需初始化究竟是什么,以及是否可以以便携方式完成。
信息:我在Windows XP 32bit盒子上,使用NASM汇编器和mingw32-gcc进行链接。
在一个C项目中,您所讨论的所有这些设置都是在main调用之前自动处理的(并且在主返回后自动退出事件)。 现在你可能会问,“什么是C项目?”。那么,这有点棘手的问题,但基本上,如果你有一个“主”功能和链接与libc(-lc)你正在作为一个C项目工作,即使你的代码中的每个功能都是用asm编写的。 –