草庐IT

c++ - boost::进程间共享内存

我的环境是Windows2008/2012C++VS2013。我希望STL映射在热重启后持续存在。使用boost:interprocess是一种解决方案,其中重新启动的应用程序是服务器端对map进行更新,而另一个客户端应用程序将连接到同一个共享内存段,以使其在服务器应用程序崩溃时保持“事件状态”/出于任何原因重新启动? 最佳答案 是的,你可以做到这一点。您可以使用interprocess::shared_ptr来获取您建议的引用计数。请记住,映射内存并非神奇的事务性,因此如果出现硬故障,则可能会出现损坏。如果您需要稳健的状态持久性,

c++ - 如何在 C++ Windows 中包含第三方库?

我的下载文件夹中有boost库。当我尝试包含特定文件时。它正在抛出错误。下面是代码和我做的步骤。\main.cpp#include"type_index.hpp"intmain(){//somecodereturn0;}我打开命令提示符并运行以下命令g++-IC:\Users\Owner\Downloads\boost_1_70_0\boost-omainmain.cpp命令提示符出现以下错误Infileincludedfrommain.cpp:2:0:C:\Users\Owner\Downloads\boost_1_70_0\boost/type_index.hpp:17:28:fa

windows - boost::random_device 的非 Linux 实现

目前,Boost只为Linux(也许是*nix)系统实现了random_device类。有谁知道其他操作系统的现有实现吗?理想情况下,这些实现将是开源的。如果不存在,我应该如何为Windows和MacOSX实现非确定性RNG?提供此功能的任一环境中是否存在API调用?谢谢(很抱歉提出所有问题)! 最佳答案 在MacOSX上,您可以使用/dev/random(因为它是*​​nix)。在Windows上,您可能需要CryptGenRandom函数。我不知道是否有使用它的boost::random_device的实现。

windows - Boost spirit : assertion fails under Windows but not Linux. 为什么?

[用完整的程序和版本更新替换代码]下面的代码在Windows下失败并显示以下消息(抱歉手动翻译自法语,我不知道如何强制VisualC++以英语工作)。这是在Windows下。它在Linux下工作。你可以编译Linux:gccLimaTokenizerParser.cpp-oLimaTokenizerPars-lboost_system-mt-lstdc++Windows(失败):clLimaTokenizerParser.cpp/Ic:\boost\path\include/EHsc我在Windows和Boost1.48下使用Boost1.50和VisualC++2010和Linux下

c++ - 开发-C++/TDM-GCC : Linkage Problems with Boost Libaries Downloaded from boost. 组织

我正在尝试在Dev-C++(tdm-gcc4.7.1)中使用regex。我已经从boost.org下载了Boost库并解压到C:\ProgramFiles(x86)\Dev-Cpp\boost并在Dev-C++中添加C:\ProgramFiles(x86)\Dev-Cpp\boost\libs去图书馆。包含路径(C/C++):C:\ProgramFiles(x86)\Dev-Cpp\boostmain.cpp:#includeusingnamespaceboost;intmain(){strings("sometxtPING:665454some_text");smatchmt;reg

c++ - 以编程方式获取 powershell.exe 的完整路径

我需要获取Powershell.exe的完整路径(绝对路径)才能在我的代码中运行powershell脚本。谁能建议我使用任何库或内置方法来执行此操作。我在windows.h中尝试了boost文件系统的absolute()方法和getFUllPathName()方法。但我设法得到的只是我项目的当前工作目录。 最佳答案 或者(如果您不喜欢依赖环境变量)您也可以查询注册表。Powershell在安装时写入了一个FriendlyTypeName值,在我的机器上是@"%systemroot%\system32\windowspowershel

python - 在 Windows 8.1 上安装 Boost Python,正确设置工具链

我正在尝试安装BoostPython,但是http://www.boost.org/doc/libs/1_55_0/libs/python/doc/tutorial/doc/html/python/hello.html对我来说太压缩了。我正在从Linux切换到Windows,设置所有技术性的东西让我抓狂:)所以当我按照说明操作时http://www.boost.org/doc/libs/1_55_0/more/getting_started/windows.html#prepare-to-use-a-boost-library-binary并尝试执行bootstrap.bat它提示缺少

c++ - 如何从 virustotal.com 中删除恶意软件标志

关闭。这个问题需要debuggingdetails.它目前不接受答案。编辑问题以包含desiredbehavior,aspecificproblemorerror,andtheshortestcodenecessarytoreproducetheproblem.这将有助于其他人回答问题。关闭7年前。Improvethisquestion我使用C++Win32API和boost库编写了自己的代码。代码编译为适用于Windows的EXE应用程序。我可以保证它不含恶意软件,但virustotal.com报告称,56款防病毒软件中有9款会将exe文件识别为带有恶意软件。我看不出为什么会发生这种

c++ - 使用 boost.process 同时读取和写入 child 的 stdio

我正在尝试使用类似这样的boost.process写入和读取child的stdio:boost::asio::io_servicewriteService,readService;bp::async_pipein{writeService};bp::async_pipeout{readService};bp::childprocess(CompressCmd.c_str(),bp::std_inout);Buffersrc;src.reserve(4*1024*1024);integer_typeread=0;//std::atomic_int64_ttotalWrite{0};int

c++ boost计算函数花费的时间

再次问好一个boost问题:我需要计算在我的boost线程中我的函数花费的时间:这里是代码:boost::posix_time::microsecondstes(12);inti=0;while(true){boost::posix_time::ptimestart=boost::posix_time::microsec_clock::local_time();myFunction();boost::this_thread::sleep(tes);boost::posix_time::ptimeend=boost::posix_time::microsec_clock::local_t