C 和C混合程式設計 C語言函式封裝成dll

2021-10-07 06:28:35 字數 1163 閱讀 4754

這次大作業小組利用c語言寫**,最後使用winform設計gui,自然要在c#中呼叫c,該篇記錄如何把c封裝為dll。

大作業模擬溫度感測器,c語言**為兩部分,一部分為sensor服務端serve,可以生成隨機溫度來模擬溫度感測器,另一部分為workstation客戶端client,可以使用其傳送指令start來喚醒sensor,或者read來獲取當前溫度,二者採用tcp/ip協議通訊。最後要把客戶端做成gui介面。

拿到組員給的**,首先第一步將其函式化。把**分成三個函式模組以後,準備開始製作dll。

使用visual studio community 2019

1、建立新專案->windows桌面嚮導->建立->型別選擇「動態鏈結庫(.dll)」勾選空專案->確定

2、在原始檔右鍵->新增->.cpp,輸入名稱funhhh後點完成

在標頭檔案右鍵->新增->.h,輸入名稱funhhh後完成

3、原始檔下cpp檔案寫**

#include

"funhhh.h"

//必須include標頭檔案下的.**件

#include

"stdio.h"

//等標頭檔案

intconnectt

(const

char

* ipp)

char

*communication

(char

* str)

void

stopp()

4、標頭檔案**件下刪除所有內容再宣告cpp內函式

extern

"c"__declspec

(dllexport)

intconnectt

(const

char

* ipp)

;extern

"c"__declspec

(dllexport)

char

*communication

(char

* str)

;extern

"c"__declspec

(dllexport)

void

stopp()

;

5、專案名右鍵->重新生成 之後可在debug目錄下找到dll檔案

C 和C 混合程式設計

由於歷史原因,很多時候我們的 並不完全是使用.net寫成的。這時候和以往c 的混合程式設計就顯得相當重要了。最近碰到了這樣的問題,將方法簡要記述如下。要在c 中呼叫c 函式,大體的思路是這樣的 首先將c 函式寫成dll形式的庫,然後在c 中匯入dll中的函式進行呼叫。具體的 類似這樣 c 1int ...

C 和C 混合程式設計

由於歷史原因,很多時候我們的 並不完全是使用.net寫成的。這時候和以往c 的混合程式設計就顯得相當重要了。最近碰到了這樣的問題,將方法簡要記述如下。要在c 中呼叫c 函式,大體的思路是這樣的 首先將c 函式寫成dll形式的庫,然後在c 中匯入dll中的函式進行呼叫。具體的 類似這樣 c 1 int...

C和C 混合程式設計

1 pragma once 關於 pragma once vc 及g 都支援,大膽的用吧。匯出型別必須一致.要麼是c的,要麼是c 2.cplusplus 這個是必須的 ifdef cplusplus extern c endif c 中呼叫c的 1 對於 c 中非類的成員函式,可以簡單的在函式宣告前...