1. 程式人生 > >Ubuntu64位編譯32位程式

Ubuntu64位編譯32位程式

在64位系統下編譯32位程式需要新增編譯選項: -m32

安裝32位庫

Terminal command
$ sudo apt-get install libc6:i386

安裝ia32-libs

Terminal command
$ sudo -i
$ cd /etc/apt/sources.list.d
$ echo “deb http://archive.ubuntu.com/ubuntu/ raring main restricteduniverse multiverse” >ia32-libs-raring.list
$ apt-get update
$ apt-get install ia32-libs
$ rm ia32-libs-raring.list
$ apt-get update
$ exit

安裝類庫

Terminal command
$ sudo apt-get install gcc-multilib

相關推薦

Ubuntu64編譯32程式

在64位系統下編譯32位程式需要新增編譯選項: -m32 安裝32位庫 Terminal command $ sudo apt-get install libc6:i386

centos64編譯32程式問題

在centos64位上面編譯32位程式的時候遇到編譯不過的問題,解決過程如下: 1.編譯遇到錯誤,提示錯誤如下: [[email protected] code]# make In file included from /usr/include/features.h:399:0

centos64編譯32程序

rom 編譯程序 span libs \n fas swd mirror 因此 test.c #include <stdio.h> int main() { printf("sizeof long is %d\n",sizeof(lo

64ubuntu編譯32程式

如上使用C4這個小工具時遇到來需要模擬32位系統的需求,發現使用-m32引數後,編譯提示錯誤,如下: /usr/bin/ld: 未知的模擬模式: 32 支援的模擬: elf_x86_64 elf32_x86_64 elf_i386 i386linux elf_l1om e

linux64平臺上編譯32程式: GCC編譯選項 -m64 -m32 -mx32

x86-64 與 IA-64 x86-64一般稱為AMD x86-64,難道x86-64不是Intel首先搞出來的指令集麼?這回的確是AMD乾的,但是用的是Intel 16bits升到32bits向下相容的套路。大致是這樣的: x86:從1978年來的8086處理器開

ubuntu 64上的GCC如何編譯32程式

執行命令 gcc -v 顯示: Target: x86_64-linux-gnu 所以,我這裡的gcc預設生成64位的程式。 如果想編出32位的程式,就要加 -m32選項。可是我嘗試了,還是不行。 原來,需要安裝東西。 $ sudo apt-get install b

如何在64linux強制編譯32應用程式

原文地址:http://blog.chinaunix.net/uid-20109107-id-86319.html GDC注:因為需要解決在linux64機上編譯32位的mongodb(沒辦法,因為編譯的php是32位,然後我想將mongdb擴充套件新增到php中),在網

ubuntu16 64 編譯64程序和32程序

bit dong pan urn 程序 g++ update architect cut 安裝了ubuntu16 64位的系統,想在該環境下用gcc編譯64位和32位的程序 默認已經安裝了64位環境的gcc 1. 首先確認安裝的環境是不是64位的 cocoa@cocoaU

VC程式裡判斷系統是64還是32的正確方法

VC程式裡判斷系統是64位還是32位的正確方法 BOOL IsWow64()  {      typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);   &nbs

編譯32windows系統下可用的JVMTI動態連結庫

        這3天研究如何編譯32位windows系統下可用的jVMTI動態連結庫。中間過程很多時間都在搭建各種環境,其他時間在學習編譯和各個系統的相關知識,總的來說,受益匪淺。記錄一下3天踩過的坑和解決方法。      

一個C程式辨別系統是64還是32

知識儲備: 計算機的位數取決CPU中暫存器的寬度,具體來說就是算術邏輯運算單元(ALU)的寬度,用來表徵計算機的計算能力,ALU一次可以計算最大長度整數即計算機的位數。 在32bit的計算機中,ALU一次可以計算的最大整數為4個位元組。 在64bit的計算機中。ALU一次可以計算的最

WINDOWS中, 如何檢視一個執行中的程式是64還是32的?

方法一: 工作管理員法 工作管理員>>>程序(processes)>> 程序後帶有*32的是32位程式 方法二: 簡化顏色模式法 右鍵exe>>>屬性>>>相容性 若Settings框中的降低色彩和解析度的選項

64ubuntu下編譯32彙編程式(同時連結C庫)

cmd.s如下://.include "linux.s" .section .data output1: .ascii "There are %d parameters:\n\0" //output2: // .ascii "%s/0" .section .text

64開發環境下編譯32dll檔案

       最近在做PH專案的時候,遇到了一個小問題。我們做的系統,算是在人家基礎上的一個二次開發:我們用到他們裝置,同時需要他們給我們提供介面。我們拿到介面,在32位系統上編譯不會出問題,而在我

64系統下編譯32的彙編程式

最近重新開始看彙編的書,但是依然還是以前的問題,沒法用popl和pushl(以前是乾脆用的popq以及pushq),但是感覺用起來麻煩,特別對照書看,那麼 在網上搜索了一下發現果然有類似的部落格 先是彙編 as --32 -o powers.o powers.s 然後連結

在64系統下編譯32彙編程式

#只是例子,計算2^3 + 5^2 .code32 .section .data .section .text .globl _start _start: pushl $

程式判斷作業系統是16還是32(或64)的?

今天覆習了下C++,總結了這兩種方法用於判斷作業系統的位數,但第一種方法只能用於判斷是32位以上還是16位的,不能判斷是32位還是64位的,因為地址空間在32位和64位系統下都是一樣的。第二種方法可以判斷。 第一種方法:用sizeof()判斷 #include<ios

Linux在64執行32程式(安裝32庫:rpm、deb)

記錄: ------------------------------------------------------------------- centos7.x 安裝了glibc:glibc-2.17-157.el7.i686 glibc-2.17 nodeps安裝,即可

64centos7 編譯 32檔案出錯

[[email protected] demo]$ gcc -m32 str.c -o app /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.5/lib

判斷某程式是64還是32

1. 用程式碼判斷本身 if (IntPtr.Size == 4) {     // 32-bit } else if (IntPtr.Size == 8) {     // 64-bit } 2. 用程式碼判斷正在執行的其他程序 If you have a hex editor program,