एक वाला सवाल! कितना ठंडा है!
वाला एक उपयोगी -C
विकल्प है कि आप सी-कोड उत्पन्न पर एक नज़र लेने के लिए अनुमति देता है। इस समारोह, उदाहरण के लिए ...
int[] GetNumbers() {
return new int[] {1,2,3};
}
... जब साथ संकलित ...
valac -C -c test.vala
... निम्नलिखित सी-कोड दिखाई देगा (test.c
में) ...
gint* GetNumbers (int* result_length1) {
gint* result = NULL;
gint* _tmp0_ = NULL;
gint* _tmp1_;
result = (_tmp1_ = (_tmp0_ = g_new0 (gint, 3), _tmp0_[0] = 1, _tmp0_[1] = 2, _tmp0_[2] = 3, _tmp0_), *result_length1 = 3, _tmp1_);
return result;
}
नोट g_new0
; तो हाँ, आप इसे g_free
करना चाहते हैं।
भले ही आप हेडर फ़ाइल से जा रहे हों, और हर कार्यान्वयन को देखने के लिए परेशान नहीं किया जा सकता है, ऐसा लगता है कि समान नियम सी में लागू होते हैं: यदि यह const
नहीं है, तो इसे मुक्त करें।
स्रोत
2010-06-12 22:32:09