मेरे पास एक हेडर फ़ाइल है जिसमें सम्मिलित है
#define PROTOTYPE(s) s
उसका क्या अर्थ? ऐसा लगता है कि यह सिर्फ इनपुट को खुद से बदल देगा।
इसके चारों ओर अन्य निर्देशों के टन हैं, लेकिन केवल एक ही असर होता है जो किसी भी असर की जाँच करता है अगर यह परिभाषित किया गया है #ifndef PROTOTYPE
:। मुझे HDF4 हेडर फ़ाइलों में कुछ स्थान मिले जो ऐसा करते हैं #define PROTOTYPE
:। इसलिए, इनमें से कोई भी मेरे सवाल को स्पष्ट नहीं करता है। अभी भी बहुत बेकार लगता है।
यहाँ इसका उपयोग कैसे किया जाता है:
CS_RETCODE clientmsg_callback PROTOTYPE((
CS_CONTEXT * context,
CS_CONNECTION *connection,
CS_CLIENTMSG *clientmsg));
यह एक प्रोजेक्ट का हिस्सा है जो Sybase Open Client का उपयोग करता है। clientmsg_callback का उपयोग बाद में यहाँ किया जाता है:
ct_callback(context, NULL, CS_SET, CS_CLIENTMSG_CB,
(CS_VOID *)clientmsg_callback);
मैं यहाँ से एक नमूना कार्यक्रम से जा रहा हूँ:
clientmsg_callback को बाद में लागू किया गया है। मुझे लगता है कि नमूना मूल रूप से C + के बजाय C को ध्यान में रखकर लिखा गया था। शायद इसके साथ कुछ करना है?
#if
/#ifdef
/#ifndef
/#else
निर्देश हैं जहां इसकी बजाय एक अलग परिभाषा हो सकती है? यह अन्य मैक्रोज़ में उपयोग किए जाने पर विशेष रूप से#
या पास में अंतर कर सकता है##
। यह सिर्फ एक टिप्पणी शैली के लिए हो सकता है। वास्तव में जवाब देने के लिए पर्याप्त संदर्भ नहीं।