作者allstarschh (allstars)
看板ASM
标题[问题]call C function有要加 _ (underscore) 吗?
时间Tue Apr 1 14:16:18 2008
在书上看到在assembly里
call C function 时 会在function 前加个 _
例如 在C是 int main()
在assembly中就会是 call _main
好让assembler知道这是一个C function
(上面这句话不知道对不对)
但我在linux 上 跟cygwin 里
用gcc
我用一个test.c
这就只有一个int main(){return 0;}
在cygwin里用gcc -S test.c
里面是有加_的
但在linux上 同样档案
gcc -S test.c
但我看 assembly他并没有加_
想请问这是为什麽呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.22.63.250
1F:推 sunneo:这得看compiler对於calling conversion的name prefix 04/02 20:49
2F:→ sunneo:加_表示这是cdecl,但是不全然cdecl就一定是底线 04/02 20:50