如何将c语言编译成动态链接库,将C语言源代码编译成动态链接库
下面我們舉一個例子,用C語言寫一個簡單的函數,并在控制臺(命令行)中將它編譯為DLL。
一、源代碼
我們創建一個C語言源程序:Test.c
關鍵:__declspec(dllexport) 申明將這個方法導出到DLL中。
源代碼:
[cpp]? view plain copy print ?
#include?"stdio.h"
__declspec(dllexport)intsum(inta,intb)
{
returna?+?b;
}
二、編譯
我們分別采用Visual Studio自帶的cl、link,和MinGW(gcc)進行編譯。
2.1 用Visual Studio自帶的cl、link進行編譯
假設我們在Windows上安裝了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)中執行這樣的命令來把源代碼編譯成動態鏈接庫:
[plain]? view plain copy print ?
cl?/c?Test.c
link?/dll?Test.obj
無圖無真相,我們截圖如下:
2.2 用MinGW(gcc)進行編譯
MinGW是gcc在Windows平臺上的一個porting。可以訪問 mingw.org 來獲得它。
安裝MinGW之后,就可以在Windows平臺上使用gcc了。用gcc將上述Test.c編譯成Test.dll的命令是:
[plain]? view plain copy print ?
gcc?-shared?-o?Test.dll?Test.c
無圖無真相,我們截圖如下:
注:使用MinGW的時候,如果遇到了“libgmp-10.dll is missing...”這樣的錯誤,可以參考我前面寫的一篇小文來解決:
解決MinGW運行時的libgmp-10.dll丟失錯誤(libgmp-10.dll is missing from your computer)
轉自:http://blog.csdn.net/xinyaping/article/details/7284899
總結
以上是生活随笔為你收集整理的如何将c语言编译成动态链接库,将C语言源代码编译成动态链接库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何自动执行Excel的多次替换--Ex
- 下一篇: Macbook全系列详细分析及购机指南