當前位置:編程學習大全網 - 編程軟體 - 如何在64位的Linux系統上使用匯編和C語言混合編程 第2頁

如何在64位的Linux系統上使用匯編和C語言混合編程 第2頁

使用方式如下:

<1> 讓gcc 產生32位的代碼,並在鏈接的時候以32位的方式進行鏈接

在這種情況下只需要修改編譯和鏈接指令即可,具體如下:

1 nasm -f elf foo.s -o foo.o

2 gcc -m32 -c bar.c -o bar.o

3 ld -m elf_i386 -s -o foobar foo.o bar.o

<2>如果是高版本的gcc(可能是由於更新內核造成的),可能簡單的使用-m32 的時候會提示以下錯誤(使用別人的歷程,自己未曾遇到):

> In file included from /usr/include/stdio.h:28:0,

> from test.c:1:

> /usr/include/features.h:323:26: fatal error: bits/predefs.h: No such file or directory

> compilation terminated.

這應該是缺少構建32 位可執行程序缺少的包,使用以下指令安裝:

sudo apt-get install libc6-dev-i386

此時應該就沒有什麽問題了。

  • 上一篇:貴陽宏福大廈小區周邊配套怎麽樣?
  • 下一篇:c語言中的簡單加法
  • copyright 2024編程學習大全網