(五)C 編寫動態庫,以及如何呼叫

2021-07-25 16:26:47 字數 1321 閱讀 7515

關於建立動態鏈結庫檔案,並在程式執行過程中連線呼叫,我是這麼理解的;

這篇文章基本是屬於入門文件。。。

首先要生成乙個dll檔案和lib檔案,才能夠供給其他程式動態呼叫或者靜態呼叫。這篇日誌是關於動態呼叫的;

接下來是總結的一些具體步驟:

1.新建專案,win32,win32專案,輸入專案名稱,例如:makedll。

2.確定,下一步:

3.選單欄選擇專案——新增新項,來建立標頭檔案makedll.h。

在makedll.h中輸入以下例子**:

#define dll_api __declspec(dllexport)  

#include

using namespace std;

dll_api int add(int a, int b);

class dll_api point

;

4.建立makedll.cpp來實現makedll.h中的函式和類;

在makedll.cpp中需要包含makedll.h標頭檔案

步驟:右擊專案——屬性——配置屬性——vc++目錄——可執行檔案目錄,在專案中找到makedll.h所在目錄,包含以下就可以了

在makedll.cpp中的**如下:

#include

dll_api int add(int a, int b)

point::point()

void point::setpoint(float x, float y)

void point::display()

5.選單欄——生成——生成解決方案。

此時在makedll專案所在目錄下的debug目錄下的檔案有makedll.dll和makedll.lib了。生成動態鏈結庫檔案ok。接下來是動態呼叫;

7.將第乙個專案中生成的makedll.dll和makedll.lib複製到 usedll\usedll目錄下。

8.為了方便,將專案makedll中的makedll.h標頭檔案也複製到本專案中,最好複製到usedll\usedll目錄中,然後同樣的,右擊專案——屬性,如同第4步一樣把makedll.h所在目錄包含一下。

9.在專案中新建乙個usedll.cpp,**如下:

#include

#define dll_api __declspec(dllimport)

#pragma comment(lib,"makedll.lib")

int main()

ok,執行成功。

php呼叫c語言編寫的so動態庫

php除了使用擴充套件庫的方式呼叫c函式,還可以通過socket通訊的方式。這裡介紹前者。1.先看本機是否已經安裝了較低版本的php find usr name php 或者rpm aq grep php 如果存在,就使用rpm命令等方式卸掉 2.php原始碼安裝,configure的引數如下 co...

php呼叫c語言編寫的so動態庫

php除了使用擴充套件庫的方式呼叫c函式,還可以通過socket通訊的方式。這裡介紹前者。1.先看本機是否已經安裝了較低版本的php find usr name php 或者rpm aq grep php 如果存在,就使用rpm命令等方式卸掉 2.php原始碼安裝,configure的引數如下 co...

CUDA動態庫封裝以及呼叫

參考 通過將cuda相關計算操作放在庫中,方便在專案中呼叫,省去了每次編譯cu檔案的麻煩,也便於整合到其他平台上。一 封裝cuda動態庫 主要步驟 修改自定義方式 設定cu檔案項型別為cdua cc 新增依賴庫cudart.lib.1 建立乙個動態庫,這裡建的庫是x86的,也可以更改為x64.2 新...