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

          今天使用nasm和gcc一起編譯了一個程序
          先使用nasm編譯一個asm文件為elf格式,匯編文件里面有全局global的_start和functionC,將來連接的時候用。其中還有extern用來表示外部C語言中的函數(shù)。

          我的程序的調(diào)用結構: _start(ASM)->funB(C)->funC(ASM)
          其中 ASM文件中:extern funB、global _start、global funC
          C文件中聲明:void funC();

          函數(shù)參數(shù)的傳遞:使用push來傳遞地址,而不是數(shù)值。最后參數(shù)的清理需要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)  編輯  收藏 所屬分類: 我的經(jīng)驗我的操作系統(tǒng)
          主站蜘蛛池模板: 江源县| 黄浦区| 开封市| 当阳市| 运城市| 乐安县| 屏东市| 垣曲县| 邵东县| 元江| 屯门区| 健康| 柞水县| 全州县| 新丰县| 贵溪市| 嘉荫县| 沙田区| 遵义县| 宁陵县| 义乌市| 卢龙县| 宜州市| 广灵县| 棋牌| 松阳县| 天全县| 五台县| 双牌县| 霸州市| 句容市| 会东县| 久治县| 邯郸市| 资溪县| 招远市| 年辖:市辖区| 合川市| 荥经县| 佛山市| 平南县|