现有两个文件chatting.h和chatting.lib,将其做成dll文件后,怎样被C++调用?
解决办法如下:
1. 创建dllChatting工程
与"java调用由LIB生成的DLL"不同在于dllChatting.cpp和dllChatting.def的内容不同。
2. 编写测试应用程序(VS2008)。
1) 创建工程test。选择"Win32控制台应用程序",应用程序类型选择"控制台应用程序"。
2) 将dllChatting.lib拷贝到与文件"test.vcproj"的同级目录下,并在"项目->test属性->配置属性->连接器->输入"的"附加依赖项"中添加"dllChatting.lib";将dllChatting.dll拷贝到生成应用程序test.exe的同级目录下。
3) 在文件test.cpp中编写测试代码
测试结果如下:
print in LIB: 1
print in DLL: 1
print in C++: 1
Java中调用dll文件和C++中调用dll文件的区别
1) java中调用dll中某个函数,则必须先在java中定义好该接口函数,然后用javah生成.h文件,再将该.h文件包含到c++中实现,最后生成对应的DLL文件;C++中只用直接定义并实现即可。
2) java调用DLL不需要对应的LIB文件;但C++中如果应用程序要调用DLL文件,则必须在编译的时候,将对应的LIB文件添加到依赖库中。