我們都知道,C++程序從編碼到生成可執行文件整個過程中 經歷了 預編譯 - 編譯 - 鏈接 -生成可執行文件,其中在鏈接過程中用到 *.lib 文件,這次我們以鏈表類為例子,就製作一個我們自己的lib文件,並將製作的文件用到我們的程序當中。下面就是我生成的 My_lib.lib 文件 。
工具/原料
VC++6.0
方法/步驟
新建工程,注意新建的是 “靜態的庫工程” 如截圖所示,這個地方一定注意。
建好工程之後向工程中添加 頭文件 MyList.h,源文件MyList.cpp, 如圖所示。
其中頭文件中的代碼如下:
#ifndef __MYLIST_H__#define __MYLIST_H__struct Node { int data ; Node * next ; Node():data(0),next(0){} Node(int _d):data(_d),next(0){} Node(Node&node):data(node.data),next(node.next){} operator=(Node& node){ data = node.data ; next = node.next ; }};class MyList{private : Node * head ; int size ;public : MyList() ; MyList(int ds[] ,int n) ; ~MyList() ; void Insert(int index,Node& node) ; void Add(Node& node) ; void Remove(int index) ; void RemoveAll() ; bool Empty() const; int Size() const; Node Get(int index) const;};#endif
源文件的代碼如下所示:
#include "MyList.h"MyList::MyList(){ this->head = new Node(0) ; this->size = 0 ;}MyList::MyList(int ds[] ,int n){ this->head = new Node(0) ; this->size = 0 ; Node * p = 0; Node * q = head; int i = 0 ; for(;i
下面就是編譯生成 庫文件 My_lib.lib,這裡注意不要點擊執行,因為是沒法執行的,很好理解,生成的是鏈接文件,不是直接可執行的文件。
以上步驟就生成了我們需要的文件 My_lib.lib ,但是怎麼使用My_lib.lib這個文件呢?
下面我們就介紹一下使用方法。
新建控制檯工程,作為測試工程。如圖所示,然後講剛才的頭文件Mylist.h 導入,導入方法如下圖,然後新建測試源文件 Main.cpp ,寫入如下代碼。
此時還不能執行程序,因為我們的My_lib.lib還沒有導入,導入方法很簡單,我們先拷貝一份My_lib.lib到 lib 目錄下面,注意 lib目錄是我們自己建立的。
然後按照圖中所示 配置 additional library 在 link標籤頁做相應的設置。
Main.cpp的代碼如下
#include
最後我們編譯執行代碼,看看是否能完成鏈表的功能。
注意事項
注意建立的工程類型。
先編譯後執行