草庐IT

libboost_serialization-vc

全部标签

c++ - 这在警告级别 4 的 VC9 中编译时没有警告。为什么有人不认为这是编译器缺陷?

我看到一些已发布的代码在SO上出现超出范围的错误,这让我感到奇怪。我希望编译器为此代码生成警告(至少在最高级别)#pragmawarning(push,4)intmain(){intx[2];x[2]=0;return0;}#pragmawarning(pop)但事实并非如此。EDG编译器很好地说:"sourceFile.cpp",line3:warning:subscriptoutofrangex[2]=0;^其实EDG说的有点多(都是意料之中的)"sourceFile.cpp",line1:warning:unrecognized#pragma#pragmawarning(push

c++ - Boost.Serialization 和 Boost.Python 双向 pickle

我有一个使用Boost.Serialization的C++库。我正在使用Boost.Python为这个库创建Python绑定(bind)。很清楚如何为使用Boost.Serialization的Boost.Python制作一个pickle套件(使用Boost.Serialization保存到一个字符串,然后将该字符串返回给Python)。我想要的是相反的:给定一个boost::python::object,我想要一个serialize(...)将调用Python的pickle.dumps()的函数函数并序列化结果字符串。(想象一个std::vector。当我序列化这个vector时,B

c++ - 如何使用 boost::asio::serial_port 支持硬件流控制?

我正在使用Boost的asio::serial_port库与虚拟串行端口(FTDI芯片)通信。我想使用硬件流控制(即RTS/CTS),但我似乎找不到太多关于如何将它与Boost一起使用的文档。我得到的代码是:serialPort.set_option(boost::asio::serial_port::flow_control(boost::asio::serial_port::flow_control::hardware));有了这一行,程序将不会运行。它说:libc++abi.dylib:terminatecalledthrowinganexceptionAborttrap:6如果

c++ - 哪些因素使迭代器在 Debug模式下如此缓慢(VC++ 2012)

我有一个包含10000个随机数(mod100)的vector,我想计算其中两个数字之和为100的对数。我写了以下内容:autonoPairsSumTo100=0;constautoitEnd=end(myNums);for(autoit1=begin(myNums);it1!=itEnd;++it1){for(autoit2=it1;it2!=itEnd;++it2){if(*it1+*it2==100){noPairsSumTo100++;}}}在我的机器上,这需要大约21.6秒才能在Debug模式下运行。如果我设置_ITERATOR_DEBUG_LEVEL=0(将_SECURE_S

c++ - 从 VC++ 调用 R 函数

我需要在我的C++代码中运行R的统计函数。有没有办法从我的C++代码中调用它们?我正在使用VS2005,是否需要包含任何头文件或链接任何库?我使用他们网站上提供的标准Windows安装程序安装了R。问候, 最佳答案 简要说明:正如经常提到的那样,R本身并不在VS*使C代码和C++代码的链接变得困难但可能不可能(因为函数头信息没有标准化)。鉴于标准,Rcpp和RInside在Windows上都能完美运行Windows工具链。(RInside确实有一个错误,但现在已修复。)RcppFAQ有更多关于VS*的内容(即你不能指望这个如果R本身

c++ - 关于来自 VC12 和 VC14 的 c++ 友元和继承的不同行为

classBase{protected:voidfunc1();};classDerived:publicBase{friendclassThird;};classThird{voidfoo(){Derived;d.func1();}};我可以在VC14(VisualStudio2015)中编译代码而不会出错但从VC12(VisualStudio2013)得到错误cannotaccessprotectedmemberdeclaredinclass'Base'谁是对的?这种具有继承性的友元的正确性是什么?来自MSDNhttps://msdn.microsoft.com/en-us/lib

c++ - 为什么成员函数尝试 block 处理程序中的 lambda(捕获 'this')不能访问 VC++ 2013 中的私有(private)数据成员?

与thisquestionaboutstaticinitializers不同但可能相关.前两个函数编译良好,最后一个函数在vc++中不编译,但在clang和gcc中编译:classA{protected:std::stringprotected_member="yay";public:voidwithNormalBlock();voidwithFunctionBlock();voidnoLambda();};voidA::withNormalBlock(){try{throwstd::exception();}catch(...){[this](){std::coutinclang(好

c++ - Visual Studio 2010 上的 VC++ : Release builds using debug heap

我正在对一个慢速C++应用程序进行基准测试/优化,在拍摄一些堆栈快照时,我发现我的应用程序的发布版本正在使用调试堆,因为找到的一些堆栈跟踪表明:ntdll.dll!string"Enablingheapdebugoptions\n"()+0x11056bytes这是一个在Windows7上运行的64位应用程序。我在完全相同的在线环境中看到两三个关于此问题的其他投诉,但没有任何回应。有没有人知道为什么Windows或VisualStudio会使用调试堆来发布构建C++项目? 最佳答案 Thedebugheapisusedwhenapr

c++ - VC++ 11 中的 std::thread 类导致随机崩溃。任何解决方法?

我在VisualStudio11DeveloperPreview中遇到了一个错误,至少我认为这是一个错误并报告了它,但我很想知道是否有人知道解决方法。当我使用std::thread类创建多个线程时,它会导致应用程序崩溃。有时它会抛出异常,有时会导致访问冲突,有时它会起作用。重现错误的代码如下所示:#include#include#include#includeint_tmain(intargc,_TCHAR*argv[]){std::vectorthreads;for(inti=0;ijoin();deletethreads[i];}return0;}使用静态或动态CRT库并不重要(它

c++ - 从单元测试 .EXE 项目中引用来自 VC++ .EXE 项目的类

我有一个旧的遗留C++应用程序,我正在尝试为其编写一些单元测试。我在我的解决方案中创建了第二个项目,该项目构建为单元测试可执行文件(使用googletest)。测试项目引用主项目的头文件。在我尝试使用主项目中的类之一之前,测试项目构建良好。#include"stdafx.h"#include"JsContext.h"#include"gtest/gtest.h"TEST(JsContextTests,CreateJsContext){JsContextcontext;//linkingfailsassoonasthislineisadded}产生..Error1errorLNK2001