我在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編寫的。 –