2009-12-21 9 views
8

में LLVM मध्यवर्ती प्रतिनिधित्व मैं Xcode 3.2.1 परमैं Xcode

मैं LLVM के मध्यवर्ती प्रतिनिधित्व देखना चाहते हैं बजना-LLVM 1.0 के साथ संकलन कर रहा हूँ क्यों दिखाई देते हैं। मैं यह कैसे करु ?

धन्यवाद।

उत्तर

0

प्रति LLVM's site, मैं संकलक विकल्पों में -emit-llvm जोड़ दूंगा। एक्सकोड प्रतिनिधित्व (अभी तक) दिखाने के लिए यूआई प्रदान नहीं करता है।

+0

धन्यवाद, लेकिन -emit-llvm वास्तव में एक llvm सुविधा है, जो मुझे एक्सकोड के साथ मदद नहीं करता है। मेरी समस्या एक्सकोड में आईआर देख रही है; मुझे यह विश्वास करना मुश्किल लगता है कि एक्सकोड फ़ाइल प्रारूप को पहचानता है (यह करता है - मेन्यू की जांच करें), लेकिन जब आप degbugging करते हैं तो आपको इसे देखने नहीं देते हैं। –

5

एक्सकोड में एलएलवीएम इंटरमीडिएट प्रतिनिधित्व को हाइलाइट करने वाले सिंटैक्स के लिए समर्थन है, लेकिन यह प्रतिनिधित्व कंपाइलर के लिए आंतरिक है (और अक्सर बदलता है) और एक्सकोड में यूआई में इंटरमीडिएट प्रतिनिधित्व दिखाने के लिए कंपाइलर से बात करने के लिए कोई यूआई नहीं है । हालांकि यह एक दिलचस्प फीचर अनुरोध होगा, क्या आपने इसे ऐप्पल के साथ फाइल करने पर विचार किया है?

यदि आप इसे देखना चाहते हैं, तो आप निर्माण लॉग से संकलन आदेश ले कर मैन्युअल रूप से ऐसा कर सकते हैं और अंत में '-emit-llvm -S -o /tmp/t.ll' जोड़कर कर सकते हैं। अब आप एक्सकोड में /tmp/t.ll खोल सकते हैं और उस फ़ाइल के लिए एलएलवीएम आईआर देख सकते हैं।

+0

जैसा कि मैंने नीचे दी गई टिप्पणी पर टिप्पणी में कहा था, मुझे पता है कि एक्सकोड में एलएलवीएम आईआर को कैसे देखना है, और एलएलवीएम कोड (जो एक एलएलवीएम सुविधा है - एक्सकोड नहीं) का उत्पादन कैसे करें। मुझे नहीं पता कि मूल रूप से llvm कोड को कैसे ढूंढें, जो एक पिटी है (और करना बहुत आसान होना चाहिए)। सेब के साथ मेरा अनुभव यह है कि उनका ग्राहक समर्थन अच्छा है, लेकिन विकास का समर्थन नहीं है। –

+0

ठीक है। मूल स्रोत कोड के साथ एलएलवीएम कोड को देखने के लिए वर्तमान में एक अच्छा तरीका नहीं है। तकनीकी रूप से यह कुछ kCacheGrind एकीकरण के माध्यम से http://klee.llvm.org के माध्यम से कुछ हद तक उपलब्ध है। हालांकि, मैं शायद एकमात्र व्यक्ति हूं जो इसका उपयोग करता है; यह स्थापित करने और उपयोग करने के लिए कुछ जटिल है (हालांकि यह ओएस एक्स पर संभव है)। मैं मानता हूं कि एक्सकोड में मूल रूप से यह एक शानदार विशेषता होगी। मैं अनुशंसा करता हूं कि आप इसके लिए एक फीचर अनुरोध दर्ज करें, आप कभी नहीं जानते! –