जब भी मैं ऑप्टिमाइज़ेशन सक्षम करने के साथ सी या सी ++ कोड संकलित करता हूं, डी जीसीसी 16-बाइट सीमा (आईए -32 पर) के कार्यों को संरेखित करता है। समारोह से कम 16 बाइट्स है, जीसीसी पैड यह कुछ बाइट्स, जिस पर सभी यादृच्छिक होने लगते हैं नहीं है के साथ:जीसीसी फ़ंक्शन पैडिंग मान
19: c3 ret
1a: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
यह हमेशा या तो 8d b6 00 00 00 00 ...
या 8d 74 26 00
हो रहा है।
क्या कार्य पैडिंग बाइट्स का कोई महत्व है?
मेरी समझ यह है कि जीसीसी फ़ंक्शन संरेखण पैडिंग के लिए 0s का उपयोग करता है, लेकिन जैसा कि मैं आपको ऐसे स्रोत पर इंगित नहीं कर सकता जो शायद बहुत उपयोगी नहीं है ... – William