首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

Qt 怎么预加载Dll

2013-11-23 
Qt 如何预加载Dll?现在做wince平台的程序开发 用的Qt,界面刷新的时候感觉很慢,但是Vc调试的时候速度很快,V

Qt 如何预加载Dll?
现在做wince平台的程序开发 用的Qt,界面刷新的时候感觉很慢,但是Vc调试的时候速度很快,
VC调试的时候信息有:


加载模块: ws2.dll
加载模块: winsock.dll
加载模块: lpcrt.dll
加载模块: rpcrt4.dll
加载模块: commctrl.dll
加载模块: shcore.dll
加载模块: ceshell.dll
加载模块: ole32.dll
加载模块: QtCore4.dll
加载模块: QtGui4.dll
加载模块: QtXml4.dll
加载模块: SerializeBasic.dll
加载模块: fpcrt.dll
加载模块: coredll.dll
加载模块: mmtimer.dll
加载模块: aygshell.dll

因此怀疑调试的时候,是预先将qt的各个dll加载到内存里了,但是我现在在main函数里这样写:

QApplication a(argc, argv);

QLibrary libCore("QtCore4.dll");
bool lib = libCore.load();

QLibrary libGui("QtGui4.dll");
lib = libGui.load();

QLibrary libXml("QtXml4.dll");
lib = libXml.load();

QLibrary libSerializeBasic("SerializeBasic.dll");
lib = libSerializeBasic.load();

        QMainWdgt w;
        w.show();


 这样子好像程序还是很快,这样位置有问题?Qt是怎么调用各个dll的呢 QtCore4.dll等等

[解决办法]
这个不是Qt怎么装载dll库, 这个是os loader程序,在你启动qt应用程序的时候,装载的。
[解决办法]
装载器pe文件的输入表来装载对应的dll
[解决办法]
编译期链接的库无需在代码里加载。如果你的应用支持插件DLL,可以用QLibrary来动态加载。

热点排行