स्टैक संरेखण क्या है? इसका उपयोग क्यों किया जाता है? क्या इसे संकलक सेटिंग्स द्वारा नियंत्रित किया जा सकता है?"स्टैक संरेखण" क्या है?
एमएसवीसी के साथ ffmpeg पुस्तकालयों का उपयोग करने की कोशिश करते समय इस प्रश्न का विवरण सामना करने वाली समस्या से लिया गया है, हालांकि मुझे वास्तव में क्या रूचि है, यह "स्टैक संरेखण" का एक स्पष्टीकरण है।
विवरण:
- जब runnig मेरे MSVC कार्यक्रम मैं निम्न त्रुटि प्राप्त avcodec से जोड़ता है जो पालन किया: "। संकलक ढेर चर संरेखित नहीं किया libavcodec miscompiled कर दिया गया है", में एक दुर्घटना के बाद avcodec.dll।
- avcodec.dll msvc के साथ संकलित नहीं किया गया था, इसलिए मैं यह देखने में असमर्थ हूं कि अंदर क्या हो रहा है।
- ffmpeg.exe चलाते समय और उसी avcodec.dll का उपयोग करके सबकुछ ठीक से काम करता है।
- ffmpeg.exe MSVC के साथ संकलित नहीं किया गया था, यह जीसीसी/MinGW (avcodec.dll के रूप में ही)
धन्यवाद का पालन किया गया था
दान
स्मृति में चर के
चूंकि अन्य ने समझाया है कि स्टैक संरेखण क्या है और इसका उपयोग क्यों किया जाता है, मैं सिर्फ "दो कंपाइलर सेटिंग्स द्वारा नियंत्रित किया जा सकता है" _ के संबंध में अपने दो सेंट जोड़ना चाहता हूं। _ _। [यह प्रश्न] देखें (http://stackoverflow.com/questions/5496045/why-is-my-stack-pointer-only-incrementing-in-multiples-of-16?lq=1) – andreee