怎么创建dllwenjian_如何创建和使用dll及lib文件
Abstract
如何在VC9環(huán)境下創(chuàng)建和使用dll及l(fā)ib文件,但不用MFC。
一、創(chuàng)建dll
參見(jiàn)文章[zz]lib和dll文件的區(qū)別和聯(lián)系。用方法一,在VC9下測(cè)試通過(guò)。
創(chuàng)建一個(gè)Dynamic Library工程,方法是New Project -> Win32
Console Application -> 在Win32 Application
Wizard中選擇DLL和Empty project ->
Finish。假設(shè)工程名為testdll。
將文章[zz]lib和dll文件的區(qū)別和聯(lián)系中的h文件和cpp文件copy到工程中。假設(shè)兩個(gè)文件分別是testdll.h和testdll.cpp。不過(guò)最好把
#define MYLIBAPI extern "C" _declspec (dllexport)
放在頭文件中,因?yàn)轭^文件將會(huì)被重用。把這一句放在頭文件中可以減小代碼量。否則必須在調(diào)用程序(主程序)中也寫(xiě)上這一句。
二、使用dll
創(chuàng)建一個(gè)空的Win32 Console
Application。命名為calldll。將前面建立的testdll中的testdll.h添加到工程中。這里也可以在工程properties
-> C/C++ -> General ->
Additional Include Directories中添加testdll的目錄,則下面簡(jiǎn)單地寫(xiě)成#include
"testdll.h"就可以了。新建calldll.cpp如下:
#include
#include "testdll工程目錄\testdll\testdll.h"
int main()
{
int x=1,y=2;
printf("%d + %d = %d\n",x,y,Add(x,y));
getchar();
}
將前面生成的testdll.lib(注意是lib不是dll)添加到工程中。方法是 Project
-> calldll Properties -> Linker
-> Input -> Additional
Dependenies,添加$(TargetDir)\testdll.lib。同時(shí)將前面生成的testdll.lib和testdll.dll拷貝到calldll工程的Debug目錄下。這樣就可以編譯成功了。
三、創(chuàng)建lib
創(chuàng)建Winew Static Library工程。頭文件與cpp文件與創(chuàng)建dll類(lèi)似,不過(guò)去掉_declspec
(dllimport),只保留extern "C"。個(gè)人懷疑去掉這個(gè)extern "C"也是可以的,就留給后人去試吧。
四、使用lib
創(chuàng)建一個(gè)空的Win32 Console
Application。命名為calllib。將前面建立的testdll中的testdll.h添加到工程中。這一步與使用dll相同。也可以直接將.h文件copy到calllib目錄下。新建calllib.cpp如下:
#include
#include "dll.h"
//LIB testlib.lib
#pragma
comment(lib,"C:\\Users\\Arthur\\Documents\\practise_cpp\\libAndDll\\calllib\\Debug\\testlib.lib")
int main()
{
int x=1,y=2;
printf("%d + %d = %d\n",x,y,Add(x,y));
getchar();
}
將前面生成的testdll.lib拷貝到calllib工程的Debug目錄下。不需要像引用dll一樣添加Additional
Dependencies。
這樣就可以編譯成功了。當(dāng)然,如果不想寫(xiě)#pragma這樣一句話,也可以像引用dll一樣添加Additional
Dependencies,在使用OpenCV的時(shí)候就是這樣做的。
--------------------------------------------------------
總結(jié)
以上是生活随笔為你收集整理的怎么创建dllwenjian_如何创建和使用dll及lib文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: matlab title多个标题_MAT
- 下一篇: 华为笔记本软件商店_华为应用市场 PC