草庐IT

ZN5boost

全部标签

c++ - 减少 boost build 中的内存使用

我正在尝试使用G++4.6在内存资源受限的Linux系统上构建C++库。该库大量使用了Boost。我在这里和其他网站上看到过各种关于编译速度的话题,但我对降低G++对内存资源要求的提示和技巧很感兴趣,即使这意味着速度下降。编辑:我试过为Boost使用预编译的头文件,这只会boost构建速度,但仍然需要大致相同的内存量。 最佳答案 您必须使用垃圾收集器设置。参数是ggc-min-expand和ggc-min-heapsize。还可以使用ulimit65536(或其他)设置您的ulimit以减小堆大小(RLIMIT_AS)。gccman

linux - 在 Linux 中安装和构建 Boost 库

我正在关注BoostGettingStarted文章。我用Bjam安装了它,我可以看到包含文件和库文件(.a、.so)。#include#include#includeintmain(){std::stringline;boost::regexpat("^Subject:(Re:|Aw:)*(.*)");}如果我使用这个命令构建上面的代码g++-I./boost/include-L./boost/lib-lboost_regex-gcc43-mt-static-otest_boost2test_boost2.cc我收到这个错误:/tmp/ccJFVVid.o:Infunction`bo

linux - 在 Linux 中安装和构建 Boost 库

我正在关注BoostGettingStarted文章。我用Bjam安装了它,我可以看到包含文件和库文件(.a、.so)。#include#include#includeintmain(){std::stringline;boost::regexpat("^Subject:(Re:|Aw:)*(.*)");}如果我使用这个命令构建上面的代码g++-I./boost/include-L./boost/lib-lboost_regex-gcc43-mt-static-otest_boost2test_boost2.cc我收到这个错误:/tmp/ccJFVVid.o:Infunction`bo

c++ - 为什么 boost asio 函数 expires_from_now() 取消 deadline_timer?

当我尝试获取(未设置!)当前到期时间时使用boostexpires_from_now()似乎实际上取消了计时器,但它实际上按预期运行,但最终没有调用处理程序。或者换句话说,当使用expires_from_now()访问deadline_timer时它会立即调用处理程序,并且在它过期时不会调用处理程序。请考虑以下代码和相应的输出:#include#include#include#include#includeusingnamespaceboost::posix_time;usingnamespacestd;voidhandler1(constboost::system::error_co

c++ - 为什么 boost asio 函数 expires_from_now() 取消 deadline_timer?

当我尝试获取(未设置!)当前到期时间时使用boostexpires_from_now()似乎实际上取消了计时器,但它实际上按预期运行,但最终没有调用处理程序。或者换句话说,当使用expires_from_now()访问deadline_timer时它会立即调用处理程序,并且在它过期时不会调用处理程序。请考虑以下代码和相应的输出:#include#include#include#include#includeusingnamespaceboost::posix_time;usingnamespacestd;voidhandler1(constboost::system::error_co

c++ - Linux初学者,boost库放在哪里?

我不是很熟悉linux文件系统,因为我是从Windows转过来的,但我确实对Windows中的C++和Boost库有相当多的经验。切换到Fedora17后,谁能告诉我是否应该在某个目录中安装Boost以使其在gnu编译器中运行?注意:如果重要的话,我不使用IDE我在大部分编程中使用vim。 最佳答案 有几种方法可以在linux上设置boost库。为了省去一些麻烦,使用您的包管理器来安装Boost库。从长远来看,您会感激不尽。如果您绝对必须自己做,只需将它放在任何地方,只要它在gcc包含路径中即可。这是用于header的/usr/lo

c++ - Linux初学者,boost库放在哪里?

我不是很熟悉linux文件系统,因为我是从Windows转过来的,但我确实对Windows中的C++和Boost库有相当多的经验。切换到Fedora17后,谁能告诉我是否应该在某个目录中安装Boost以使其在gnu编译器中运行?注意:如果重要的话,我不使用IDE我在大部分编程中使用vim。 最佳答案 有几种方法可以在linux上设置boost库。为了省去一些麻烦,使用您的包管理器来安装Boost库。从长远来看,您会感激不尽。如果您绝对必须自己做,只需将它放在任何地方,只要它在gcc包含路径中即可。这是用于header的/usr/lo

c++ - 带有接收器的 boost_log 示例无法编译

我正在考虑在一个项目中使用boost_log,但一开始我遇到了以下问题。我在以下位置找到的boost日志示例:http://www.boost.org/doc/libs/1_54_0/libs/log/example/doc/tutorial_file.cpp无法编译。其他更简单的示例(没有接收器)我编译没有问题。g++-std=c++11boost_log_sinks.cpp-DBOOST_LOG_DYN_LINK-lboost_log-lpthread/usr/bin/ld:/tmp/ccApJdsi.o:undefinedreferencetosymbol'_ZN5boost6d

c++ - 带有接收器的 boost_log 示例无法编译

我正在考虑在一个项目中使用boost_log,但一开始我遇到了以下问题。我在以下位置找到的boost日志示例:http://www.boost.org/doc/libs/1_54_0/libs/log/example/doc/tutorial_file.cpp无法编译。其他更简单的示例(没有接收器)我编译没有问题。g++-std=c++11boost_log_sinks.cpp-DBOOST_LOG_DYN_LINK-lboost_log-lpthread/usr/bin/ld:/tmp/ccApJdsi.o:undefinedreferencetosymbol'_ZN5boost6d

c++ - 使用 boost 文件系统解析符号链接(symbolic link)

我希望有一种简单的方法可以做到这一点,但即使进行了一些密集的谷歌搜索,我也无法发现这一点。如何使用boost::filesystem找到符号链接(symboliclink)(在*nix系统上)指向的位置? 最佳答案 如果您使用的是boost::filesystem的v3,您可以使用canonical函数来获取所有符号链接(symboliclink)都已解析的路径。这可能适用于解析符号链接(symboliclink)的路径。例如,如果sym.link是一个符号链接(symboliclink):boost::filesystem::pa