DLL中有可以有头文件吗?能从实际编写DLL的角度给我说说什么DLL吗?

DLL中有可以有头文件吗?能从实际编写DLL的角度给我说说什么DLL吗?,第1张

DLL源代码中可以有头文件,这不必说;DLL目标代码不存在头文件概念。

你用VC或BC实际实践一个DLL项目就明白了!--

说白了,DLL,就是一个或一堆可调用的普通函数的集合;----使用时加个头文件将其包含进去,就像加<stdio。h>或加<windows.h>一样,道理是一样的----特别之处在于:DLL的目标代码和调用该DLL中函数的目标代码是分开的!这个,一定要清楚。

1)如果是你的vi在打开的时候或者打开LabVIEW的时候出现这个问题,应该是缺少这个.dll文件所致。建议在另一台安装有相同版本的LabVIEW的电脑上,找到LabVIEW的安装目录,如安装在D盘的Program Files下,且版本为8.6,则路径为

D:\Program Files\National Instruments\Shared\LabVIEW Run-Time\8.6

该文件夹下有lvanlys.dll,把这个文件通过U盘拷入到缺失该文件的电脑的相同位置,重启LabVIEW再试试;

2)如果是你打包的exe文件在打开的时候出现上面这个问题,应该是你打包的时候有问题,可以重新打包,或者在其他电脑上重新打包;或者,把上面那个文件直接拷贝到你打包生成的应用程序目录中的data文件夹下;

这个好像不行啊,最少你需要知道类或函数的声明啊。

无论dll中导出函数或是类。

也无论你是使用隐式调用或是显示调用dll中的函数,你都需要先知道函数声明,否则一切都是无用的。只不过是函数声明由dll工程移到了调用这个dll的工程。

你说对不对。

如果要显示调用dll中导出的类,可以通过如下方法实现。

DLL中:

class A//此类不用导出。

{

...

}

A* create_instance()//应该定义为导出函数。

return new A()

//调用DLL的工程

A* (*ptrAInst)()

loadlibrary(...)//具体函数参见不同 *** 作系统的编程手册

ptrAInst = getprocaddress(“create_instance”)//具体函数参见不同 *** 作系统的编程手册

...//处理某些工作

freelibrary(...)//工作处理完后释放,具体函数参见不同 *** 作系统的编程手册


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12034049.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存