दोस्तों, मेरे पास एक प्रोजेक्ट है जिसे मैंने एआरएम कॉर्टेक्स-ए 8 प्रोसेसर के लिए संकलित किया है। मैं ऐसा करने के लिए जीसीसी का उपयोग कर रहा हूं। वर्तमान में मेरे निष्पादन योग्य का आकार 220.1 केबी है। अब मैं अपने makefile को संशोधित करने और मैं झंडा -mthumb
जोड़ने के लिए, makefile लाइन इस तरह कुछ हद तक लग रहा है -एआरएम थंब मोड: कोड आकार
gcc -mcpu=cortex-a8 -mthumb -marm -mfloat-abi=softfp -mfpu=neon
मैं इस सब मेरे makefiles में आने वाले बदलाव करते हैं और मैं अपने प्रोजेक्ट का निर्माण, लेकिन निष्पादन मैं अंत में अभी भी प्राप्त करने के लिए जारी है 220.1 केबी का हो।
मैं अपने कमांड लाइन के लिए एक और परिवर्तन किया है, मैं एक बार फिर -mthumb-Interwork विकल्प
gcc -mcpu=cortex-a8 -mthumb -mthumb-interwork -marm -mfloat-abi=softfp -mfpu=neon
जोड़ा मैं एक ही आकार के निष्पादन 220.1 KB। क्या मैं ऐसा करने के दौरान कुछ याद कर रहा हूँ?
मैं एक छोटे से कार्यक्रम में लिखा था, दो नंबर की सबसे छोटी खोजने के लिए और मैं निम्नलिखित कमांड लाइन
gcc main.c -o main
मैं एक 8.5 KB निष्पादन योग्य मिल का उपयोग कर इसे संकलित
इसके बाद, मैं एक
करनाgcc -mthumb main.c -o main
मुझे अभी भी एक 8.5 केबी निष्पादन योग्य मिलता है।
क्या गलत है?
मैंने cat /proc/cpuinfo
किया था यह देखने के लिए कि अंगूठे वास्तव में मेरे प्रोसेसर द्वारा समर्थित है या नहीं, और मुझे लगता है कि यह वास्तव में समर्थित है। मैं - जब ARMv7 के लिए संकलन
Processor: ARMv7 Processor rev 5 (v7l)
Features: swp half thumb fastmult vfp edsp neon vfpv3
....
....
'-marm'' -mthumb' का काउंटर है और 'gcc' अंतिम विकल्प लेता है; यही कारण है कि * dwelch * जवाब काम करता है। –