日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

如何将c语言编译成动态链接库,将C语言源代码编译成动态链接库

發(fā)布時(shí)間:2023/12/9 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何将c语言编译成动态链接库,将C语言源代码编译成动态链接库 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

下面我們舉一個(gè)例子,用C語(yǔ)言寫一個(gè)簡(jiǎn)單的函數(shù),并在控制臺(tái)(命令行)中將它編譯為DLL。

一、源代碼

我們創(chuàng)建一個(gè)C語(yǔ)言源程序:Test.c

關(guān)鍵:__declspec(dllexport) 申明將這個(gè)方法導(dǎo)出到DLL中。

源代碼:

[cpp]? view plain copy print ?

#include?"stdio.h"

__declspec(dllexport)intsum(inta,intb)

{

returna?+?b;

}

二、編譯

我們分別采用Visual Studio自帶的cl、link,和MinGW(gcc)進(jìn)行編譯。

2.1 用Visual Studio自帶的cl、link進(jìn)行編譯

假設(shè)我們?cè)赪indows上安裝了Visual Studio 2010,其安裝目錄為:C:\Program Files\Microsoft Visual Studio 10.0

那么cl、link所在的目錄為:C:\Program Files\Microsoft Visual Studio 10.0\VC\bin

我們可以在Visual Studio Command Prompt (2010)中執(zhí)行這樣的命令來(lái)把源代碼編譯成動(dòng)態(tài)鏈接庫(kù):

[plain]? view plain copy print ?

cl?/c?Test.c

link?/dll?Test.obj

無(wú)圖無(wú)真相,我們截圖如下:

2.2 用MinGW(gcc)進(jìn)行編譯

MinGW是gcc在Windows平臺(tái)上的一個(gè)porting。可以訪問(wèn) mingw.org 來(lái)獲得它。

安裝MinGW之后,就可以在Windows平臺(tái)上使用gcc了。用gcc將上述Test.c編譯成Test.dll的命令是:

[plain]? view plain copy print ?

gcc?-shared?-o?Test.dll?Test.c

無(wú)圖無(wú)真相,我們截圖如下:

注:使用MinGW的時(shí)候,如果遇到了“l(fā)ibgmp-10.dll is missing...”這樣的錯(cuò)誤,可以參考我前面寫的一篇小文來(lái)解決:

解決MinGW運(yùn)行時(shí)的libgmp-10.dll丟失錯(cuò)誤(libgmp-10.dll is missing from your computer)

轉(zhuǎn)自:http://blog.csdn.net/xinyaping/article/details/7284899

總結(jié)

以上是生活随笔為你收集整理的如何将c语言编译成动态链接库,将C语言源代码编译成动态链接库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。