我想在彙編程序中調用C函數。這是我的代碼: C:未定義的引用乘以
int multiply(int what)
{
return what * 2;
}
ASM:
extern multiply
start:
mov eax, 10
push eax
call multiply
jmp $
;empty
times 510-($-$$) db 0
dw 0xAA55
我編譯C代碼由GCC(MinGW的)和ASM代碼的NASM給小精靈。我編譯它沒有任何問題,但是當我試圖用這個代碼(用於創建.bin文件):
gcc -o test.bin work.o test.o
我收到此錯誤:
是否有人知道如何從ASM代碼調用C函數,編譯它並將其鏈接到工作的.bin文件?請幫忙。
+1 @user也見:http://stackoverflow.com/questions/1034852/adding-leading-underscores-to-assembly-symbols-with-gcc-on -win32 – 2012-07-05 12:22:58