【新炬網路名師大講堂】在AIX機器上使用xlc編譯c的動態庫
一、編譯路徑:
[lzj@239: ~/cpp/lib_test]$ pwd
/home/lzj/cpp/lib_test
二、初始檔案:
[lzj@239: ~/cpp/lib_test]$ ls
hello.c hello.h main.c
[lzj@239: ~/cpp/lib_test]$ cat hello.c
#include
void hello(const char *name)
{
printf(“Hello %s!\n”, name);
}
[lzj@239: ~/cpp/lib_test]$ cat hello.h
#ifndef HELLO_H
#define HELLO_H
void hello(const char *name);
#endif //HELLO_H
[lzj@239: ~/cpp/lib_test]$ cat main.c
#include “hello.h”
int main()
{
hello(“everyone”);
return 0;
}
三、編譯步驟如下:
1.編譯hello.c的檔案生成hell.o檔案:
[lzj@239: ~/cpp/lib_test]$ xlc -c hello.c
結果:
[lzj@239: ~/cpp/lib_test]$ ls
hello.c hello.h hello.o main.c
2.編譯libmyhello.so動態庫:
[lzj@239: ~/cpp/lib_test]$xlc -qmkshrobj -o libmyhello.so hello.o
或 xlc -G -o libmyhello.so hello.o
結果:
[lzj@239: ~/cpp/lib_test]$ ls
hello.c hello.h hello.o libmyhello.so main.c
3.編譯main.c成可執行程式hello:
[lzj@239: ~/cpp/lib_test]$xlc -brtl -o hello main.c -lmyhello -L.
結果:
[lzj@239: ~/cpp/lib_test]$ ls
hello hello.c hello.h hello.o libmyhello.so main.c
4.hello程式執行結果:
[lzj@239: ~/cpp/lib_test]$ hello
Hello everyone!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29960155/viewspace-1362346/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 安裝c, c++編譯器 on AIXC++編譯AI
- C編譯: 動態連線庫 (.so檔案)編譯
- 編譯lua動態庫編譯
- 【AIX】AIX7.1 C編譯環境部署指導說明AI編譯
- 在Linux上使用vscode編譯除錯C/C++程式碼LinuxVSCode編譯除錯C++
- 關於MNN工程框架編譯出來的靜態庫和動態庫的使用框架編譯
- 在AndroidStudio下使用cmake編譯出靜態連結庫的方法Android編譯
- 將編譯過的C++庫迅速部署在Visual Studio新專案中編譯C++
- mingw下編譯zlib quazip動態庫編譯
- 編譯靜態庫的方式使用spdlog和fmt編譯
- PG技術大講堂 - Part 3:PostgreSQL建庫與使用SQL
- AndroidStudio使用NDK編譯C/C++程式碼使用原生庫Android編譯C++
- 編譯 pyav 成 wheel 並使用 auditwheel 固化動態連結庫編譯
- C語言編譯器手機版C語言編譯
- 在windows上配置vs code編譯除錯c/c++Windows編譯除錯C++
- Android:JNI與NDK(二)交叉編譯與動態庫,靜態庫Android編譯
- 在C,C++,java和python執行時直譯器和編譯器的區別C++JavaPython編譯
- 表格樹控制元件QtTreePropertyBrowser編譯成動態庫(設計師外掛)控制元件QT編譯
- C++編譯器認為的指標型別(靜態聯編)C++編譯指標型別
- 程式碼線上編譯器(上)- 編輯及編譯編譯
- [網路名詞]域名伺服器伺服器
- 大學計算機必修課新講--編譯原理+作業系統+圖形學計算機編譯原理作業系統
- GmSSL3.X編譯iOS和Android動態庫編譯iOSAndroid
- 有關Linux的可執行程式——動態編譯、靜態編譯、readelfLinux行程編譯
- [譯]在CUDA C/C++中使用共享儲存器C++
- protobuf 的交叉編譯使用(C++)編譯C++
- [網路名詞]匿名FTP伺服器FTP伺服器
- 在CentOS 7上編譯QtumCentOS編譯QT
- Visual Studio 2022 靜態庫編譯編譯
- 使用虛擬機器在CentOS上安裝部署資料庫使用虛擬機CentOS資料庫
- 深入理解Java的動態編譯Java編譯
- FFmpeg編譯Android使用的so庫編譯Android
- Android NDK祕籍--編譯靜態庫、呼叫靜態庫Android編譯
- 從fdk_aac編碼器到自動靜態編譯FFmpeg編譯
- 「譯」有限狀態機在 CSS 動畫中的應用CSS動畫
- PostgreSQL技術大講堂 - 第32講:資料庫引數調整SQL資料庫
- C++編譯器優化C++編譯優化
- Zookeeper C客戶端庫編譯客戶端編譯
- Java動態編譯優化——提升編譯速度(N倍)Java編譯優化