C++调用DLL文件时,运行很慢
有一个现成的EPOS.DLL,然后我编了一个调用EPOS.DLL的另外一个动态链接库NCEPOS.DLL,编了一个主程序去调用NCEPOS.DLL,但是主程序照理来说会很快的调用NCEPOS.DLL里面的函数,但是我运行的时候很慢。NCEPOS.DLL里面有很多从硬件里面读数据或者写数据的函数,当把所有这些函数都注释起来时,运行速度很快。如果有任何一条没注释起来,运行速度就很慢。大概是什么原因呢,求各位大哥大姐帮我分析下,真心感谢! c++ dll
[解决办法]
本帖最后由 ccrun 于 2013-01-16 10:50:45 编辑 静态调用和动态调用其实是一样的。关键是EPOS.DLL中操作硬件的代码,如2楼所说,读写硬件是比较费时的。你可以试着在调用EPOS.dll中每个函数的前后用GetTickCount记录一下时间,然后看看是哪个函数最耗时。
[解决办法]
估计是等待硬件回复的时间,不行就把这组调用单独开一个线程