我是一个初学者,所以,如果这听起来太琐碎,请和我一起裸露。当我在网上search这个,我得到的结果显示如何做到这一点。 我的问题是为什么我们这样做呢?
阿图尔
当您开发C ++ DLL时,这是Windows平台特有的。
您必须使用__declspec(dllexport)修饰符,以使您的类及其方法出现在DLL的导出符号列表中。
这样,使用DLL的可执行文件就可以在这些类中实例化和调用方法。
但是,您必须确保可执行文件和DLL是由相同版本的相同编译器编译的,因为C ++符号是使用相对复杂的名称编码编码导出的(您可以看到使用depends.exe ),其格式各不相同一个编译器到另一个。
你不需要导出任何东西,除非你正在创建一个DLL。 在这种情况下,您可以使用dllexport属性替代使用.def文件的“老派”方式。
从技术上讲,你不能导出一个类,只有函数。 但是,您可以在课程级别上指定所有功能都要导出。
导出函数意味着可以从当前可执行文件之外调用该函数。
当你正在编写一个单独的实体的例子时,这是需要的。