1. 程式人生 > >c++ 之自己寫庫函式 (靜態庫)

c++ 之自己寫庫函式 (靜態庫)

c++ 庫函式,分為靜態庫,靜態庫的好處就是沒有太多約束,靜態庫寫的類,可以被整合。缺點是,程式碼是直接編譯到目標檔案裡面,所以程式碼量會增加

庫函式分為 Win32 Application和Win32 Console Application 和MFC  庫。

Win32 Application和Win32 Console Application 都是工作在32位Windows環境的程式。

         Win32 Console Application(win32控制檯應用程式)往往是像MS-DOS視窗(XP中叫命令提示符)的樣子出現,我們得用鍵盤輸入各種命令來使用它,它與純dos程式區別是:它是32位的;或者叫

CUI(Character User Interface字元使用者介面)。console程式以main()為入口,可以訪問部分windows API函式,比如建立視窗、對話方塊等等。

     Win32 Application 是標準 windows程式,完全擁有windows的特性,也即我們常說的視窗應用程式。Win32 Application的入口函式為WinMain。

MFC 庫,會附帶一些節目的介面函式 MFC 需要的DLL 檔案。別人用起來不方便。

所以大多數情況下,建議寫 Win32 Console Application  庫。

步驟方法:




然後往工程新增一個資原始檔。

#pragma once
class MTcpSock_lib
{
public:
int  test();
MTcpSock_lib(void);
~MTcpSock_lib(void);
};


/*****************************************end of MTcpSocklib.h ****************************/

#include "StdAfx.h"
#include "MTcpSocklib.h"

MTcpSock_lib::MTcpSock_lib(void)
{
}




MTcpSock_lib::~MTcpSock_lib(void)
{
}
int MTcpSock_lib:: test()
{


return 100;
 }

/*****************************************end of MTcpSock_lib.cpp ****************************/


然後編譯 在 DEUBG 裡面生成我們所需要的庫TcpSock.lib

庫的運用:庫其實就是可以免去 .cpp檔案,其他的標頭檔案都要拷貝

將生成的庫TcpSock.lib新增到另外工程裡面,和#include "MTcpSock_lib.h" 也要新增到我們所需要的工程裡面