IBM_UNIX下C語言庫(kù)的運(yùn)用(動(dòng)態(tài)庫(kù)靜態(tài)庫(kù)).docx

IBM_UNIX下C語言庫(kù)的運(yùn)用(動(dòng)態(tài)庫(kù)靜態(tài)庫(kù)).docx

ID:59254880

大?。?3.44 KB

頁數(shù):6頁

時(shí)間:2020-09-08

IBM_UNIX下C語言庫(kù)的運(yùn)用(動(dòng)態(tài)庫(kù)靜態(tài)庫(kù)).docx_第1頁
IBM_UNIX下C語言庫(kù)的運(yùn)用(動(dòng)態(tài)庫(kù)靜態(tài)庫(kù)).docx_第2頁
IBM_UNIX下C語言庫(kù)的運(yùn)用(動(dòng)態(tài)庫(kù)靜態(tài)庫(kù)).docx_第3頁
IBM_UNIX下C語言庫(kù)的運(yùn)用(動(dòng)態(tài)庫(kù)靜態(tài)庫(kù)).docx_第4頁
IBM_UNIX下C語言庫(kù)的運(yùn)用(動(dòng)態(tài)庫(kù)靜態(tài)庫(kù)).docx_第5頁
資源描述:

《IBM_UNIX下C語言庫(kù)的運(yùn)用(動(dòng)態(tài)庫(kù)靜態(tài)庫(kù)).docx》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、IBMUNIX下C語言庫(kù)的運(yùn)用注:各個(gè)具體的UNIX(LINUX)環(huán)境下對(duì)動(dòng)態(tài)庫(kù)、靜態(tài)庫(kù)的使用有部分不同,這一個(gè)文檔只是針對(duì)IBM平臺(tái)的AIX環(huán)境下的庫(kù)的使用。1.靜態(tài)庫(kù)1.1.直接用程序?qū)崿F(xiàn)1.1.1.編輯源代碼[billing_yn@lpar3:/ngboss/billing_yn/user/pdy]$cathelloworld.c#includeintmain(){printf("Helloworld.");return0;}1.1.2.編譯cc-ohelloworldhelloworld.c注:cc是編譯器,如:xlc、xlC、gcc、g++等,不同

2、的UNIX平臺(tái),可能有不同的編譯器。-o是編譯器的參數(shù),編譯可以有很多參數(shù),這里-o是指生成的目標(biāo)文件是什么。Helloworld是可執(zhí)行程序名,是跟在-o之后的。1.1.3.執(zhí)行[billing_yn@lpar3:/ngboss/billing_yn/user/pdy]$helloworldHelloworld.1.1.用靜態(tài)庫(kù)實(shí)現(xiàn)1.1.1.編輯源代碼1.1.1.1.主程序#include#include"hw.h"intmain(){printf("main:Helloworld.");hw();return0;}1.1.1.2.靜態(tài)庫(kù)程序頭文件[bi

3、lling_yn@lpar3:/ngboss/billing_yn/user/pdy]$cathw.h#ifndefHW_H#defineHW_Hinthw();#endif注:頭文件不是必須的,但是為了共享方便,最好是用頭文件,如果一個(gè)靜態(tài)庫(kù)中有多個(gè)函數(shù),用頭文件會(huì)比較方便,如果不用頭文件,則容易出錯(cuò),不好實(shí)際操作。程序[billing_yn@lpar3:/ngboss/billing_yn/user/pdy]$cathw.c#include#include"hw.h"inthw(){printf("hw():Helloworld.");return0;}

4、1.1.1.編譯cc-chw.c--生成hw.o注:--cc是編譯器---c是cc的參數(shù),表示是進(jìn)行程序編譯工作,自動(dòng)生成hw.o文件;也可以通過-o參數(shù)生成一個(gè)指定的目標(biāo)文件。[billing_yn@lpar3:/ngboss/billing_yn/user/pdy]$ar-v-rlibhw.ahw.o注:ar是靜態(tài)庫(kù)的維護(hù)命令,-v–r是參數(shù),分別是校驗(yàn)和替換,詳情請(qǐng)參考系統(tǒng)的man的說明。在上述命令中,指出生成libhw.a靜態(tài)庫(kù),也可以指定其它名,但是必須是lib為前綴,“.o”為后綴。--ar:Creatinganarchivefilelibhw.a.--a-hw.oc

5、c-ohelloworldhelloworld.c-lhw-L./注:CC、-o不再解釋;-l是CC的參數(shù),指明生成可執(zhí)行文件時(shí),要連接的靜態(tài)庫(kù)的名稱沒有前綴、后綴。在這里是libhw.a-L是CC的參數(shù),指明靜態(tài)連接庫(kù)的搜索路徑,在本例“./”是指在當(dāng)前路徑搜索。1.1.2.執(zhí)行[billing_yn@lpar3:/ngboss/billing_yn/user/pdy]$helloworldmain:Helloworld.hw():Helloworld.注:生成可執(zhí)行文件后,可以直接運(yùn)行,現(xiàn)在生成libhw.a文件,也不影響程序的執(zhí)行。1.動(dòng)態(tài)庫(kù)1.2.2.1.直接實(shí)現(xiàn)1.1.

6、1.1.1.1.編輯源代碼[billing_yn@lpar3:/ngboss/billing_yn/user/pdy]$cathelloworld.c#includeintmain(){printf("Helloworld.");return0;}1.1.2.編譯cc-ohelloworldhelloworld.c1.1.3.運(yùn)行[billing_yn@lpar3:/ngboss/billing_yn/user/pdy]$helloworldHelloworld.2.2.用動(dòng)態(tài)庫(kù)實(shí)現(xiàn)1.2.1.2.1.編輯源代碼1)頭文件[billing_yn@lpar3:

7、/ngboss/billing_yn/user/pdy]$cathw.h#ifndefHW_H#defineHW_hinthw();#endif2)動(dòng)態(tài)庫(kù)源代碼文件[billing_yn@lpar3:/ngboss/billing_yn/user/pdy]$cathw.c#include"hw.h"#includeinthw(){printf("HW():Helloworld.");return0;}3)主程序源代碼文件[billing_yn@lpar3:/

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。