卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

如何使用C調(diào)用C的DLL庫(kù)

在使用C進(jìn)行開發(fā)時(shí),有時(shí)候需要使用C語(yǔ)言開發(fā)的DLL庫(kù)來(lái)實(shí)現(xiàn)某些功能。那么,我們?cè)撊绾问褂肅來(lái)調(diào)用C語(yǔ)言的DLL庫(kù)呢?創(chuàng)建C語(yǔ)言的WIN32項(xiàng)目首先,我們需要?jiǎng)?chuàng)建一個(gè)C語(yǔ)言的WIN32項(xiàng)目,并選擇項(xiàng)目

在使用C進(jìn)行開發(fā)時(shí),有時(shí)候需要使用C語(yǔ)言開發(fā)的DLL庫(kù)來(lái)實(shí)現(xiàn)某些功能。那么,我們?cè)撊绾问褂肅來(lái)調(diào)用C語(yǔ)言的DLL庫(kù)呢?

創(chuàng)建C語(yǔ)言的WIN32項(xiàng)目

首先,我們需要?jiǎng)?chuàng)建一個(gè)C語(yǔ)言的WIN32項(xiàng)目,并選擇項(xiàng)目類型為DLL庫(kù)。在新建的項(xiàng)目中,我們需要添加testC.h和testC.cpp兩個(gè)文件。

```c

extern "C" __declspec(dllexport) int delx(int a, int b);

extern "C" __declspec(dllexport) int add(int a, int b);

include "testC.h"

int delx(int a, int b){

return a - b;

}

int add(int a, int b){

return a b;

}

```

然后編譯生成DLL,要注意設(shè)置DLL文件的輸出目錄,在屬性中可以找到輸出目錄選項(xiàng)。編譯完成后,可以在指定的文件夾中找到testC.dll文件。

創(chuàng)建C的控制臺(tái)程序

接下來(lái),我們創(chuàng)建一個(gè)C的控制臺(tái)程序。在生成的Program.cs文件中,添加如下代碼。其中DllImport用于引入C的DLL,CallingConvention定義了調(diào)用程序的約定,add和delx是C中函數(shù)的名稱,注意名稱一定要保持一致。

```csharp

using System;

namespace testCDll{

class Program {

static void Main(string[] args) {

Console.WriteLine((5, 3));

Console.WriteLine((3, 5));

();

}

}

public class testCDLL {

[DllImport("testC.DLL", CallingConvention )]

public static extern int add(int a, int b);

[DllImport("testC.DLL", CallingConvention )]

public static extern int delx(int a, int b);

}

}

```

然后編譯生成,將C的DLL文件拷貝到C程序的可執(zhí)行目錄下,程序就可以正常運(yùn)行了?;蛘撸瑢蓚€(gè)程序的生成目錄設(shè)置為同一目錄,程序也可以正常運(yùn)行。

現(xiàn)在,我們已經(jīng)成功完成了C對(duì)C的DLL的調(diào)用。如果您還有任何問(wèn)題,請(qǐng)隨時(shí)給我留言。

標(biāo)簽: