现在Qt去了LGPL我倾向于再试一次.多年前我因某些原因决定反对,其中一个原因是可执行文件的大小(Windows上的Qt).我发现大约5MB的下限.Trolltech根据要求肯定了这一点,但告诉我,粒度将得到改善,这将导致更小的尺寸(取决于所需的元素).
事情本来可以改变.现在Qt中"hello world"(windows和console)的大小是多少?
这是关于静态链接.我认为qtCore和qtGui是必需的.
这里有几个人建议切换到新的WD Velociraptor 10000rpm硬盘.杂志文章也赞扬了表演.我买了一个并将我的旧系统镜像到它.编译速度的提高有点令人失望:
我有一台带1.5G内存的E6600.这是一个C++ - 包含1200个文件的项目.构建在Visual Studio 2005中完成.声学管理已关闭(无论如何都没有大的差别).
出了什么问题,或者这种适度加速真的是全部,我可以期待吗?
编辑: 有人建议增加RAM.我现在做了,并通过将RAM加倍到3GB获得了最小的增益(3-5%).
给定一个类和子类:
class Event {...}
class Note : public Event {...}
Run Code Online (Sandbox Code Playgroud)
注释被克隆并存储在函数f()中的指针中.类型信息保留在指针中,可以通过dynamic_cast恢复:
void f()
{
pEvent = pNote->Clone(); // create a clone of a Note
ASSERT(dynamic_cast<Note*>(pEvent)); // check the pointer, here it works
}
Run Code Online (Sandbox Code Playgroud)
现在,从f()返回后,类型信息丢失了:
f();
ASSERT(dynamic_cast<Note*>(pEvent)); // -> "Access violation - no RTTI-data"
Run Code Online (Sandbox Code Playgroud)
VS-debugger显示有效的指针值(未更改),但不显示派生类,而不是在f()
-scope中.
从函数返回时,如何丢失指针的RTTI信息?
c++ ×2
compilation ×1
dynamic-cast ×1
hardware ×1
performance ×1
qt ×1
rtti ×1
visual-c++ ×1
windows ×1