今天使用nasm和gcc一起編譯了一個程序
先使用nasm編譯一個asm文件為elf格式,匯編文件里面有全局global的_start和functionC,將來連接的時候用。其中還有extern用來表示外部C語言中的函數。
我的程序的調用結構: _start(ASM)->funB(C)->funC(ASM)
其中 ASM文件中:extern funB、global _start、global funC
C文件中聲明:void funC();
函數參數的傳遞:使用push來傳遞地址,而不是數值。最后參數的清理需要caller來自己解決。
需要的命令行:
nasm -f elf -o dest.o?src.asm
gcc -c -o dest2.o src2.c?????????? (-c 的意思是僅僅compile)
ld -s -o final.o dest.o dest1.o
posted on 2007-01-10 22:06
小爽 閱讀(2337)
評論(0) 編輯 收藏 所屬分類:
我的經驗 、
我的操作系統