2010-06-29 13 views
13

मैं जीसीसी संस्करण 4.0.3 से 4.3.3 में स्थानांतरित हो गया हूं और महसूस किया है कि -एमएफपीएथ जीसीसी 4.3.3 में डिफ़ॉल्ट रूप से एसएसई सेट करने के लिए सेट किया गया था। यह वास्तव में मेरे आवेदन में त्रुटियों का कारण बन गया। 4.0.3 में -एमएफपीएथ 387 था।जीसीसी 4.3.3 संकलक विकल्प डिफ़ॉल्ट रूप से सक्षम

मैं जानना चाहता हूं कि मैं किसी दिए गए संस्करण के लिए जीसीसी द्वारा सक्षम सभी डिफ़ॉल्ट विकल्प कैसे प्राप्त कर सकता हूं। संकलन करते समय जीसीसी द्वारा उपयोग किए जाने वाले सभी विकल्पों का सेट मैं कैसे डंप कर सकता हूं। यह मुझे संस्करण 4.0.3 बनाम 4.3.3 की तुलना करने में सक्षम बनाता है।

सामान्य तौर पर इसके बारे में बातें जीसीसी में एक संस्करण को बदलने के लिए जाने से पहले जांच की जानी चाहिए अगर मैं एक व्यापक सूची पता कर सकते हैं बहुत अच्छा होगा। (यह प्रदर्शन और कार्यक्षमता पर प्रभाव पड़ता है के रूप में।)

उत्तर

2
  1. जीसीसी 4.3.3 के यहां मेरे संस्करण में वह व्यवहार नहीं है जिसके बारे में आप शिकायत कर रहे हैं। मैंने इसे स्वयं संकलित किया है, इसलिए मुझे पूरा यकीन है कि जीसीसी संस्करण की तुलना में आप जो बदलाव देख रहे हैं, उसके लिए एक और कारण होना चाहिए (जैसे कि 64 बिट के लिए संकलन करना जो हमेशा एसएएसएफ़एयर का उपयोग करता है)।

  2. जीसीसी में रिलीज नोट्स हैं जो व्यवहार में परिवर्तन की सूचना देते हैं। वे जीसीसी स्रोत वितरण के साथ पैक किए जाते हैं और वेब पर उपलब्ध हैं। जीसीसी 4.3 के लिए http://gcc.gnu.org/gcc-4.3/changes.html देखें।

22

जीसीसी -Q -v (inputfile)

सिर्फ एक बुनियादी छोटे ग या कोई इनपुट फ़ाइल के रूप में सीपीपी फ़ाइल के साथ

। आपको डिफ़ॉल्ट रूप से जीसीसी को पास किए गए सभी विकल्पों की एक बड़ी सूची देनी चाहिए, उनमें से एक एसएसई एफपी गणित सक्षम होने का कारण बन सकता है।

+0

जीसीसी-क्यू-वी के साथ आने वाले दो आउटपुट के बीच क्या अंतर है: "विकल्प पास हुए" और "विकल्प सक्षम"? – Maximilian

17

एक विशिष्ट फ़ाइल -Q -v, जो पारित कर दिया और सक्षम विकल्पों की सूची है, साथ ही अन्य संस्करण, विन्यास का एक बहुत से आउटपुट संकलन, और समय जानकारी के अलावा, आप भी gcc -Q --help=target करने के लिए सिर्फ सूची डिफ़ॉल्ट लक्ष्य-विशिष्ट उपयोग कर सकते हैं संकलक विकल्प:

$ gcc --version | head -1 
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 
$ gcc -Q --help=target 
The following options are target specific: 
    -m128bit-long-double     [disabled] 
    -m32         [disabled] 
    -m3dnow        [disabled] 
    -m3dnowa        [disabled] 
    -m64         [enabled] 
    -m80387        [enabled] 
    -m8bit-idiv       [disabled] 
    -m96bit-long-double     [enabled] 
    -mabi= 
    -mabm         [disabled] 
    -maccumulate-outgoing-args   [disabled] 
    -maes         [disabled] 
    -malign-double      [disabled] 
    -malign-functions= 
    -malign-jumps= 
    -malign-loops= 
    -malign-stringops      [enabled] 
    -mandroid        [disabled] 
    -march=        x86-64 
... 

भी लक्ष्य विशिष्ट कोडांतरक और लिंकर विकल्प (लेकिन वर्तमान में उनकी डिफ़ॉल्ट सेटिंग्स) की एक सूची में शामिल करने के लिए, --target-help बजाय --help=target का उपयोग करें।

1

लक्ष्य-विशिष्ट विकल्पों के लिए -Q --help=target के अतिरिक्त, आप -Q -O<n> --help=optimize का उपयोग कर सकते हैं ताकि यह प्रदर्शित किया जा सके कि कौन से अनुकूलक पास किसी दिए गए ऑप्टिमाइज़ेशन स्तर पर चालू या बंद हैं। -Q भी अन्य --help=<blah> तर्कों के साथ ही काम करता प्रतीत होता है।

संबंधित मुद्दे