草庐IT

BOOST_PP_SEQ_FOLD_LEFT

全部标签

c++ - 如何为代码块 13.12 编译 boost 1.55.0 到 win7(32 位)?

我已经研究了几个小时了,但在任何地方都找不到直接的答案。将boostzip内容解压到目录(放在C:\ProgramFiles\boost_1_55_0中)后,我启动命令提示符并尝试按照指示编译批处理(bootsrap.bat)。失败。消息返回:构建Boost.Build引擎'cl'不是内部或外部命令,也不是可运行的程序或批处理文件。无法构建Boost.Build引擎。请查阅bootstrap.log以进行进一步诊断。bootstrap.log显示:######Using'msvc'toolset.###C:\ProgramFiles\boost_1_55_0\tools\build\v

c++ - 启动 Boost 线程时的保证

我正在使用Boost和VisualStudio2013don'tsupportstheC++11memorymodel.启动Boost线程时是否有任何内存保证?我在JavaLanguageSpecification17.4.5中寻找保证:Acalltostart()onathreadhappens-beforeanyactionsinthestartedthread.在我的例子中,我想创建一个(非线程安全的)TCP客户端,而不是启动一个接收线程:structConnection{boost::shared_ptrclient;};autoclient=boost::shared_ptr

c++ - 在 win32::WaitForSingleObject 期间 Windows 上的 Boost.Thread 断言/崩溃

我的代码中有一个很少发生的问题会触发断言,涉及Boost.Thread库。我无法使用独立示例重现此问题,而且我也不知道是什么原因造成的,因此很难提供示例案例。我希望任何熟悉boost.thread内部结构的人都能提供帮助。这是我知道的:问题发生在boost::lock_guard(或unique_lock和普通非递归互斥锁的变体)被声明。它发生在Boost.Asio的处理函数中。堆栈上是执行io_service::run的线程,一堆调用Asio回调函数的胶水,然后是我的回调函数(由async_write调用触发)。该函数的第一行是lock_guard的声明这是导致问题的原因。this我

c++ - 使用 boost::filesystem 将文件路径从 Windows 转换为 Linux,然后再转换回来

是我,还是boost::filesystem::path::make_preferred没有将“\”转换为“/”?davidan@kempt:~/Documents/prog/work!$../practice/./path_infoc:\pitoufoo/bar\baa.txtcomposedpath:coutmake_preferred()----------:"c:pitou/foo/bar\baa.txt"我很期待c:\pitou\foo\bar\baa.txt在window上和/pitou/foo/bar/baa.txt(或类似的东西)在POSIX上来源在这里:boost::

C++ Boost 为两个不同的进程创建共享内存

因此,我尝试在C++程序中创建一个共享内存段,这样我就可以在其中写入一个简单的字符,然后从另一个C++程序中读取该字符。我已经下载了Boost库,因为我看到它简化了这个过程。基本上我有两个问题:首先,创建后如何写入它?那我应该在第二个程序中写些什么来识别段并读取其中的信息?这就是我到目前为止所得到的。不是很多,但我对这个(第一个程序)还是很陌生:#include"stdafx.h"#include#includeintmain(intargc,char*argv[]){usingnamespaceboost::interprocess;windows_shared_memoryshar

c++ - 为 boost::locale::conv 中的函数获取用户的代码页名称

手头的任务我在Windows上从UTF-8编码的XML解析文件名。我需要将该文件名传递给一个我无法更改的函数。在内部它使用_fsopen()不支持Unicode字符串。当前方法我目前的方法是将文件名转换为用户的字符集,希望文件名可以用该编码表示。然后我使用boost::locale::conv::from_utf()从UTF-8转换,我使用boost::locale::util::get_system_locale()获取当前语言环境的名称。生活美好吗?我在德语系统上使用代码页Windows-1252因此get_system_locale()正确地产生了de_DE.windows-12

c++ - 在 Linux 上 boost windows_shared_memory

您好,我需要在Linux上构建一个项目,但它使用“boost/interprocess/windows_shared_memory.hpp”有什么方法可以在linux上运行它,或者我必须重写这段代码?谢谢 最佳答案 我认为你只需要使用#include而不是boost/interprocess/windows_shared_memory.hpp。这将处理Windows和Linux。 关于c++-在Linux上boostwindows_shared_memory,我们在StackOverfl

c++ - 我可以在 Windows 操作系统上使用本地套接字吗? - C++/boost

我可以在Windows操作系统上创建boost::asio::local::stream_protocol::socket吗?我知道它应该是一个“UNIX”套接字,但Windows不支持这个吗? 最佳答案 如果我理解正确,boost::asio::local::stream_protocol是特定于POSIX的。Windows本身不是符合POSIX的环境,但是有适用于Windows的POSIX环境,即Cygwin.但是如果不分发环境,您将无法分发这些应用程序。在某些情况下,尤其是当Unix是您的主要目标平台,并且您出于慷慨提供Win

c++ - cmake 在 Windows 上生成错误,因为它使用\as escape seq

我的cmake中有这样的东西:set(MyLib_SRC$ENV{MyLib_DIR}/MyLib.cpp)add_library(MyLibrarySTATIC${MyLib_SRC})但是当我运行cmake时,出现了这个错误:CMakeWarning(dev)atCMakeLists.txt:97(add_library):SyntaxerrorincmakecodewhenparsingstringD:\New\Development\Lib/myLib.cppInvalidescapesequence\NPolicyCMP0010isnotset:Badvariablerefe

c++ - Boost 是否支持 Windows EnterCriticalSection API?

我知道Boost支持互斥锁和lock_guard,可用于实现临界区。但是Windows有一个用于关键部分的特殊API(参见EnterCriticalSection和LeaveCriticalSection),它比互斥锁快很多(对于很少竞争的短代码部分)。因此我的问题-在Boost中可以利用这个API,并回退到其他平台上基于自旋锁/互斥/futex的实现吗? 最佳答案 简单的答案是否定的。这里有一些相关背景fromanoldmailinglistthread:BTW.Iamagreethatmutexismoreuniversalso