2010-10-26 8 views
8

संकलित कर सकती है। मैं इस सवाल से पूछने के लिए यहां आया क्योंकि यह साइट अतीत में मेरे लिए बहुत उपयोगी रही है, ऐसा लगता है कि बहुत ही जानकार उपयोगकर्ता हैं जो किसी प्रश्न पर चर्चा करने के इच्छुक हैं कई बार आध्यात्मिक। और यह भी क्योंकि गुगलिंग यह काम नहीं किया।क्या कोई लाइब्रेरी है जो सी ++ या सी

जावा में एक कंपाइलर है और उसके बाद इसमें एक जेडीटी लाइब्रेरी है जो फ्लाई पर जावा संकलित कर सकती है (उदाहरण के लिए जावा कोड में रिपोर्ट टेम्पलेट को चालू करने के लिए जैस्पर रीपॉर्ट्स में उपयोग किया जाता है)।

मेरा प्रश्न: क्या किसी को लाइब्रेरी/प्रोजेक्ट के बारे में पता है जो सी/सी ++ में लाइब्रेरी कक्षाओं के सेट के रूप में संकलित करने की पेशकश करेगा। उदाहरण के लिए: प्रीप्रोकैसिंग, पार्सिंग, कोड ऑप्टिमाइज़ेशन और निश्चित रूप से निष्पादन योग्य छवियों जैसे ईएलएफ या विन प्रारूप में बाइनरी प्रतिपादन करने के लिए कक्षाओं का एक सूट। असल में ऐसा कुछ जो किसी को एप्लिकेशन के हिस्से के रूप में सी या सी ++ स्क्रिप्टलेट को संकलित करने की अनुमति देगा।

+1

"और निश्चित रूप से निष्पादन योग्य छवियों जैसे ईएलएफ या विन प्रारूप में बाइनरी प्रतिपादन।" यह मुझे थोड़ा उलझन में डालता है; जैसे सिस्टम ("कंपाइलर इनपुट") चाल नहीं करेगा? –

+2

क्या आप वाकई जानना चाहते हैं कि सी या सी ++ को स्क्रिप्टिंग भाषाओं के रूप में कैसे उपयोग किया जाए? संकलन सामान्य रूप से संकलित होता है। आप या तो अपने ऐप में चलाने के लिए एक स्क्रिप्टिंग भाषा प्राप्त करना चाहते हैं, या बाहरी संकलन कोड का उपयोग कैसे करें – thecoshman

उत्तर

5

आप LLVM प्रोजेक्ट से अपनी आवश्यकताओं के अनुसार कुछ अनुकूलित करने में सक्षम हो सकते हैं।

14

हां: llvm। विशेष रूप से, clang। कम से कम, इस तरह वे परियोजनाओं का विज्ञापन करते हैं। इसके अलावा, this question देखें। यदि आप llvm का उपयोग करने का निर्णय लेते हैं तो यह प्रासंगिक हो सकता है।

4

आप केवल एक संकलक स्थापित करने की आवश्यकता हो सकती है, फिर इसे कॉल करें। यह एक काफी भारी आवश्यकता है, लेकिन सी या सी ++ वास्तव में "एम्बेड" करने का एकमात्र तरीका है। interpreters हैं जो आप एम्बेड करने में सक्षम हो सकते हैं, लेकिन वर्तमान में यह एक खराब विकल्प लगता है, कम से कम नहीं, क्योंकि स्क्रिप्ट में उपयोग की जाने वाली किसी भी पुस्तकालय में विकास संस्करण (यानी शीर्षलेख और स्रोत/संकलित-पुस्तकालय) स्थापित होना चाहिए, और उन पुस्तकालयों को हो सकता है दुभाषिया द्वारा समर्थित फीचर सेट तक सीमित (जैसे टेम्पलेट कार्यान्वयन की गुणवत्ता)।

आप पाइथन या लुआ जैसे किसी भाषा का उपयोग करके बेहतर तरीके से एम्बेड कर रहे हैं।

+4

डाउनवोट क्यों? (मैं वास्तव में जानना चाहता हूं कि मेरे उत्तर में कोई समस्या है या नहीं।) –

+2

+1 एक उपयुक्त एम्बेडेड भाषा के रूप में पायथन का उल्लेख करने के लिए।इस मामले में पायथन का उपयोग शायद फ्लाई पर संकलन करने से संसाधनों पर सस्ता है। –

+0

हो सकता है कि आपका उत्तर डाउनवॉटेड हो क्योंकि एक अलग कंपाइलर का आह्वान करना "सी या सी ++ को वास्तव में एम्बेड करने का एकमात्र तरीका नहीं है"। – andref

1

सी दुभाषिया है लेकिन मैंने इसका उपयोग नहीं किया है। आम तौर पर स्क्रिप्टिंग प्रकार के अनुप्रयोगों के लिए एक और अधिक प्राकृतिक पटकथा भाषा का उपयोग किया जाता है।

1

ग्रेट। ऐसा लगता है कि एलएलवीएम वह है जो मैं बाद में था। आपकी प्रतिक्रिया के लिए बहुत बहुत धन्यवाद। मैं मुख्य रूप से सी ++ के बाद एक स्क्रिप्टिंग भाषा के रूप में नहीं हूं। मैंने देखा है कि पायथन को एम्बेडेड स्क्रिप्ट इंजन के रूप में उपयोग किया जाता है। मेरे प्राथमिक कारण दो गुना है:

  1. प्राप्त करें, CMake और नरक Autoconf है और SCons कि में बांधता है और संकलन में
  2. हुक संकलन के सभी चरणों के साथ सूचना का आदान प्रदान की तरह कुछ के साथ बदलने कि बंद छुटकारा पार्सिंग और ऑटो उत्पन्न कोड के बाद प्रक्रिया। विशिष्ट मेटा से संबंधित कोड। मेरे मामले में मैं सी ++ में जावा की लगभग हर सुविधा को कार्यान्वित करने में सक्षम हूं: एक प्रतिबिंब।

आरटीटीआई जैसे आपके कोड को असीमित ब्लाउड पर क्यों लगाया जाता है जो अक्सर अपर्याप्त होता है। इसके बजाय कोई भी चुनिंदा विशेषताओं को उत्पन्न कर सकता है। लेकिन डेवलपर को यह अतिरिक्त कोड का उपयोग कब और कैसे करना होगा।

+0

ओह, प्रिय देवताओं। आप सी ++ से लड़ रहे हैं। अब मैं अपने जवाब के लिए बुरा महसूस करता हूं: यह मुझे बुरे कर्म की नदियों लाएगा। – andref

+0

हे, अपने कर्म के बारे में चिंता मत करो। यह चारों ओर एक और तरीका है। – 640KB

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