मैं यह कैसे कर सकते:सी, यूनिक्स डोमेन सॉकेट, सहायक डेटा, और जीसीसी; का उपयोग करते हुए CMSG_DATA मैक्रो
*(int *)CMSG_DATA(hdr) = fd2pass;
जीसीसी के बिना इस को ऊपर उठाने:
error: dereferencing type-punned pointer will break strict-aliasing rules
एक तरह से इन विकल्पों के साथ संगत में:
-Wall -Werror -pedantic
धन्यवाद, गोंजालो। मैं मेकफ़ाइल में इसका समाधान नहीं करना चाहता था, क्योंकि मैं सिर्फ एक मौजूदा लाइब्रेरी में एक सुविधा जोड़ रहा हूं, लेकिन अब जब मैं इसे देख रहा हूं, तो यह किसी समस्या की तरह नहीं दिखता है। –
हा। आसान। मुझे मेकफ़ाइल के डर को खत्म करने की जरूरत है। –
कंपाइलर चेतावनियों को प्राप्त करने के लिए सुविधाओं को अक्षम करना आम तौर पर एक बुरा विचार है। चेतावनी को समझना और आपके कोड को संशोधित करना बेहतर है। जब आप बस अपनी संकलन रेखा पर -फनो-सख्त-अलियासिंग को थप्पड़ मारते हैं तो आप कह रहे हैं कि कंपाइलर गलत है। आम तौर पर, यह मानना एक अच्छा विचार है कि आपका कोड समस्या है। ऐसा कहा जा रहा है कि डोमेन सॉकेट के माध्यम से फ़ाइल डिस्क्रिप्टर को पास करने के लिए प्रत्येक कोड नमूना मैंने कभी देखा है मूल प्रश्न में dereferencing योजना का उपयोग करके लिखा गया था। जीसीसी ने हाल ही में इसके बारे में चेतावनी शुरू कर दी है। – petrsnd