?? lib+-+
字號:
問:在軟件介紹上說可以擴展LIB庫,但是我下載了一個LIB庫但是不知道如何去用
下面以WIN-TC和BC31為例進行說明
(一)WIN-TC編譯器
答:首先要確定你的LIB庫是FOR TC版本的而不是FOR VC或是其它的。如果確定的話就這樣使用:
把你的首標文件(或稱頭文件),就是擴展名為*.h的文件拷貝到WIN-TC的include目錄里,然后把相應名稱的*.lib文件拷貝到lib目錄,然后再運行WIN-TC時選擇“編譯配置”菜單項,你會看到擴展庫信息欄目里有你的LIB庫文件名在上面了,但是沒有打鉤。然后你把它鉤選后再“確定”保存,以后的編譯程序時就自動鏈接該擴展庫了。
我再詳細地寫一個在WIN-TC下建立一個最簡單的mylib.lib的示例,該lib只含一個函數myfun():
STEP 1——生成目標代碼(OBJ)
建立mylib的代碼文件
/********************* mylib.c *********************/
void myfun()
{
printf("\nmyfun() in mylib.lib\n");
}
然后保存為WIN-TC目錄下的mylib.c文件
然后到菜單項:運行->編譯設置 看看“產生 OBJ 文件”是否已選擇,若未選擇則選擇之。
然后回到主界面,點“編譯鏈接”按鈕(F9)
STEP 2——建立LIB庫(LIB)
將WIN-TC目錄下生成的mylib.obj文件拷貝至WIN-TC的BIN目錄,然后在該目錄下用記事本建立一批處理文件makelib.bat,內容如下:
Tlib mylib.lib +mylib.obj
然后雙擊運行,則在BIN目錄下生成了mylib.lib庫文件。
或者在DOS下進入BIN目錄鍵入Tlib mylib.lib +mylib.obj回車也可以的。
至此,你會覺得勝利開始向你招手了,不過你必須按部就班完成剩下的任務才能達到使用自建LIB庫的最終目標。
STEP 3——建立首標文件(*.h)并使用LIB庫
將BIN目錄下的mylib.lib拷貝至WIN-TC的lib目錄。
然后打開WIN-TC的菜單:運行->編譯配置
你會看到“擴展庫信息”列表里面有你生成的mylib.lib了,不過沒有打鉤,將它單擊鉤選,以后編譯時就可以自動鏈接該庫了。
剩下的時就是建立首標文件了,用WIN-TC新建一文件,里面只需要寫一句話:
void myfun();
如果擔心反復引用的話,可以加上#ifndef #define #endif的結構,例如將以上結構用__MYLIB1來避免反復引用寫為:
#ifndef __MYLIB
#define __MYLIB
void myfun();
#endif
然后“保存”,在彈出的保存對話框里面的保存類型里選擇最下面的頭文件(*.h),保存位置為WIN-TC的INCLUDE目錄,文件名要與建立的庫一致既為mylib。如果順利的話,在INCLUDE目錄下將可以看到一個mylib.h文件。
至此,你已經按照步驟建立了LIB庫并完成了WIN-TC的相關設置,接下來將檢驗自己的勞動成果了。
STEP 4——測試自己的LIB庫
新建測試文件如下:
#include "mylib.h" /*包含自定義庫的頭文件*/
main()
{myfun();
getch();
}
接著用Ctrl+F9編譯運行之,如果成功的話,你將會看到下面的屏幕輸出:
myfun() in mylib.lib
然后你就可以大聲的向世界宣布:我可以建立和使用自己的LIB庫啦,我可以保護自己的代碼版權啦!
需要注意一下:由于DOS路徑長度的限制,同時使用(鉤選)的根據路徑長短最多可以同時支持10個!
(二)BC31編譯器
只有STEP3 和STEP4不一樣。
建立一個PRJ文件
把你寫的C文件以及要連接的LIB或OBJ直接裝入PRJ就可以了。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -