2010-01-07 12 views
5

क्या हम आसानी से (कुछ तरीकों से) VisualStudio 2005 C++ में C++ बिल्डर प्रोजेक्ट संकलित कर सकते हैं। सी ++ में नया मैं उस मामले में संदर्भों की तलाश में हूं (सीबीयूल्डर बनाम वीएस)। धन्यवाद।डेल्फी सी ++ बिल्डर विज़ुअलस्टूडियो

उत्तर

4

अच्छा, वास्तव में नहीं। यह सच है कि "शुद्ध" सी ++ भागों को संकलित करना चाहिए, आपके पास सौदा करने के लिए दो बहुत बड़े गठिया हैं:

सबसे पहले, बोर्लैंड ने अपने डेल्फी उत्पादों के साथ संगत बनाने के लिए सी ++ को कुछ स्वामित्व एक्सटेंशन बनाए। मुझे याद नहीं है कि ये क्या हैं, लेकिन आप जो कर रहे हैं उसके आधार पर वे एक समस्या हो सकती हैं।

लेकिन मुख्य समस्या वीसीएल, मुख्य जीयूआई लाइब्रेरी है। यदि आप सी ++ बिल्डर में विकसित हो रहे हैं, तो 99% बार आप वीसीएल का उपयोग कर रहे हैं, और इसका उपयोग बहुत अधिक कर रहे हैं। AFAIK, वीसीएल किसी भी माइक्रोसॉफ्ट कंपाइलर के तहत कई कारणों से संकलित नहीं होगा, जिसमें मैंने पहले ही उल्लेख किया है।

तो मूल रूप से, यदि आप VisualStudio के तहत यह चलाना चाहते हैं तो आप मूल रूप से .NET (या एमएफसी या जो भी आप एक मासोचिस्ट हैं) पर पोर्टिंग कर रहे हैं। यहां एक उज्ज्वल स्थान यह है कि कई तृतीय पक्ष घटक डेवलपर्स ने .NET को गले लगा लिया है, इसलिए आपको लगता है कि प्रोजेक्ट को पोर्ट करने के लिए आपको उतना ही काम नहीं करना पड़ेगा।

0

ठीक है, यह अंत में सभी सी ++ है, इसलिए आप अपनी सी ++ बिल्डर फ़ाइलों को वीएस2005 समाधान में शामिल कर सकते हैं और पुस्तकालयों को लिंक कर सकते हैं। वीएस2005 सी से सभी टर्बो वर्गों की तुलना में एमएफसी या .NET को अधिकतर देखेंगे। ++ बिल्डर, इसमें कोई संदेह नहीं है। संसाधन आयात करना भी एक मुद्दा हो सकता है।

मुझे यहां अन्य उत्तरों में भी रुचि होगी। हमें अपनी परियोजना पर इसी मार्ग पर यात्रा करने की आवश्यकता हो सकती है।

4

यदि आप वीसीएल कक्षाओं का उपयोग करते हैं तो आप विजुअल सी ++ में अपना कोड संकलित नहीं कर पाएंगे। वीसीएल सी ++ भाषा में कुछ नई भाषा संरचनाएं पेश करता है, ताकि इसे डेल्फी, __property इत्यादि के साथ संगत बनाया जा सके। और यदि आप वीसीएल कोड को कुछ बाहरी गतिशील रूप से लिंक्ड लाइब्रेरी में ले जा सकते हैं, तो भी वीसीएल कार्यों को कॉल करने में बहुत सारी समस्याएं होंगी। ऐसा इसलिए है क्योंकि बोर्लैंड __fastcall कॉलिंग सम्मेलन इसके अधिकांश संकलक कार्यान्वयन से अलग है। बोर्लैंड संस्करण रजिस्ट्रारों के लिए 3 तर्क पास करता है, जबकि अधिकांश अन्य कंपाइलर 2.

सभी में विभिन्न कंपाइलर कार्यान्वयन से कई समस्याएं हो सकती हैं, विशेष रूप से यदि आप वीसीएल या __fastcall कॉलिंग कन्वेंशन का उपयोग करते हैं। सी ++ बिल्डर के बारे में बात यह है कि यह डेल्फी और वीसीएल के साथ संगत होने के लिए तैयार है, और वीसीएल आरएडी और जीयूआई कार्यक्रमों के लिए एक उत्कृष्ट ढांचा है, लेकिन यह अन्य कंपाइलरों के साथ कम संगतता की लागत को जोड़ता है।

+0

धन्यवाद ... और यह मामला है, मेरी परियोजना में कई कोर वीसीएल वर्ग शामिल हैं। – volvox

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