वर्तमान में मुझे एआरएम में सामान्य रूप से दिलचस्पी है और विशेष रूप से iphone / android लक्ष्य हैं। लेकिन मैं सिर्फ क्लैंग के बारे में अधिक जानना चाहता हूं, क्योंकि यह आने वाले वर्षों में महत्वपूर्ण भूमिका निभाने के लिए महसूस करता है।
मैंने कोशिश की
clang -cc1 --help|grep -i list
clang -cc1 --help|grep arch|grep -v search
clang -cc1 --help|grep target
-triple <value> Specify target triple (e.g. i686-apple-darwin9)
मुझे पता है कि क्लैंग का -triplet पैरामीटर है, लेकिन मैं इसके लिए सभी संभावित मूल्यों को कैसे सूचीबद्ध कर सकता हूं? मैंने पाया कि क्रॉस कंपाइलिंग के संबंध में गक बहुत अलग है, जीसीसी वर्ल्ड में आपको PLATFORM_make या PLATFORM_ld (i * 86-pc-cygwin i) - 86 - * - linux-gnu आदि http जैसे हर चीज के लिए अलग-अलग बाइनरी होनी चाहिए। : //git.savannah.gnu.org/cgit/libtool.git/tree/doc/PLATFORMS )
क्लैंग वर्ल्ड में, यह केवल एक बाइनरी है (जैसा कि मैंने कुछ मंचों पर पढ़ा है)। लेकिन मुझे समर्थित लक्ष्यों की सूची कैसे मिलेगी? और अगर मेरे लक्ष्य ने मेरे डिस्ट्रो (लाइनक्स / विंडोज़ / मैकोस / जो भी) पर समर्थन नहीं किया है, तो मुझे वह कैसे मिल सकता है जो अधिक प्लेटफॉर्म का समर्थन करता है?
अगर मैं SVN इस तरह नवीनतम क्लैंग:
svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
क्या मुझे अधिकांश प्लेटफ़ॉर्म मिलेंगे? ऐसा लग रहा है कि क्लैंग को तुरंत दिमाग में क्रॉस कंपाइलिंग के साथ नहीं बनाया गया था, लेकिन चूंकि यह llvm आधारित है, इसलिए यह सिद्धांत में बहुत क्रॉस-फ्रेंडली होना चाहिए? धन्यवाद!