草庐IT

BOOST_NO_EXCEPTIONS

全部标签

c++ - boost::asio 错误?销毁io_service之前的task_io_service

我在我的代码中发现了这个奇怪的错误。这是我设法完成的自包含测试用例。#include#include#include#include#includeusingboost::asio::io_service;usingstd::placeholders::_1;classasync_service{public:async_service();async_service(size_tnumber_threads);~async_service();async_service(constasync_service&)=delete;voidoperator=(constasync_serv

c++ - 未解析的外部符号 boost::chrono::system_clock::now(void)

谷歌一直不友善...我最近取消了boost1.50,并尝试使用它来构建我的项目。这是一个大型项目,使用了多种boost功能(线程、信号、指针类、spirit等)。一些细节:-MSVC9.0(2008)-静态链接boost我在链接每个生成的exe时遇到错误,但是对于chrono,我没有直接链接它。错误是:libboost_thread-vc90-mt-sgd-1_50.lib(thread.obj):errorLNK2019:unresolvedexternalsymbol"public:staticclassboost::chrono::time_point>>__cdeclboost

c++ - boost 异步 tcp 客户端

我刚刚开始使用boost。我正在使用异步套接字编写TCP客户端-服务器。任务如下:客户端向服务器发送一个数字客户端可以在收到服务器的回答之前发送另一个数字。服务器收到一个数字,用它做一些计算并将结果发送回客户端。多个客户端可以连接到服务器。现在可以执行以下操作从客户端发送一个数字到服务器服务器在当前线程中接收到一个数字并在OnReceive处理程序中进行计算(我知道这很糟糕......但是我应该如何启动一个新线程来并行计算)服务器返回应答但客户端已经断开连接如何让客户端在键盘输入数字的同时等待服务器的响应?为什么我的客户端不等待服务器的响应?客户端代码:usingboost::asio

c++ - 如何在 boost (c++) 中将内存页锁定到物理 RAM?

对于需要将内存页锁定到物理内存中的实时C++应用程序,我正在处理boost中的共享内存对象。我没有看到在boost中执行此操作的方法。我觉得我错过了一些东西,因为我知道Windows和Linux都有这样做的方法(mlock()和VirtualLock())。 最佳答案 根据我的经验,最好编写一个小型跨平台库来为此提供必要的功能。当然,在内部会有一些#ifdef-s。类似这样的事情(假设GetPageSize和Align*已经实现):voidLockMemory(void*addr,size_tlen){#ifdefined(_uni

c++ - Boost Graph Library astar和导航网格

我在做一个项目SFML/C++,我需要生成一个图来连接它们之间的障碍物以方便寻路,所以我有兴趣生成一个导航网格,我将应用boostA*算法。有点像这样:但是我在使用BoostGraphLibrary实现它时遇到了很多问题(如果您有一个更合适的库,我很感兴趣)。首先,我创建一个具有适当结构的adjacency_list:structWayPoint{sf::Vector2fpos;};structWayPointConnection{floatdist;};typedefboost::adjacency_listWayPointGraph;typedefWayPointGraph::ve

c++ - 在 MacOS 10.9 (Mavericks) 上构建 Boost.Python 应用程序

我升级到Mavericks,现在在进行大量故障排除后无法构建我的应用程序。在链接期间,我收到错误Undefinedsymbolsforarchitecturex86_64:"boost::python::objects::function_object(boost::python::objects::py_functionconst&,std::pairconst&)..."boost::python::objects::register_dynamic_id_aux(boost::python::type_info,std::pair(*)(void*))"我正在使用来自macpor

c++ - 为什么 "cc1plus: warning: unrecognized command line option"选项的 "no-"仅在出现另一个警告时由 g++ 标记?

>catwarning.cpp#pragmafoobar>catno_warning.cpp#pragmamessage"foobar">g++-Wall-Wno-foobar-cwarning.cppwarning.cpp:1:0:warning:ignoring#pragmafoobar[-Wunknown-pragmas]cc1plus:warning:unrecognizedcommandlineoption"-Wno-foobar"[enabledbydefault]>g++-Wall-Wno-foobar-cno_warning.cppno_warning.cpp:1:17

c++ - 是否所有官方 Qt 二进制文件都使用 -no-exceptions 构建?

如果我写try{throwstd::exception("Exception");}catch(std::exception&ex){qDebug("GameOver");}在我的主函数(或其他任何地方)中,我的Qt应用程序崩溃了。Exceptionhandlingdoesn'tworkwithQtonWindows中描述了这种效果(5年前).原来的发布者显然通过自己重新配置和重建QtSDK(显式启用-exceptions)解决了这个问题,但我很难相信所有Qt二进制文件都关闭了异常并且每个使用异常的人都必须这样做。谁能告诉我这是记录在案的地方,告诉我这是真的还是我在这里做错了什么?我现

c++ - 在 Boost.Log 中正确重载运算符 <<

在Boost.Logdocumentation,据说NoteThelibraryusesbasic_formatting_ostreamstreamtypeforrecordformatting,sowhencustomizingattributevalueformattingrulestheoperatormustusebasic_formatting_ostreaminsteadofstd::ostream.但是,在整个文档中,我所看到的只是重载operator在std::ostream而不是basic_formatting_ostream在示例代码中。例如,查看自定义类型的重载s

c++ - 如何使用 Cereal 序列化 boost::ptr_vector?

是否可以使用cereal序列化boost::ptr_vector实例?如果是,怎么办? 最佳答案 绝对有可能。您可以在存档和指针类型上创建外部save()和load()模板函数,如下所示:#include#include#include#include#include//Sampleserializableobject.structMyRecord{std::strings_;MyRecord(conststd::strings=std::string()):s_(s){}templatevoidserialize(Archive&