導航:首頁 > 源碼編譯 > 編譯為32位程序

編譯為32位程序

發布時間:2022-07-02 04:45:34

A. 64位linux編譯32位程序

在64位的Linux下,gcc 編譯 32 位程序需要添加參數 -m32 ,ld需要添加參數是 -m elf_i386。
1、Along with the -m32 flag in gcc, you may need to include the -melf_i386 flag for ld to properly link the 32bit object files to the 32bit libraries if you have both the 32bit and 64bit libraries.
2、 ld命令 ld命令是GNU的連接器,將目標文件連接為可執行程序。
3、舉例:

gcc -m32 -o hello hello.c

gcc -m32 -c hello.o hello.c
ld -m elf_i386 -o kernel main.o hello.o

B. 命令提示符編譯的程序是只能是32位嗎

64位庫只能生成64位的程序,32位的庫只能生成32位的程序,32位的程序可以在64位機子上運行,64位程序不能在32位機子上運行

C. 如何在ubuntu14.04編譯運行32位程序

我的解決方法
安裝系統:
Install ubuntu14.04-64bit(Trusty Tahr)
安裝32位庫:
sudo apt-get install libc6:i386
用之前的源安裝ia32-libs:
sudo -i
cd /etc/apt/sources.list.d
echo "deb raring main restricted universe multiverse" >ia32-libs-raring.list
apt-get update
apt-get install ia32-libs
rm ia32-libs-raring.list
apt-get update
exit
安裝gcc編譯時需要的一些類庫:
sudo apt-get install gcc-multilib
在gcc的時候加-m32參數 再次嘗試:
make clean
make

D. 如何在Linux下用gcc將c語言文件編譯成32位exe文件,且可以在Windows下運行

有方法的,不過要看你編繹出的程序需要用到多少windows的庫,看看linux下有沒有可以替代的,不過很多時候沒有windows內核還是無法編譯成功的。
方法一:安裝mingw32
方法二:virtualbox安裝xp的虛擬機
方法三:通過wine使用cl命令行編譯
上面幾個方法你可以嘗試一下。
至於編輯嘛,高手一般直接就用vim,如果你覺得難用的話,可以用eclipse或者kdevelop,kdevelop有點像windows下VS,希望對你有所幫助

E. 64位win7下vs2010怎麼編譯出32位程序

早期在vs2008上的一個測試,希望能夠幫助你

一、win32改為x64編譯

我採用了vs2008平台,以下都是基於此平台將win32編譯改為x64編譯

這里以Debug模式為例,起初為Win32平台,要改成x64,如果有可直接選擇,否則需要新建,之後為。

然後打開vs的項目->屬性->配置屬性->連接器,

在「高級」選項中,目標計算機為MachineX64(/MACHINE:X64)。

在「命令行」選項中,將X86改為X64.

平台選擇x64,若沒有則新建之.

F. 64位UBUNTU 下 如何用GCC 編譯出32位程序 求前輩指點

目測是32位的搜索路徑下沒有sys/cdefs.h
一般64位系統最好不要安裝32位庫的-dev,經常有沖突,強行安裝會破壞64位環境,頭文件並不像共享庫分得那麼完美。
我覺得比較好的做法是,重新把某一個文件夾當成rootfs,在裡面安裝各種32位的庫和庫-dev,然後給gcc傳遞參數"--sysroot=路徑"就可以讓gcc重新選取那個文件夾為rootfs,而不再認為/為rootfs。其實這樣就變成交叉編譯了。也可以在這個rootfs中安裝32位的必要軟體包如bash,gcc,coreutils等等,然後chroot進去就變成host編譯了。其實有個比較簡單的方法,就是虛擬機下安一個32位的ubuntu,然後裝好各種軟體包,然後直接對/打包,再拿出來解壓就是rootfs了,後面最多就是缺啥安啥,工作量比較小。當然如果你不在意編譯速度,直接虛擬機下編最簡單

G. C#net如何給程序編譯為32位應用程序

如果想安裝方便需要使用access或sqlite這樣的自包含資料庫,這樣你的資料庫和exe程序放在同一個目錄下就可以了。
如果你想使用mysql或mssql等資料庫,首先要在被安裝的機器上安裝這些軟體,然後初始化資料庫結構,導入初識數據,這樣的資料庫做起來比較麻煩。

H. 64位linux下的GCC如何編譯出一個32位可執行程序

理論上安裝支持環境,之後 64 位的 gcc 編譯成 32 位程序,就加 -m32 參數即可。

當然還一個辦法是裝個 32 位的 gcc 。

另外,交叉編譯也適用於 x86 架構。

不過這么編譯經常會出現各種問題,所以編譯 32 位的程序,最好還是用 32 位系統。

不一定重裝,用 chroot 和 setarch 命令配合即可弄出一個 32 位的子系統。

I. 64位linux編譯32位應用程序,怎樣設置

安裝gcc 安裝gcc-multlib
編譯的時候加參數 -m32
其他依賴庫可以安裝。
此外可以使用容器技術,chroot技術,交叉編譯。
使用虛擬機也是可以的,有性能損失,可能會引入一些錯誤。

閱讀全文

與編譯為32位程序相關的資料

熱點內容
小新pro14學生編程 瀏覽:782
浙江app如何切換個人賬號 瀏覽:308
退休加減乘除運演算法則 瀏覽:23
量比拉升指標源碼 瀏覽:96
如何查app下載量 瀏覽:750
雲平台為什麼需要本地伺服器 瀏覽:347
linuxoptions 瀏覽:869
linux命令下載文件 瀏覽:346
最要加密的pdf參數 瀏覽:784
單片機直流電機pid控制 瀏覽:56
如何讓自己的微信相冊加密 瀏覽:371
解壓大神小游戲 瀏覽:799
要求是命令嗎 瀏覽:771
想當程序員考什麼證最有用 瀏覽:744
有效演算法必須滿足哪幾個特性 瀏覽:67
開心一笑解壓視頻 瀏覽:149
建app需要學什麼 瀏覽:550
內卷程序員病倒圖片 瀏覽:193
w10專業版連接不了共享文件夾 瀏覽:539
單片機同步數據匯報 瀏覽:376