隨筆-65  評論-68  文章-4  trackbacks-0

          今天使用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 小爽 閱讀(2341) 評論(0)  編輯  收藏 所屬分類: 我的經驗我的操作系統
          主站蜘蛛池模板: 靖州| 习水县| 双辽市| 陆丰市| 广昌县| 手机| 南昌市| 乌什县| 镇平县| 永吉县| 新巴尔虎左旗| 新晃| 辛集市| 宁海县| 井冈山市| 邛崃市| 田阳县| 怀化市| 米脂县| 北宁市| 阳高县| 湾仔区| 永善县| 永安市| 辽宁省| 辽源市| 千阳县| 宿州市| 丰原市| 济宁市| 潜山县| 宁强县| 吴桥县| 会东县| 久治县| 湖州市| 黑河市| 大悟县| 保山市| 高台县| 延寿县|