我使用code:blocks作为Windows上的C ++ IDE。我最近改用了netbeans 6.8(带有C / C ++插件,MinGW,MSYS),因为netbeas具有“在键入时检查语法错误”的好功能(与在Java或PHP项目上工作相同)。
但痛苦的是,在netbeans中编译一个简单的hello world项目需要2秒。任何使它像代码一样快的技巧:块,或者至少使编译时间不超过0.5秒?
编辑:
在我昨天处理Google codejam问题之前,我并不关心这2秒的差异。
答案 0 :(得分:0)
MinGW使用G ++ 3.x,这是非常古老的。这是编译器本身的一个限制 - 旧版本的G ++只是很慢。有一些“非官方”的G ++端口可以从MinGW项目中借用使用更新的(4.x)版本的G ++,并且你的Code :: Blocks IDE可能正在使用其中一种。
我非常怀疑大多数编译器的99.9%的用法中的第二个半是显着的。即使它是IDE本身强加的开销,我们也在讨论基本上是一次性成本 - 当你编译更大的程序时,它不应该破坏疯狂的编译时间。
回应FredOverflow的评论:来自MinGW安装程序(mingw.ini):
[mingw] Build=12 URL=http://prdownloads.sourceforge.net/mingw Filename=MinGW-5.1.6.exe packages=previous|current|candidate [current] runtime=mingwrt-3.17-mingw32-dev.tar.gz|7300 runtimeDLL=mingwrt-3.17-mingw32-dll.tar.gz|30 w32api=w32api-3.14-mingw32-dev.tar.gz|14460 binutils=binutils-2.20-1-mingw32-bin.tar.gz|26979 core=gcc-core-3.4.5-20060117-3.tar.gz|7712 gpp=gcc-g++-3.4.5-20060117-3.tar.gz|15480 g77=gcc-g77-3.4.5-20060117-3.tar.gz|5272 ada=gcc-ada-3.4.5-20060117-3.tar.gz|33860 java=gcc-java-3.4.5-20060117-3.tar.gz|43160 objc=gcc-objc-3.4.5-20060117-3.tar.gz|3720 make=make-3.81-20090914-mingw32-bin.tar.gz|723 [previous] runtime=mingwrt-3.15.2-mingw32-dev.tar.gz|7616 runtimeDLL=mingwrt-3.15.2-mingw32-dll.tar.gz|40 w32api=w32api-3.13-mingw32-dev.tar.gz|14420 binutils=binutils-2.19.1-mingw32-bin.tar.gz|21093 core=gcc-core-3.4.2-20040916-1.tar.gz|8627 gpp=gcc-g++-3.4.2-20040916-1.tar.gz|16542 g77=gcc-g77-3.4.2-20040916-1.tar.gz|5158 ada=gcc-ada-3.4.2-20040916-1.tar.gz|33333 java=gcc-java-3.4.2-20040916-1.tar.gz|45547 objc=gcc-objc-3.4.2-20040916-1.tar.gz|4555 make=mingw32-make-3.81-20080326-2.tar.gz|727 [candidate] binutils=binutils-2.18.50-20080109-2.tar.gz|20505 core=gcc-core-3.4.5-20060117-3.tar.gz|7712 gpp=gcc-g++-3.4.5-20060117-3.tar.gz|15480 g77=gcc-g77-3.4.5-20060117-3.tar.gz|5272 ada=gcc-ada-3.4.5-20060117-3.tar.gz|33860 java=gcc-java-3.4.5-20060117-3.tar.gz|43160 objc=gcc-objc-3.4.5-20060117-3.tar.gz|3720 make=mingw32-make-3.81-2.tar.gz|720
答案 1 :(得分:0)
加载编译器,编译源文件,组装它并链接它的两秒钟实际上非常快。速度差异可能是由于Netbeans的内存占用量非常大,而Code的内存占用量非常小:Block。 Netbeans或多或少在我的古老笔记本电脑上无法使用,而Code :: Blocks工作得很好。