草庐IT

buffer-overflow

全部标签

c++ - 如何在 Protocol Buffer 中设置嵌套消息的字段?

我有一个如下所示的原型(prototype)文件:messageterminal_data{requiredint32type=1;//1-->trade2-->ordermessagetrade_data{optionalstringclient_id=1;optionalstringstrat_id=2;optionalstringsymbol_name=3;optionalint64trade_id=4;optionalstringexpiry=5;optionalint64quantity=6;optionalstringtime=7;}messageorder_data{op

c++ - 无法在结构中包含 circular_buffer

我是cpp的新手。我想把“boost::circular_bufferhistpos(5);”用5个空格将5个元素存储在cpp结构中作为成员。我试试这个:typedefstructhistposRecorder{int32_ttrack_id;boost::circular_bufferhistpos(5);}coRecord;我得到这个错误:error:expectedidentifierbeforenumericconstantboost::circular_bufferhistpos(5);error:expected‘,’or‘...’beforenumericconstant

c++ - Protocol Buffer 如何支持标准容器的序列化/反序列化?

我们计划用分布式系统设计中使用的ProtocolBuffer替换Boost.serialization。ProtocolBuffer如何支持复杂的数据结构,例如标准容器?例如,在我们的例子中需要对这样的类进行序列化/反序列化:classFoo{std::vector>>>data;}; 最佳答案 ProtocolBuffer使用了一个解析器,它接受一个.proto文件并创建适当的序列化例程。参见this.更新:您可以将字符串vector表示为:messageMyCollection{repeatedstringstr=1;}在你的原

c++ - 使用 wcsncpy_s 复制字符串时缓冲区太小

这段C++代码有点蹩脚,但我需要维护它。我似乎无法弄清楚“缓冲区太小”的问题。我正在使用VisualStudio2010。我将根据我在调试器中看到的值提出重现所需的最少代码。抱歉,我不会测试实际的片段本身。另外,由于我的系统剪贴板在我调试时“很忙”,我不能只是复制和粘贴,所以一些错误可能会在某处蔓延,但我会仔细检查一些东西。相信我,您不想看到整个函数-它太长了,没有任何意义:)来自tchar.h#define_tcsncpy_swcsncpy_s来自afxstr.h:typedefATL::CStringT>CString;来自WinNT.h:typedefWCHARTCHAR,*PT

c++ - 在 C++ 中比较 buffer 和 const char*

将内存缓冲区与常量字符串进行比较的正确C++方法是什么-strcmp(buf,"sometext")?我想避免由于创建临时std::string对象而导致不必要的内存复制。谢谢。 最佳答案 如果您只是检查相等性,您可以使用std::equal#includeconstchar*text="sometext";constintlen=8;//lengthoftextif(std::equal(text,text+len,buf))...当然,如果您的缓冲区可以小于文本,这将需要额外的逻辑

c++ - LNK2013错误 "fixup overflow"

我有一个用C++编写的Windows8Metro应用程序,我正在尝试将其编译为ARM。在链接过程中,我遇到了以下错误的许多实例:"errorLNK2013:BLX23(T)fixupoverflow.Target''isoutofrange"MSDNsite说:“您可以通过创建多个图像或使用/ORDER选项来解决此问题,这样指令和目标就更靠近了。”但我真的不明白如何让它发挥作用。有问题的符号是编译器生成的,不涉及安腾架构,因此该页面上的其他建议不适用。此外,有错误的文件是*.g.cpp文件,由编译器从项目中包含的xaml页面生成。metro应用程序在Win32配置上运行得很好,所以我想

c++ - 哪些库必须与 Protocol Buffer 生成的 C++ 代码链接

我有来自mytest.proto文件的mytest.cc和mytest.h输出,但我找不到关于如何为此使用g++编译对象的任何引用。(.proto很好,因为我可以使用Python)g++mytest.cc-l????????要包含哪些库? 最佳答案 我想你可能需要链接到libprotobufg++mytest.cc-lprotobuf-omytest 关于c++-哪些库必须与ProtocolBuffer生成的C++代码链接,我们在StackOverflow上找到一个类似的问题:

c++ - 使用 C 和 C++ 的 Protocol Buffer

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭11年前。现在我有一个带有ProtocolBuffer的c/s程序(使用c++)。我想用c重写服务器。但是在.proto文件中有很多服务。该程序实现了rpc本身,而protocolbuffers-c提供了另一个。我希望有人向我展示如何实现此示例。service{rpcfoo(what)returns(what);}客户端用c++,服务器用c,怎么写这个服务。

c# - 如何在混合应用程序中获取有关缓冲区溢出异常的信息?

在我开发的所有WPF应用程序中,都有一个订阅了AppDomain.CurrentDomain.UnhandledException的全局异常处理程序,它记录了它可以找到的所有内容,然后显示一个对话框告诉用户联系作者,在哪里日志文件等。这非常有效,客户和我都非常满意,因为它可以快速解决问题。然而,在混合WPF/C#/CLI/C++应用程序的开发过程中,有时会出现应用程序崩溃,而这些崩溃不会进入上述异常处理程序。相反,会弹出一个标准的Windows对话框,提示“XXX已停止工作”。在细节中它显示例如ProblemEventName:BEXApplicationName:XXX.exeFau

c++ - 是什么导致来自 WinHttpSendRequest 的间歇性 SEC_E_BUFFER_TOO_SMALL 错误?

我有一个工具可以针对具有相同header、相同帖子正文等的相同URL执行HTTPSPOST命令多次迭代。我遇到的情况是,对于某些测试人员,WinHttpSendRequest()函数经常失败,随后对GetLastError()的调用返回SEC_E_BUFFER_TOO_SMALL(0x80090321),记录在此处:COMErrorCodes(SecurityandSetup).这不是WinHttpSendRequest()的记录错误代码,相当广泛的谷歌搜索也没有为此找到任何东西。我已经四重检查了我提供的WinHttpSendRequest()输入是否正确有效,并且这些输入连续工作了数