कुछ दिनों पहले जब मैंने जावा प्रोजेक्ट में सी ++ फ़ाइलों को पेश किया था तो मुझे एक समस्या में भाग गया। यह जावा प्रक्रिया के सीपीयू उपयोग को मापने की आवश्यकता के साथ शुरू हुआ और यह निर्णय लिया गया कि सीएन में लिखे गए मूल पुस्तकालय (यूनिक्स मशीन पर साझा लाइब्रेरी) को कॉल करने के लिए जेएनआई का उपयोग करना था। समस्या थी सी फाइलों को स्रोत भंडार (आकस्मिक रूप से साफ़केस) में रखने के लिए उचित स्थान खोजने के लिए जिसमें केवल जावा फ़ाइलें शामिल हैं।दो या दो से अधिक भाषाओं (जैसे जावा और सी ++) मिश्रण करते समय स्रोत कोड बेस व्यवस्थित करना
मैं विकल्प के एक जोड़े के बारे में सोचा:
(क) की तरह स्रोत आधार के शीर्ष पर सी फ़ाइलें (विशेष रूप से, एक ज फ़ाइल और एक ग फ़ाइल) डालने के लिए एक अलग निर्देशिका बनाएँ:
/vobs/MyProduct/javasrc /vobs/MyProduct/cppsrc
क्योंकि मैं केवल दो सी फ़ाइलें है और यह बहुत ही इस तरह भाषा के स्तर पर स्रोत आधार विभाजित करने के लिए अजीब लग रहा थामुझे यह पसंद नहीं था । अगर परियोजना के पर्याप्त भाग सी ++ और जावा में समान रूप से समान रूप से लिखे गए थे, तो यह ठीक हो सकता है।
(बी) सी फाइलों को जावा पैकेज में रख दें जो इसका उपयोग करता है।
मेरे पास जावा क्लास/vobs/myproduct/com/mycompany/myproduct/util/में कॉलिंग है और सी फाइलें भी वहां जाती हैं।
मुझे यह पसंद नहीं आया क्योंकि मुझे लगता है कि सी फाइलें सिर्फ जावा पैकेज में नहीं हैं।
क्या किसी ने इससे पहले इस तरह की समस्या हल की है? आम तौर पर, कोडबेस का आयोजन करते समय पालन करने के लिए एक अच्छी रणनीति क्या होती है जो दो या दो से अधिक भाषाओं को मिश्रित करती है?
अपडेट: मेरे पास मेरी परियोजना में किसी भी सी या सी ++ का उपयोग करने की कोई योजना नहीं है, शायद कुछ ज्योथन, लेकिन आप कभी नहीं जानते कि मेरे ग्राहकों को ऐसी सुविधा की आवश्यकता होती है जिसे केवल सी का उपयोग करके हल किया जा सकता है या सबसे अच्छा हल करके हल किया जा सकता है सी
यह वही है कि हमारे पास यह कहां है जहां मैं हूं। यह काफी अच्छी तरह से काम करता है। मेवेन सम्मेलन को अपनाने के लिए – Herms