在 ibm aix 5.3 上使用 gcc 編譯程式心得如下:
1、編譯 64 位和 32 位程式的引數分別是 -maix64 -maix32 ,預設編譯 32 位程式
2、鏈結時指定動態庫直接給定動態庫名稱,例如 libfunc.so 而不是 -lfunc 的形式,否則給出 ld returned 255 錯誤資訊
如果有檔案 func.cpp 和 demo.cpp 前者編譯成動態庫 libfunc.so ,後者是可執行程式,使用前面的動態庫,命令列表如下:
g++-fpic -o3 -ggdb -o func
.o func
.cppg++
-fpic -o3 -ggdb -o main
.o demo
.cppg++
-fpic -shared -o libfunc
.so func.o
g++-fpic -o demo demo
.o libfunc
.so -l
.
執行 demo 程式可以看到已經呼叫動態庫中的函式輸出資訊,使用 ldd 可以看到 demo 依賴動態庫 ./libfunc.so
這與在 linux 下編譯的引數有差異,在 linux 下編譯的命令列應該是:
g++-fpic -c -o func
.o func
.cppg++
-fpic -shared -o libfunc
.so func.o
g++-fpic -c -o demo
.o demo
.cppg++
-fpic -o demo demo
.o -lfunc -l//
demo
linux 的動態庫載入器嚴格按照 ld_library_path 的順序搜尋,不像 windows 會首先在可執行程式所在的目錄搜尋。
在CentOS6 3上編譯gcc4 9
先安裝依賴專案 主要需要編譯gmp mpfr mpc isl glibc glibc與gcc一樣,不能在原始碼目錄下直接編譯。所以應該新建乙個目錄如obj,然後呼叫.src configure yum install flex bison 設定環境變數ld library path usr loca...
在 Windows 上安裝 GCC
寫在原始檔中的源 是人類可讀的源。它需要 編譯 轉為機器語言,這樣 cpu 可以按給定指令執行程式。c 語言編譯器用於把源 編譯成最終的可執行程式。這裡假設您已經對程式語言編譯器有基本的了解了。一 安裝 mingw minimalist gnu for windows 是乙個適用於微軟windows...
在Windows下使用gcc編譯器
mingw是指只用自由軟體來生成純粹的win32可執行檔案的編譯環境,它是minimalist gnu on windows的略稱。但是我配置的時候我電腦上安裝了codeblocks,已經自帶了mingw。在 系統屬性 高階 環境變數 系統變數 中 以下目錄都根據自己的電腦mingw所在位置不同而改...