草庐IT

boost_thread

全部标签

c++ - Boost 程序选项 bool 总是 True

通过程序选项,我正在检查参数的有效组合。但出于某种原因,gpu参数是一个bool,无论我是否在命令行上将其设置为false,它始终为true。如果我在命令行上指定了gpu选项,有没有办法让它为false?我希望能够创建一个bool变量来表示是否使用了命令行上的选项。我也找不到任何关于variables_map的count()的文档。它是std::map函数吗?部分代码:namespacepo=boost::program_options;po::options_descriptiondesc("AllowedOptions");desc.add_options()("help,h","

c++ - 将 boost spirit 用于基于堆栈的语言

我需要解析一种相当简单的基于堆栈的语言,例如12add31sub我在这里面临两个选择:为标记编写我自己的词法分析器,然后继续解析它使用boostspirit我从未使用过boostspirit,但根据我所阅读的内容(文档和示例),我仍然不能确定使用boostspirit来lex和解析这种简单的语言是否会过大,或者如果使用它而不是推出我自己的词法分析器和解析器是有意义的(我认为这应该不会太难)。将boostspirit用于像上面那种基于堆栈的简单语言会有返回吗(因为我需要先学习它才能使用它)? 最佳答案 在“详尽探索”类别中,让我添加一

c++ - 使用 MSVC 2015 构建 boost 1.55 时指定工具集版本

我下载boost1.55,解压,然后运行以下命令:>bootstrap.batcl:CommandlinewarningD9035:option'GZ'hasbeendeprecatedandwillberemovedinafuturereleasecl:CommandlinewarningD9036:use'RTC1'insteadof'GZ'cl:CommandlinewarningD9002:ignoringunknownoption'/MLd'Bootstrappingisdone.Tobuild,run:...>b2--build-type=complete--build-d

C++/线程 : No instance of constructor "std::thread::thread" > matches the argument list

我在线程方面遇到了一些问题,因为我对它很陌生。我得到一个:noinstanceofconstructor"std::thread::thread"matchestheargumentlistargumenttypesare(void())恰好在std::threadt1(TestPlay);voidCMusicTCPDlg::OnBnClickedBtplaymusic(){std::threadt1(TestPlay);t1.join();}voidCMusicTCPDlg::TestPlay(){if(CFugue::GetMidiOutPortCount()我引用了一些线程页面,

c++ - 为什么用空函数运行 std::thread 会消耗大量内存

我写了一个简单的程序,它应该运行两个线程,对小数组(~4096字节)进行排序并写入输出文件。输入数据包含在一个大文件(~4Gb)中。电脑有128MB内存。我发现只运行空的主函数使用14MB内存。如果使用空函数应用程序运行std::thread,每个线程开始使用~8MB。但是如果我只制作一个动态内存分配程序,每个线程开始使用大约64Mb。我不明白什么可以花费这么多内存。我怎样才能控制这个尺寸?以及如何分配动态内存以最小化一些系统默认分配?系统:Ubuntu14.04.3编译器:gcc4.8.4编译器选项:'-std=c++11-O3-pthread'这是一个代码示例voiddummy(v

RT-Thread 软件包-软件包分类-IoT-OTA Downloader①

RT-Thread软件包-软件包分类-IoT-OTADownloader①RT-Thread软件包-软件包分类-IoT-OTADownloader①OTADownloader1、介绍1.1许可证1.2依赖2、如何打开OTADownloader3、使用OTADownloader3.1Ymodem协议固件升级命令行演示3.2HTTP/HTTPS协议固件升级命令行演示4、注意事项5、参考资料示例代码维护人:RT-Thread软件包-软件包分类-IoT-OTADownloader①OTADownloader中文页|英文页1、介绍本软件包是用于OTA升级的固件下载器,该下载器提供多种固件下载方式。开发者

C++11 std::this_thread::sleep_until() 在使用 GCC 4.8.5 编译时挂起

考虑以下程序:#include#includeintmain(){std::this_thread::sleep_until(std::chrono::steady_clock::now()-std::chrono::seconds(10));return0;}当用GCC4.8.5编译时,它会挂起。用GCC4.9及以上或clang3.4及以上编译时,立即返回,为什么会挂?据我了解,GCC4.8.5完全支持C++11标准。 最佳答案 这是一个已确认的错误,已在gcc4.9中修复。https://gcc.gnu.org/bugzilla

c++ - 从字符串设置 boost dynamic_bitset

Dynamicbitset我有一个需要填充的用例boost::dynamic_bitset,fromastd::stringbuffer.你能建议如何去做吗?所以我需要想出一个函数voidpopulateBitSet(std::string&buffer,boost::dynamic_bitset&bitMap){//populatebitMapfromastringbuffer} 最佳答案 如果你有这样的二进制数据:stringbuffer="0101001111011";您想像这样初始化它(原来有一个constructor可以处

c++ - 如何判断 bjam 正在使用哪些优化来构建 boost

我正在使用bjam为intel编译器和vs2008构建boost库,但我不知道从bjam传递给编译器的优化是什么。对于其中一个编译器的gcc,我可以在其中一个bjam文件中看到一些优化,但我找不到我关心的编译器的优化标志。所以,我的问题是-有谁知道默认优化标志位于何处?如果它们在bjam中声明,有人知道我如何覆盖它们吗? 最佳答案 如果您有兴趣查看在构建时传递给调用编译器的整套选项,您可以运行bjam与-n-a选项和其余构建选项,为您提供调用的完整命令集以及生成的任何响应文件(请参阅BoostJamOptions)。您也可以直接查看

c++ - 如何使用 boost random 生成随机 64 位整数

我正在尝试使用boostrandom生成一个随机的64位无符号整数,但是我遇到了uniform_int的断言失败。structtimevaltv;boost::mt19937randGen(tval.tv_usec);boost::uniform_intuInt64Dist(0,std::numeric_limits::max());boost::variate_generator>getRand(randGen,uInt64Dist);uint64_tclock_seq_=getRand();这是第3行的输出。main:/usr/include/boost/random/unifor