c++ - STL analogue in Fortran -


<पी>

आधार: मेरे पास बहुत बड़ा समांतर फोरट्रैक्ट 9 / एमपीआई प्रोग्राम है जो जटिल भौतिक मॉडल का प्रतिनिधित्व करते हैं। मैं इसे नई कार्यक्षमता जोड़ना चाहता हूं: उदाहरण के लिए, मुझे संदेशों की कतार व्यवस्थित करने की आवश्यकता है, मैर्जोसर्ट को कहीं और पेश करना और हैश तालिका का उपयोग करना है।

समस्या: मुझे पता है कि कैसे हैश तालिका , मेरे द्वारा कतार और कोड विलय बनाने के लिए, लेकिन मुझे नहीं लगता कि यह एक साइकिल का आविष्कार करने का एक अच्छा विचार है।

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

फोरट्रान में कोई टेम्पलेट नहीं हैं और इसलिए कोई एसटीएल नहीं है। आप कुछ सामान्य पुस्तकालयों के लिए कोशिश कर सकते हैं सामान्य तौर पर सामान्य प्रोग्रामिंग हासिल करने के लिए स्थानांतरण () ट्रिक्स का उपयोग होता है।

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

मैं इस विशिष्ट मामले में सी ++ के साथ मिश्रण नहीं कर सकता, हालांकि यह किया जा सकता है। आपको प्रत्येक मामले को अलग से इन्स्तांत करना होगा और इसे आवरण ( बाँध (सी) और iso_c_binding ) का उपयोग करके फोरट्रान में इंटरफ़ेस करना होगा। केवल अगर आपके पास बहुत सीमित प्रकार के प्रकार हैं, तो आप इसके लिए एल्गोरिदम का उपयोग करना चाहते हैं।

आप फोर्ट्रान में सी-प्रीप्रोसेसरों का उपयोग करके कुछ गरीबों के टेम्पलेट को लागू करने का प्रयास भी कर सकते हैं। छोटी लाइब्रेरी काम करती है, लेकिन जटिल चीजों के लिए बनाए रखने या बदसूरत बनना बहुत मुश्किल हो सकती है। एक उदाहरण के रूप में आप एक लिंक्ड सूची के अपने कार्यान्वयन को देख सकते हैं।

आम तौर पर, कोई स्पष्ट रूप से सही दृष्टिकोण या उत्तर नहीं है, आपको हमेशा अधिक संभावनाओं में से चुनना पड़ता है।


Comments

Popular posts from this blog

java - org.apache.http.ProtocolException: Target host is not specified -

java - Gradle dependencies: compile project by relative path -

ruby on rails - Object doesn't support #inspect when used with .include -