草庐IT

ZN5boost

全部标签

c++ - boost::interprocess::named_mutex 与 CreateMutex

我想从CreatMutex切换到boost::interprocess::named_mutex以将我的应用程序限制为单个实例。当应用程序正常运行和结束时,这两种方法都有效。但是,当应用程序崩溃并使用boost::interprocess::named_mutex时,锁不会被释放。我可以通过使用两个name_mutex来解决这个问题,但我真的不明白这个问题。为什么boost::interprocess::named_mutex的锁在应用程序崩溃时没有释放,但它是通过CreatMutex释放的?有什么区别?boost::interprocess::named_mutexmutex(boo

c++ - 设置 boost 并与 Visual Studio 2010 Express 一起使用

我知道您可以在网络上找到类似的问题,尤其是在stackoverflow中,但我仍然需要写这个问题,因为我找不到任何有分步教程的页面,如何设置boost库并将其与VisualStudio2010速成版。即使在这里:HowtouseBoostinVisualStudio2010有些步骤(例如3、4)我找不到菜单...所以请帮助我能够在Win7上使用visualstudio2010express的boost。 最佳答案 对于建筑:从这里下载Boost:http://www.boost.org/users/download/并提取文件双击b

c++ - 在 Windows 10 和 Visual Studio Community 2019 下使用 boost with Bazel

我已经建立了一个简单的C++程序,它使用了boost文件系统模块。为了构建程序,我使用Bazel0.25.0。我在Windows10x64下工作。我安装了VisualStudio2019CommunityEdition并将BAZEL_VC设置为E:\ProgramFiles(x86)\MicrosoftVisualStudio\2019\Community\VC。我已经安装了MSYS2shell。这是我的文件(也可以在GitHub上找到):工作区workspace(name="BoostFilesystemDemo")load("@bazel_tools//tools/build_de

c++ - 间歇性地没有数据通过 boost::asio/io 完成端口传递

问题我正在使用boost::asio对于同一台机器上的两个进程使用TCP/IP进行通信的项目。一个生成数据供另一个读取,但我遇到了间歇性地没有数据通过连接发送的问题。我将其归结为下面一个非常简单的示例,基于asynctcpechoserverexample.流程(下面的源代码)开始时运行良好,以快速的速度将数据从发送方传送到接收方。然后突然间,在大约五秒钟内根本没有传送任何数据。然后再次传送数据,直到下一次莫名其妙的停顿。在这五秒钟内,进程消耗0%CPU,并且似乎没有其他进程做任何特别的事情。停顿的长度始终相同-五秒。我正试图弄清楚如何摆脱这些摊位以及造成这些摊位的原因。整个运行期间的

c++ - boost-C++ 库是否与 win98 兼容?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭6年前。Improvethisquestion我知道,这听起来很荒谬,但我被要求制作一个与win98向后兼容的应用程序。具体来说,我对我使用过的boost-thread库很感兴趣。那么,我在哪里可以找到有关哪个版本的boost库与哪个操作系统兼容的信息?

c++ - boost::program_options - 解析多个命令行参数,其中一些是字符串,包括空格和字符

我想使用boost::program_options解析多个命令行参数。但是,一些参数是用双引号括起来的字符串。这就是我的-voidprocessCommands(intargc,char*argv[]){std::vectorcreateOptions;boost::program_options::options_descriptiondesc("Allowedoptions");desc.add_options()("create",boost::program_options::value>(&createOptions)->multitoken(),"createcomman

c++ - 在 boost::asio::serial_port 上解锁同步读取

我有一个boost::thread,它在boost::asio::serial_port上执行同步读取。当我销毁包含这两者的类的实例时,我希望线程能够优雅地结束,即使它在读取调用中被阻塞也是如此。我该怎么做?查看docs,我试过cancel,但它只适用于异步读/写。然后我尝试了close,但我得到了一个异常,它不是你可以从中恢复的那种。也许使用send_break或native_handle?(这是Windows,可移植性并不重要)更新:我还尝试停止传递给串行端口对象构造函数的io_service,但是读取code>没有解锁。编辑:异常实际上是“可捕获的”,但我不想在析构函数中放置一个

使用 MinGW-w64 和 Boost.Build 的 C++ 构建环境

我目前正在将我的一个项目移植到GCC,并且我正在使用MinGW-w64项目来完成这项工作,因为我需要x64和x86支持。不过,我在设置构建环境时遇到了问题。我的项目目前使用BoostC++库,为了简化构建过程,我也在我的项目中使用了Boost.Build(因为它使集成变得简单)。在MSVC下这很好,因为我可以从命令行执行以下操作:b2toolset=msvcaddress-model=32#compileas32-bitb2toolset=msvcaddress-model=64#compileas64-bitMinGW-w64使这个“有问题”,因为32位和64位工具链位于不同的目录中

c++ - 如何在 Windows 中使用 boost asio 从命令行异步读取输入?

我找到了thisquestion它询问如何异步读取输入,但只适用于POSIX流描述符,这在Windows上不起作用。所以,我找到了thistutorial这表明我可以使用boost::asio::windows::stream_handle而不是使用POSIX流描述符。根据这两个示例,我想出了下面的代码。当我运行它时,我无法在命令提示符中键入任何内容,因为程序会立即终止。我希望它捕获来自用户的任何输入,可能到std::string中,同时允许我的程序中的其他逻辑执行(即从Windows控制台执行异步I/O)。本质上,当我的程序试图从stdin中读取时,我试图避免阻塞我的程序。我不知道这

c++ - 使用 Visual Studio 调试时看不到 boost::optional 内容

如果我尝试直接查看变量,我会看到一个?符号。如果我创建一个调用is_initialized函数的watch,我会收到以下错误:CXX0033:Error:errorinOMFtypeinformation我没有找到太多关于使用Google的Boost相关错误的信息。有没有人遇到过这种情况?到处使用OutputDebugString并重新构建是一件麻烦事...编辑:在WindowsXPSP3idem和Boost1.49.0中使用VisualStudio2010SP1和所有修补程序更新:这个问题来来去去,并不是一直发生;DebuggerVisualizers是一个很棒的解决方案,我已将它们