मैं एक मणि लिख रहा हूं, जिसमें एक सी एक्सटेंशन शामिल है। आम तौर पर जब मैं एक मणि लिखता हूं, तो मैं टीडीडी की प्रक्रिया का पालन करता हूं, जहां मैं एक असफल नमूना लिखूंगा और उसके बाद कोड पर काम करता हूं, तब तक कोड पर काम करता हूं ...सी एक्सटेंशन के साथ रूबीगेम विकसित करते समय, आप नियमित रूप से रुपयेपीईसी के साथ परीक्षण कैसे करते हैं?
"मेरे/विस्तार में मेरे सी एक्सटेंशन के साथ /mygem.c "और gemspec के" एक्सटेंशन "में कॉन्फ़िगर किया गया एक मान्य extconf.rb, मैं अपनी चश्मा कैसे चला सकता हूं और अभी भी मेरा सी एक्सटेंशन लोड हो गया है? जब मैं सी कोड में परिवर्तन करता हूं, तो कोड को पुन: संकलित करने के लिए मुझे किन कदमों की आवश्यकता होती है?
यह शायद एक बेवकूफ सवाल है, लेकिन मेरे मणि के विकास स्रोत पेड़ के अंदर से 'बंडल इंस्टॉल' टाइप करना कोई मूल एक्सटेंशन नहीं बनाता है। जब मैं मैन्युअल रूप से ruby ext/mygem/extconf.rb
चलाता हूं तो मुझे मेकफ़ाइल (पूरे प्रोजेक्ट की जड़ में) मिलता है और जब मैं make
चलाता हूं, तो मुझे एक साझा ऑब्जेक्ट मिलता है (फिर, पूरी परियोजना की जड़ में)। मुझे गलत वर्कफ़्लो का पालन करना होगा, क्योंकि मैं समझता हूं कि .so को lib/के अंतर्गत रखा जाना चाहिए। जब तक मुझे विकास के दौरान हाथ से ऐसा नहीं करना पड़ेगा?
धन्यवाद :) मैं यहां पोस्ट करने के लिए यहां वापस आ रहा था कि मुझे जिथब पर "रेक-संकलन" मिला है। आप मूल रूप से इसे विकास निर्भरता के रूप में जोड़ते हैं, फिर अपने रेकैकाइल में आप इसे बता सकते हैं कि किन एक्सटेंशन बनाना है। यह extconf.rb चलाएगा, फिर, lib और cleanup की प्रतिलिपि बनाएँ। https://github.com/luislavena/rake-compiler – d11wtq
+1 सभी समान हैं;) – d11wtq