【新炬網路名師大講堂】在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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【新炬網路名師大講堂】AIX上的配置網路調優引數AI
- 【新炬網路名師大講堂】svn在linux下的使用Linux
- 【新炬網路名師大講堂】SOA套件介紹套件
- 【新炬網路名師大講堂】weblogic整合ejbWeb
- 【新炬網路名師大講堂】12c新特性:使用RMAN連線CDB
- 【新炬網路名師大講堂】總結和結論
- 【新炬網路名師大講堂】Oracle Database 12c 新特性總結OracleDatabase
- 【新炬網路名師大講堂】clone oracle 12c pluggable databasesOracleDatabase
- 【新炬網路名師大講堂】Data Guard–物理主備庫切換
- 【新炬網路名師大講堂】12c新特性:備份CDBs和PDBs
- 【新炬網路名師大講堂】關於LOG FILE SYNC的解惑
- 【新炬網路名師大講堂】TUXEDO的配置最佳化之路一UX
- 【新炬網路名師大講堂】TUXEDO的配置最佳化之路二UX
- 【新炬網路名師大講堂】初識mysql的體系結構MySql
- 【新炬網路名師大講堂】Oracle中的回收站(Recycle Bin)Oracle
- 【新炬網路名師大講堂】關於IMSI/MSISDN/IMEI的介紹
- 【新炬網路名師大講堂】關於Oracle 12c Flex ASM特性的理解OracleFlexASM
- 【新炬網路名師大講堂】不同資料庫取前幾條記錄資料庫
- 【新炬網路名師大講堂】cursor: pin S wait on X模擬AI
- 【新炬網路名師大講堂】GoldenGate的ADD SCHEMATRANDATA命令研究Go
- 【新炬網路名師大講堂】CBO中”與NULL在cardinality計算上的差別Null
- 【新炬網路名師大講堂】Oracle 11g rac 刪除節點Oracle
- 【新炬網路名師大講堂】j2ee與weblogic簡介Web
- 【新炬網路名師大講堂】oracle application server之核心技術opmnOracleAPPServer
- 【新炬網路名師大講堂】12c高可用新特性what-if command evaluation介紹
- 【新炬網路名師大講堂】RAC環境下SYSDATE返回錯誤時間
- 【新炬網路名師大講堂】Oracle小知識- Oracle KILLED會話的釋放Oracle會話
- 【新炬網路名師大講堂】MySQL複製與監控系列文章(1)——篇首MySql
- 【新炬網路名師大講堂】WAS控制檯資料來源資訊無故丟失
- 【新炬網路名師大講堂】有限條件下怎樣做好恢復演練
- 【新炬網路名師大講堂】把“庫”字脫掉,從資料庫管理員到資料架構師資料庫架構
- 【新炬網路名師大講堂】理解TimesTen錯誤日誌資訊”waiting for latch”AI
- 【新炬網路名師大講堂】DATABASE REPLAY加壓播放引數之SCALE_UP_MULTIPLIERDatabase
- 【新炬網路名師大講堂】記一次打PSU遇到的Copy failed的問題AI
- 【新炬網路名師大講堂】11gR203 RAC一個比較嚴重的bug
- 【新炬網路名師大講堂】O2O同步實施涉及的變更V1.0
- 【新炬網路名師大講堂】TimesTen記憶體碎片(高水位)回收步驟詳解記憶體
- 【新炬網路名師大講堂】軟體測試中常見問題與解決辦法