C語(yǔ)言創(chuàng)建動(dòng)態(tài)dll和調(diào)用dll(visual studio 2013環(huán)境下)
第一部分:創(chuàng)建動(dòng)態(tài)dll庫(kù)。
1、打開(kāi)visual studio 創(chuàng)建一個(gè)控制臺(tái)應(yīng)用程序。
2、選擇DLL,空項(xiàng)目。
3、點(diǎn)擊源文件,創(chuàng)建一個(gè)main.c文件
4、在main.c中寫(xiě)入一個(gè)簡(jiǎn)單的函數(shù),內(nèi)容如下:
__declspec(dllexport) int mymax(int a,int b){ return a + b; }
5、編譯生成。
6、在項(xiàng)目的目錄有dll和lib兩個(gè)生成好的文件。
第二部分:在新建項(xiàng)目中使用dll。
7、新建一個(gè)c的控制臺(tái)應(yīng)用程序UseDll,把Dll.dll放入Debug目錄下。
8、把Dll.lib放入U(xiǎn)serDll目錄下。
9、在UseDll項(xiàng)目中新建一個(gè)源文件use.c,代碼如下:
#include<stdio.h> #pragma comment(lib,"Dll.lib") int mymax(int a,int b); int main(){ printf("調(diào)用動(dòng)態(tài)dll函數(shù)的結(jié)果:%d",mymax(5,6)); getchar(); return 0; }
10、運(yùn)行結(jié)果如下
PS:vs2013調(diào)試程序時(shí)出現(xiàn)“計(jì)算機(jī)丟失.dll文件”
在VS環(huán)境下能夠編譯成功,但是在運(yùn)行.exe文件時(shí),出現(xiàn)“計(jì)算機(jī)丟失xxx.dll文件”的提示的解決方式。
發(fā)生這種問(wèn)題的根本原因在于環(huán)境變量的設(shè)置上,計(jì)算機(jī)只會(huì)在path下包含的目錄里去尋找程序所要運(yùn)行的.dll文件,若我們所要使用到的.dll文件沒(méi)有包含在環(huán)境變量path中,則會(huì)發(fā)生錯(cuò)誤:計(jì)算機(jī)丟失xxx.dll文件。
工具/原料
- VS2013或者其他版本
- VTK庫(kù)或者其他庫(kù)
方法/步驟
這里以丟失vtkIOPLY-7.0-gd.dll文件為例(主要是關(guān)于PCL1.8.0),找到VTK的安裝目錄下的bin文件夾(包含vtkIOPLY-7.0-gd.dll),我的bin文件夾是在C:\Program Files (x86)\PCL 1.8.0\3rdParty\VTK\bin
將上述目錄添加到環(huán)境變量Path中,如下圖所示
重新開(kāi)啟項(xiàng)目,重新生成解決方案,則問(wèn)題就會(huì)解決
注意事項(xiàng)
這里不僅僅是針對(duì)vtkIOPLY-7.0-gd.dll文件,任何丟失.dll文件都可以使用此方式解決
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C++類成員構(gòu)造函數(shù)和析構(gòu)函數(shù)順序示例詳細(xì)講解
這篇文章主要介紹了C++類成員構(gòu)造和析構(gòu)順序示例,看了這個(gè)例子大家就可以明白c++構(gòu)造析構(gòu)的奧秘2013-11-11帶頭結(jié)點(diǎn)單鏈表與不帶頭結(jié)點(diǎn)單鏈表的區(qū)別
這篇文章主要介紹了帶頭結(jié)點(diǎn)單鏈表與不帶頭結(jié)點(diǎn)單鏈表的區(qū)別,需要的朋友可以參考下2023-07-07C++的get()函數(shù)與getline()函數(shù)使用詳解
這篇文章主要介紹了C++的get()函數(shù)與getline()函數(shù)使用詳解,是C++入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-09-09Qt實(shí)現(xiàn)可以計(jì)算大數(shù)的簡(jiǎn)單計(jì)算器
計(jì)算器是我們生活中很常見(jiàn)的東西,它可以由多種語(yǔ)言多種方式來(lái)實(shí)現(xiàn)。本文主要介紹的是基于C++語(yǔ)言,由QT實(shí)現(xiàn)的可以計(jì)算大數(shù)的簡(jiǎn)單計(jì)算器,需要的可以參考一下2022-12-12C語(yǔ)言實(shí)現(xiàn)賓館管理系統(tǒng)課程設(shè)計(jì)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)賓館管理系統(tǒng)課程設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03C++語(yǔ)法中的函數(shù)重載和默認(rèn)參數(shù)
這篇文章主要介紹了C++語(yǔ)法中的函數(shù)重載和默認(rèn)參數(shù),本文從語(yǔ)法角度通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03