boost相关内容
在尝试编译利用 boost::filesystem 库的代码时,我一直遇到错误.我不明白我得到的任何编译器输出.这是我从 http://www.highscore.de/cpp/boost/dateisystem.html# 复制的代码dateisystem_pfadangaben: #include #include 诠释主要()
..
对于我的跨平台应用程序,我已经开始使用 Boost,但我无法理解如何实现代码来重现 Win32 的关键部分或 .Net 的 lock 的行为. 我想写一个方法Foo,可以从不同的线程调用来控制对共享字段的写操作.应该允许同一线程内的递归调用(Foo() -> Foo()). 在 C# 中这个实现非常简单: object _synch = new object();无效的富(){loc
..
我有一种情况,即可以在 wait() 之前调用 notify(). 当我通过向他发送消息“通知"他时,我正在尝试制作一个模拟器来安排它的下一个事件.所以我设计了一个等待->通知->调度链 void Broker::pause(){boost::unique_lock锁定(m_pause_mutex);{std::cout
..
我的场景:一台服务器和一些客户端(虽然不多).服务器一次只能响应一个客户端,因此必须排队.我正在使用互斥锁 (boost::interprocess::interprocess_mutex) 来执行此操作,并包裹在 boost::interprocess::scoped_lock 中. 问题是,如果一个客户端在持有互斥锁时意外死亡(即没有析构函数运行),其他客户端就会遇到麻烦,因为它们正在等
..
如果有帮助,我正在使用 UDP,特别是 boost::asio::ip::udp::socket 套接字? 什么是头文件? 在 boost 下使用 UDP 处理网络字节排序需要哪些标头/类? 解决方案 刚刚发现 #include 就足够了,因为这会引入所有平台相关的标头和提供对 htonl/ntohl 的访问权限,这正是我所需要的. 感谢
..
首先,我知道同一主题还有其他几个主题,但我无法在其中找到任何可以帮助我的内容,因此我将尝试非常具体地说明我的情况. 我设置了一个简单的 UDP 客户端/UDP 服务器对,负责在多个并行模拟之间发送数据.也就是说,模拟器的每个实例都在单独的线程中运行,并在 UDP 套接字上发送数据.在主线程中,服务器正在运行并在模拟之间路由消息. (对于这个问题)服务器代码的重要部分如下所示: UDP
..
Boost asio 特别允许多个线程调用 io_service 上的 run() 方法.这似乎是创建多线程 UDP 服务器的好方法.但是,我遇到了一个我正在努力寻找答案的障碍. 看一个典型的 async_receive_from 调用: m_socket->async_receive_from(boost::asio::buffer(m_recv_buffer),m_remote_end
..
我正在使用 UDP 创建服务器/客户端范例,但 Rust 服务器没有接收 C++ 客户端消息.我已经能够成功地进行 Rust 服务器/Rust 客户端和 C++ 服务器/Rust 客户端通信. 这让我相信我的 C++ 代码存在问题,或者在将 C++ 缓冲区发送到 Rust 时存在某种类型的错误通信,但我使用了我认为有效的代码.这只是从同一台计算机发送和发送到同一台计算机,尚未扩展到计算机到计
..
我有一个服务器,它收集信息并通过本地网络广播一些消息.我正在使用 boost::asio 在端口 8079 上通过 UDP 广播这些数据包,我可以使用 WireShark 验证这些数据包实际上是按预期广播的. 现在,很自然地,我想跟进一个可以对这些消息做出反应的听众,但我很难收到任何东西.我目前的做法是: boost::asio::io_service io_service;boost::
..
我使用 C++ 作为应用主干,使用 Objective-C 作为 GUI,这很好. 但是在将这些代码混合到 Objective-C++(.mm 文件)中时,我有几个问题: 1.我可以将 STL 容器与 Objective-C 或 Cocos2D 对象混合使用吗? 例如在 Objective-C 标头中,我可以执行以下操作吗? #include #include
..
如何使队列线程安全?我需要推/弹出/前/后并清除.boost中是否有类似的东西? 我有一个生产者和一个或多个消费者. 解决方案 您必须保护对 std::queue 的访问.如果你使用 boost 保护它使用 boost::mutex.现在,如果您有多个阅读器和一个编写器线程,请查看 boost::shared_lock(用于阅读器)和 boost::unique_lock(用于编写器
..
我正在尝试用 boost::lockfree::queue 替换此文件中的 std::queue https://github.com/zaphoyd/websocketpp/blob/experimental/examples/broadcast_server/broadcast_server.cpp 我添加了 #include ;更改行
..
我正在尝试将 std::strings 放入 boost::lockfree::queues 中,以便我的线程可以使用新数据相互更新. 当我尝试使用 boost::lockfree::queue更新数据;,g++ 说: 在 'class boost::lockfree::queue >' 的实例化中: 错误:静态断言失败:(boost::has_triv
..
我收到此警告消息.. 但我不知道问题出在哪里/哪里..! 包括 #pragma 警告(推送)#pragma 警告(禁用:4996)#include #include #include
..
我有 2 个进程(生产者和消费者)在共享内存中共享一个 int 双端队列,我让生产者进程在双端队列中放入 2 个数字,然后它进入等待状态,失去互斥锁.然后我让消费者进程删除数字并打印它们.然后它会根据生产者正在等待的条件发出通知.然后消费者在第二个条件下自行等待.在这种情况下,生产者不会醒来.我在进程之间使用相同的互斥锁.请在下面找到所有代码. 包含文件 shared_memory.h:
..
我想做以下事情: 在字符串和任何类型的对象(可以是列表、整数 - 任何东西)之间定义映射. 地图的键可以如下(同样,这些值并不重要): “AAA/123"==> 1 “AAA/"==> 2 “BBB/" ==> 3 "CCC/*" ==> 4 “CCC/123"==> 5 现在,诀窍是我想在给定以下字符串的情况下找到正确的值: “AAA/123"应该给 1. “AAA/111"
..
在 this answer 上,有一条评论建议使用一个有用的 C++ 构造,类似于 make_zip_iterator,但对于范围:它需要一个范围元组并生成一个新范围 - 其 begin() 和 end() 迭代器是适当的 zip 迭代器. 现在,这应该不太难实现,但我想知道 - Boost 不是已经以某种方式提供了吗? 解决方案 Boost.Range 提供 combine() 函
..
我使用 boost::asio::read (或者可能是等效的 async_read) 从套接字读取一些数据. 是否可以将读取的字节保留在底层套接字中,以便下次在套接字上调用 read 时再次收到该数据? 解决方案 就像 Simon 说的,你不能用 boost::asio::read() (或 boost::asio::async_read()).但是,对于 read() 您可以在套
..
boost::asio::ip::tcp::socket 的析构函数究竟做了什么?即使在搜索 Boost 文档和源代码之后,我也无法判断是否需要使用 socket->shutdown(boost::asio::ip::tcp::socket::shutdown_both);套接字->关闭(); 打电话之前 删除套接字; 我需要手动关闭套接字,还是由析构函数处理? 解决方案 当一个s
..
我只是想从现有的本机套接字创建一个 boost ip::tcp::socket.在 assign 函数中,第一个参数必须是“protocol_type",第二个参数必须是“native_type",但它从不解释它们是什么或给出其使用示例. 我猜第二个应该是套接字描述符,但我非常感谢澄清. void SendData (int socket, std::string message){boo
..