分類: 電腦/網(wǎng)絡(luò) 程序設(shè)計(jì) 其他編程語言
成都創(chuàng)新互聯(lián)公司公司2013年成立,先為寧夏等服務(wù)建站,寧夏等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為寧夏企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
問題描述:
我寫了個(gè)函數(shù),想弄成庫(kù),怎么弄?。?/p>
我只是把它定義到頭文件中了,可是不行??!
編譯的時(shí)候編譯器說是打不開這個(gè)頭文件!
怎么辦啊手斗?
解析:
可以,只要實(shí)現(xiàn)文件也加到工程里面就可以了.
注意,工程要包含你的頭文件和實(shí)現(xiàn)文件,這樣你自己的函數(shù)庫(kù)就可以畢彎磨在任何需要的工程中鬧歷使用了.
可以,只要的程序調(diào)用的時(shí)候能找到函數(shù)的定義就可以了.所謂定義就是函數(shù)的具體實(shí)現(xiàn)程序.
簡(jiǎn)單的一個(gè)例子,但是基本的程序編譯的嘩陵思想都在里面了,具體的需要你自己體會(huì)和查資料
跟著下面的步驟走
------------------------
第一步:我的電腦-屬性-高級(jí)-環(huán)境變量
添加3個(gè)變量
1.名字:path 值:vc的安裝目錄里面包含cl.exe的bin目錄路徑+";"+vc目錄下包含mspdb80.dll的目錄的路徑
比如我的是D:\Program Files\Microsoft Visual Studio 8\VC\bin;D:\Program Files\Microsoft Visual Studio 8\Common7\IDE;
2.名字:include 值:vc安裝目錄下的include目錄,主要是為了找到頭文件,我的是D:\Program Files\Microsoft Visual Studio 8\VC\include;D:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include;
3.名字:lib 值:vc目錄下包含庫(kù)文件的目錄路徑
我的是D:\Program Files\Microsoft Visual Studio 8\VC\lib;D:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Lib;
第二步:需要下面兩個(gè)文件
//-------------libdemo.c
#include 梁散stdio.h
void lib_func()
{
printf("this routine in lib\n");
}
//------------main.c
void lib_func();
int main(int argc, char *argv[])
{
lib_func();
}
第三步:命令
cl /c libdemo.c '編譯libdemo.c 生成libdemo.obj
lib libdemo.obj '生成libdemo.lib 庫(kù)文件
cl /c main.c '編譯main.c
link main.obj libdemo.lib '生成main.exe
---------------------------------------------------
呵呵 加點(diǎn)東西,參亂渣戚看4樓的建議,在做個(gè)dll,COM組件就不做了,有點(diǎn)復(fù)雜了
1。把libdemo.c 稍微改下
//-------------libdemo.c
#include stdio.h
__declspec (dllexport) void lib_func()
{
printf("this routine in lib\n");
}
2。命令
cl /c libdemo.c main.c
link libdemo.obj /dll '生成libdemo.lib
link main.obj libdemo.lib
有一些代碼,我們編程時(shí)經(jīng)常用到,或者我們對(duì)某些部分很熟悉,讓簡(jiǎn)余漏并寫出了一些可用的接口。這時(shí),我們會(huì)考慮把這些c文件做成一個(gè)lib庫(kù),以方便自己使用,或這給別人調(diào)用。
我這里介紹下在vc++6.0下如何來制作靜態(tài)庫(kù):
第一步:創(chuàng)建一個(gè)工程,選擇Win32Static Library,輸入工程名。這時(shí)就創(chuàng)建好了。
第二步:工程創(chuàng)建好了,再點(diǎn)擊新建,這時(shí)選擇文件,選擇c++ source file選項(xiàng),創(chuàng)建一個(gè).c
文件。
在這個(gè)文件中,你可以寫入你要做成庫(kù)的c函數(shù)。當(dāng)然,可以繼續(xù)創(chuàng)建其他c文件,然后將要供外部使用的接口單獨(dú)放到頭文件中,一般而言,一個(gè)c文件對(duì)應(yīng)一個(gè)頭文件。
第三步:完成以上步驟后,我們就可以生成庫(kù)了。事實(shí)上,我們點(diǎn)擊編譯即可,這時(shí)就可以生成.lib文件了。
一般情況下,是坦毀褲可以正常生成lib文件的。有頭文件和lib文件就可以給別人用了。然后我們可以寫一個(gè)測(cè)試函數(shù)來試試可不可以使用。
要調(diào)用生成的lib中的函數(shù),就要引入頭函數(shù)。這時(shí),你把lib和頭文件放入當(dāng)前工程中,但build的時(shí)候卻顯示了連接錯(cuò)誤。那是因?yàn)槟銢]有把lib文件包含進(jìn)來。加入下面這句話即可了:
#pragma comment(lib, "mylib.lib ")
Ok,自己的lib庫(kù)就這樣做成了。以后可以隨便調(diào)用了。
一、lib庫(kù)的創(chuàng)建;
建議使用VC來制作比較方便,以VC2005為例:
新建》項(xiàng)目》Win32控制臺(tái)應(yīng)用程序》靜態(tài)庫(kù)》完成。
然后在里面編寫一個(gè)函數(shù),編譯一下庫(kù)就作好了。
把對(duì)外使用的函數(shù)新建一個(gè)頭文件聲明;
二、lib庫(kù)頃粗的使用
新建一個(gè)程此乎并序,然后引用上面的頭文件,就可以使用庫(kù)里的函數(shù)。然后森跡把lib庫(kù)在工程配置里面加入:屬性》鏈接器》輸入》附加依賴項(xiàng)》填入你的lib庫(kù),可以加路徑。然后編譯應(yīng)該就可以了。
祝 你 好 運(yùn)!
本文名稱:c語言生成函數(shù)庫(kù) c語言程序設(shè)計(jì)庫(kù)函數(shù)
轉(zhuǎn)載注明:http://jinyejixie.com/article30/ddpecpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、ChatGPT、網(wǎng)站策劃、網(wǎng)站排名、面包屑導(dǎo)航、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
網(wǎng)頁(yè)設(shè)計(jì)公司知識(shí)