c++ - buffer overflow with boost::program_options -
मुझे प्रोत्साहित करने का एक समस्या है: program_options
यह आसान प्रोग्राम, बस्ट्स दस्तावेज़ से कॉपी-चिपकाया गया है :
<पूर्व> #include & lt; boost / program_options.hpp & gt; Int main (int argc, char ** argv) {नामस्थान po = boost :: program_options; Po :: options_description desc ("अनुमत विकल्प"); Desc.add_options () ("सहायता", "सहायता संदेश" उत्पादित करें) ("संपीड़न", पीओ :: मान & lt; int & gt; (), "सेट संपीड़न स्तर"); वापसी 0; }
एक बफर ओवरफ्लो के साथ विफल रहता है।
मैंने "बफर सुरक्षा स्विच" सक्रिय कर दिया है, और जब मैं इसे चलाता हूं मुझे "अज्ञात अपवाद (0xc0000409)" मिलता है जब मैं लाइन desc.add_options () ... से अधिक कदम उठाता हूं ...
मैं Visual Studio 2005 का उपयोग करता हूं और 1.43.0 को बढ़ावा देता हूं।
वैसे भी अगर मैं स्विच निष्क्रिय करता हूं लेकिन मैं ऐसा करने में सहज महसूस नहीं करता ... जब तक कि स्थानीय रूप से इसे निष्क्रिय नहीं किया जा सके।
तो क्या आपको इस समस्या का समाधान है?
संपादित करें मुझे लगता है कि मैं libboost_program_options-vc80-mt.lib के खिलाफ लिंक कर रहा था समस्या पाया जो अच्छी लाइब्रेरी नहीं थी।
< 2005 में काम करने के बारे में था, लेकिन मुझे एहसास हुआ कि मेरे पास उस वातावरण में 1.43 संकलित नहीं है।
Comments
Post a Comment