草庐IT

boost_process

全部标签

c++ - Boost Asio io_service 析构函数卡在 OS X 上

我在OSX上使用BoostAsio时遇到问题,其中io_service析构函数有时无限期挂起。我有一个相对简单的重现案例:#include#includeintmain(intargc,char*argv[]){timevaltv;gettimeofday(&tv,0);std::time_tt=tv.tv_sec;std::tmcurr;//Thecalltogmtime_r_seems_innocent,butIcannotreproducewithoutthisstd::tm*curr_ptr=gmtime_r(&t,&curr);{boost::asio::io_service

c++ - 使用无效套接字调用 boost::asio::write() 使我的 Blackberry 10 应用程序崩溃

这篇文章讲述了在最近的一个软件项目中遇到的一个技术问题,并让读者从这个问题的来之不易的解决方案中受益。背景在我的公司,我是使用Boostasio("ASynchronousI/O")socketframework的内部库的实现者和维护者通过套接字实现跨平台数据传输。一位同事最近向我提出以下问题:如果在文件传输操作期间粗暴地关闭Wi-Fi路由器,她的Blackberry10应用程序会在几秒钟内崩溃,该应用程序链接并使用了我的图书馆。在库中启用内置跟踪向我们展示了当库调用boost::asio::write(boost::asio::ip::tcp::socket*,boost::asio

c++ - 如何使用 boost::test 库组织测试用例?

我有一个包含50多个.H/.CPP文件/类的项目。我想用自己的测试用例来测试每个类,其中将包括用于测试每个类不同方面的方法。我的类位于不同的目录中,如下所示:/project/include/SuperModuleFoo.hFoo.cpp..Alpha.hAlpha.cpp../test//Iassumethatmytestsshallbeheremain.cppMakefile我想使用boost::test作为单元测试框架。我应该如何组织我的文件,我应该如何命名它们等等。一些提示或链接或建议将不胜感激。谢谢。 最佳答案 我们在类似

c++ - boost 序列化和 double

我正在尝试使用boost序列化库将一个类序列化为一个字符串,我的类中包含几个double成员变量。下面是我用来序列化的代码:#include#include#includestd::stringstreamss;boost::archive::text_oarchiveoa(ss);oa这是我的Point类中的序列化方法:friendclassboost::serialization::access;templatevoidserialize(Archive&ar,constunsignedintversion){if(version>0){ar&mLatitude;ar&mLongi

c++ - 构建 boost 库的子集

我正在尝试构建boost库的一个子集。例如,我有这段代码:测试.cpp:#includeintmain(){return0;}然后我做./bcp--scantest.cpp~/dev/boost_compact/所以依赖文件被复制到~/dev/boost_compact/boost。然后,按照这个answer,我将所有文件复制到常规boost的根目录以及工具目录并运行./bootstrap./bjam./bjaminstall这会将所有header复制到目标目录,但不会构建/复制库。同一组Action确实在全面boost中起作用。我做错了什么? 最佳答案

c++ - 当其他进程可能正在使用它时删除 boost interprocess_mutex

我正在尝试将interprocess_mutex与managed_windows_shared_memory一起使用。在我的项目中,多个进程在以下代码中创建了一个classA的实例。usingnamespaceboost::interprocess;classA{managed_windows_shared_memory*_shm;interprocess_mutex*_mtx;}A::A(){_shm=newmanaged_windows_shared_memory{open_or_create,"shm",1024};_mtx=_shm->find_or_construct("mt

c++ - 同一 (Boost) DLL 的多个版本可以在同一进程中共存吗?

我的(C++,跨平台)应用程序大量使用Boost库(比如版本1.x),我还想链接到第3方(供应商)的SDK(无来源),本身使用Boost(但版本1.y)。因此,我们都动态链接到我们自己的BoostDLL版本,CRT是相同的。因此,在运行时,我的应用程序必须同时加载Boost1.x&1.y的DLL。相关的潜在问题和陷阱是什么?我无法更改供应商的SDK,但我可以更改我的应用程序。也许我应该尝试针对我的Boost1.x进行静态链接?PS:Boost的DLL的名称包括它们的版本,所以没有名称冲突,两者都是可识别的。不是通常的DLLhell。 最佳答案

c++ - 包含 Map(具有对象值)和 Multimap(具有 std::string 值)的对象的 boost 序列化:需要什么?

请参阅下面的main()和两个非常简单的类。然后根据Boost序列化(以及显示的内容)我的问题是:1)B类是否需要定义正常的重载流插入运算符“>”?目前在我的真实代码中没有这些。2)store()和load()方法中的类A是否需要显式地遍历map和multimap容器,显式地存储/加载它们的键:值对?例如像这样的东西:voidA::store(constchar*filename){std::ofstreamofs(filename);boost::archive::text_oarchiveoa(ofs);std::map::iteratorit;BMap.size();oafirs

c++ - Boost 确实减慢了 VS2005 上的编译速度

我最近开始在我的C++项目中使用Boost,并注意到在编译开始之前有相当大的延迟(当我点击重新构建时,我必须等待5分钟才能开始编译)。我已经运行了Filemon,它向我显示VisualStudio一直处于空闲状态,devenv.exe正在通过Boost包含目录进行探测。有什么想法可以在不将Boost从项目中移除的情况下加快编译速度吗?谢谢。 最佳答案 您可能直接将boost包含目录添加到“项目设置>C/C++>常规>附加包含目录”。VisualStudio会跟踪项目依赖项,以便在发生更改时提供最少的重新编译(这与IntelliSen

c++ - 用 Boost.Bimap 替换 vector 和哈希表

我想更换一个vector和一个boost::unordered_map使用boost::bimap将字符串映射到前者的索引.bimap的实例化是什么?我应该使用吗?到目前为止,我想出了typedefbimap,vector_of>StringMap;但我不确定我现在是否已经颠倒了集合类型。另外,我想知道我是否应该更改collectionofrelationstype.会vector_of_relation是我最好的选择,或者set_of_relation,还是只使用默认值? 最佳答案 要获得size_t和std::string之间的