我目前有一台配备Opteron 275(2.2Ghz)的机器,它是一个双核CPU,4GB内存,以及一个非常快的硬盘.我发现在编译使用C++模板的一些简单项目时(想想提升等),我的编译时间可能需要很长时间(小事情需要几分钟,大项目需要更长时间).不幸的是,其中只有一个核心是100%挂钩,所以我知道它不是I/O,而且似乎没有办法利用C++编译的另一个核心?
通过查看boost库和stl,然后查看人们的示例,我感到非常困惑.似乎大写的类型名称穿插着全部小写,由下划线分隔.
这几天应该做些什么?我知道.NET世界有它们自己的约定,但它似乎与C++领域完全不同.
这个简单的例子无法在VS2K8中编译:
io_service io2;
shared_ptr<asio::deadline_timer> dt(make_shared<asio::deadline_timer>(io2, posix_time::seconds(20)));
Run Code Online (Sandbox Code Playgroud)
就像这个一样:
shared_ptr<asio::deadline_timer> dt = make_shared<asio::deadline_timer>(io2);
Run Code Online (Sandbox Code Playgroud)
错误是:
错误C2664:'boost :: asio :: basic_deadline_timer :: basic_deadline_timer(boost :: asio :: io_service&,const boost :: posix_time :: ptime&)':无法从'const boost :: asio :: io_service转换参数1 'to'boost :: asio :: io_service&'
我厌倦了编写shared_ptr <>,它极大地延长了代码行.有什么理由不这样做?