Off*_*rmo 9 c++ linux gcc clang
我确切地说,我将这个问题限制为我的x86(64位)linux盒子的"本机"开发.没有嵌入式或非x86架构.
由于我是C++用户并且有C++复兴,我目前正在使用C++进行个人项目.
现在我正在使用强大的,传统的linux/gcc/make工具链.
但通过博客文章和SO问题,我最近意识到了新的有前途的工具:
这些工具鲜为人知,很容易甚至不知道它们.
还有其他有趣的鲜为人知的工具我应该注意吗?例如替代gdb等?(我也在使用cmake)
我首先寻找易于开发,然后提高开发速度.欢迎任何其他改进.
如果可能,免费工具.
您可能对ccache感兴趣 (一个编译器缓存能够避免无用的重新编译,并通过相同的g++命令透明地使用,只需在您的内部添加一个符号链接$PATH)
对于C(但不是C++)编程,您可能会感兴趣tinycc- 编译速度非常快(但生成缓慢运行的二进制代码).
编码时,可以使用Boehm的垃圾收集器.请参阅与在C++中使用它相关的问题.
并且还用于valgrind调试内存泄漏.
有时,使用dlopen动态加载共享对象是有趣的.所述dlsym-ed符号应extern "C"在C++中.我有时喜欢动态生成C或C++代码,编译它和dlopen模块.
对于建筑,考虑调查其他建筑商,例如omake.
编译时,不要忘记编译器的-Wall(也许-Wextra)标志.新的链接时间优化(CXX=g++ -flto在您的中Makefile)可能很有趣(但编译时间会受到影响,因为可执行文件的速度可能会提高10%).
如果您的源代码文件共享所有相同的C++标头,那么预编译该标头是值得的.
存在较新的(例如优于C++)语言,如Ocaml和Haskell,还有Go和D.
使用像GIT这样的版本控制系统,即使是宠物项目.
Qt是一个很好的C++框架,特别是它的图形工具包.
Wt使您能够非常快速地在C++中编写Web界面.
GCC和GDB都在不断发展.不要忘记使用最新版本(例如,GCC为4.6,GDB为7.3),这些版本比以前版本提供了重大改进.
考虑通过插件扩展或自定义GCC编译器以满足您的特定需求,或者更好地使用MELT扩展.
| 归档时间: |
|
| 查看次数: |
470 次 |
| 最近记录: |