Posts Tagged ‘Dll’

C++调用DLL的方法

星期六, 十二月 15th, 2012 23 views

关于C++调用DLL的方法有几种,这里给出个人认为较简单的一种,做一个简单的代码范例,见代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//引入wtypes头文件
#include <wtypes.h>

//定义一个函数指针
typedef void (  * TULIPFUNC )(void);

//定义一个函数指针变量
TULIPFUNC FUNC;

int _tmain(int argc, _TCHAR* argv[])
{
    //加载TEST.Dll
    HINSTANCE hinst=::LoadLibrary("TEST.dll");  

    //找到Dll的TESTFUNC函数
    FUNC=(TULIPFUNC )GetProcAddress(hinst,"TESTFUNC");

    //调用TESTFUNC函数
    FUNC();
}

欢迎补充及交流

BeiTown
2012.12.15

在C#调用DLL包(U3D同理)

星期四, 十二月 13th, 2012 43 views

本文简单说明一下如何在Unity3D中调用一个DLL包,用法和C#调用一个DLL包一样,由于比较简单这里就直接上代码吧

1
2
3
4
5
[DllImport("DLLNAME")]//DLLNAME为dll包的名字,不需要加.dll后缀
static extern void TestFun1();//定义一个DLL包中的方法TestFun1
[DllImport("DLLNAME")]
static extern void TestFun2();//定义一个DLL包中的方法TestFun2
...

之后在代码中直接调用TestFun1() 和正常的C#函数一样使用即可
关于DLL包的放置位置,如果是C#中,和.exe执行文件同一个目录下即可
在Unity中应将DLL文件放置在 Assets\Plugins 文件夹下,没有就自己创建一个
就说到这里吧,本文意在分享,欢迎指着交流

BeiTown
2012.12.13

C++在VS中导出DLL动态链接库文件的常规方法

星期三, 十二月 12th, 2012 46 views

①建立项目:
[新建项目]选择Win32控制台应用程序,输入项目名点击确定。
在Win32应用程序向导的应用程序类型中选择DLL,附加选项勾选空项目,如下图,之后点击完成。

②创建头文件,代码如下:

1
2
3
4
5
6
7
8
#ifndef DLLTEST_H
#define DLLTEST_H //防止重复定义
 
#define DECLDIR extern "C" __declspec(dllexport) //宏定义

DECLDIR int Test(int a, int b);  //函数声明

#endif

(更多…)