草庐IT

boost-uuid

全部标签

c++ - 我可以在 uclibc linux 上使用 boost 吗?

有没有人有在基于uclibc的系统上运行使用boost库的C++应用程序的经验?有可能吗?你会使用哪个C++标准库?uclibc++可以与boost一起使用吗? 最佳答案 我们在运行uClinux的ARMv4平台上将Boost与GCC2.95.3、libstdc++和STLport一起使用。Boost的某些部分与GCC2.x不兼容,但那些在我们的特定情况下运行良好的部分。我们使用最多的库是date_time、bind、function、tuple和thread.我们遇到问题的一些库是lambda、shared_pointer和for

c++ - pthread_spinlock 和 boost::smart_ptr::spinlock 之间的区别?

我在boost::smart_ptr中找到了以下自旋锁代码:booltry_lock(){return(__sync_lock_test_and_set(&v_,1)==0);}voidlock(){for(unsignedk=0;!try_lock();++k){if(k因此,如果我理解正确的话,当锁被争用时,传入线程将呈指数级后退,首先疯狂旋转,然后暂停,然后放弃其时间片的剩余部分,最后在休眠和放弃之间来回切换。我还找到了glibcpthread_spinlock实现,它使用汇编来执行锁。#defineLOCK_PREFIX"lock;"//usinganSMPmachineint

c++ - pthread_spinlock 和 boost::smart_ptr::spinlock 之间的区别?

我在boost::smart_ptr中找到了以下自旋锁代码:booltry_lock(){return(__sync_lock_test_and_set(&v_,1)==0);}voidlock(){for(unsignedk=0;!try_lock();++k){if(k因此,如果我理解正确的话,当锁被争用时,传入线程将呈指数级后退,首先疯狂旋转,然后暂停,然后放弃其时间片的剩余部分,最后在休眠和放弃之间来回切换。我还找到了glibcpthread_spinlock实现,它使用汇编来执行锁。#defineLOCK_PREFIX"lock;"//usinganSMPmachineint

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

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

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