时间:2021-05-02
有时我们需要将在VC中定义的类导出来,以在其它地方使用,本文将使用一个例子来讲解具体的方法。
首先,使用Wizard创建一个Win32 Dynamic-Link Library工程,然后定义一个简单的C++类CInDLL.由于该类会被工程之外的文件所引用,所以需要对这个类进行引出。因为只有引出后所生成的DLL中才带有供足够的信息以在连接和运行时被正确引入到进程空间中。
有两种方法可以引出类,使用__declspec(dllexport)定义和使用定义文件。
下面先讲使用__declspec(dllexport)的方法:
将类定义改为:class __declspec(dllexport) CInDLL 就可以了。 这样产生的工程在编译时是正确的但是在使用时会产生错误,因为你包含的头文件中也是使用__declspec(dllexport),而使用这个DLL的工程中并没有引出这个类,而是需要引入这个类)在使用时需要将类定义改为class __declspec(dllimport) CInDLL就可以了。
使用定义文件可以有效的避免这个问题,这种方法是利用宏定义在不同的地方产生不同的编译代码:
在头文件中加入如下的代码:
在实现这个类的CPP文件的顶部加入#define _CLASSINDLL语句。
这样一来在使用这个类时就可以不做任何改动了。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1、导出C函数以用于C或C++的项目如果使用C语言编写的DLL,希望从中导出函数给C或C++的模块访问,则应使用__cplusplus预处理器宏确定正在编译的语
vc++和c++的区别是C++是一门语言,duVC++是一个编译工具,VC++使用的是C++语言,其他编译工具也可以集成C++语言,如DEV-C++。 C++
microsoftvisualc++是微软公司的C++开发工具,具有集成开发环境,可提供编辑C语言,C++以及C++/CLI等编程语言。 VC++集成了便利的
目前知道的情况被调用的C/C++函数只能是全局函数不能调用类中的成员方法被调用的C函数必须使用extern“C“包含,保证采用的导出函数名生成规则和.NET一致
C++中随机函数random函数的使用方法一、random函数不是ANSIC标准,不能在gcc,vc等编译器下编译通过。可改用C++下的rand函数来实现。1、