c-preprocessor पर टैग किए गए जवाब

C और C ++ भाषा कार्यक्रमों को संकलित करने से पहले एक टेक्स्ट मैक्रो प्रोसेसर लागू किया गया। इस टैग का उपयोग उन अन्य संकलक / भाषाओं से संबंधित प्रश्नों के लिए भी किया जा सकता है, जिनके पास समान विशेषताएं हैं, जैसे कि Objective-C या C # में # विकल्प।

8
संख्या के तर्क पर मैक्रो को ओवरलोड करना
मेरे पास दो मैक्रोज़ FOO2और हैं FOO3: #define FOO2(x,y) ... #define FOO3(x,y,z) ... मैं एक नए मैक्रो FOOको इस प्रकार परिभाषित करना चाहता हूं : #define FOO(x,y) FOO2(x,y) #define FOO(x,y,z) FOO3(x,y,z) लेकिन यह काम नहीं करता है क्योंकि मैक्रोज़ तर्कों की संख्या पर अधिक भार नहीं लेते हैं। संशोधन के …
183 c  macros  c-preprocessor 

30
सी ++ मैक्रो कब फायदेमंद हैं? [बन्द है]
बंद हो गया । इस प्रश्न पर अधिक ध्यान देने की आवश्यकता है । यह वर्तमान में उत्तर स्वीकार नहीं कर रहा है। इस प्रश्न को सुधारना चाहते हैं? प्रश्न को अपडेट करें ताकि यह इस पोस्ट को संपादित करके केवल एक समस्या पर केंद्रित हो । 2 साल पहले …

4
मैन्युअल रूप से सदस्यों को कैसे अपदस्थ किया जाए
ऑब्जेक्टिव-सी के विपरीत, स्विफ्ट में कोई पूर्वप्रक्रमक नहीं है, इसलिए क्या अभी भी एक वर्ग के सदस्यों को मैन्युअल रूप से पदावनत करने का एक तरीका है? मैं कुछ इसी तरह की तलाश में हूँ: -(id)method __deprecated;


6
C ++ में __FILE__, __LINE__ और __FUNCTION__ उपयोग
यह मानते हुए कि आपका C ++ कंपाइलर उनका समर्थन करता है, क्या कोई विशेष कारण उपयोग नहीं करना है __FILE__, __LINE__और __FUNCTION__लॉगिंग और डीबगिंग प्रयोजनों के लिए? मैं मुख्य रूप से उपयोगकर्ता को भ्रामक डेटा देने से संबंधित हूं- उदाहरण के लिए, अनुकूलन के परिणामस्वरूप गलत लाइन नंबर या …

2
सी प्रीप्रोसेसर के साथ दो बार संक्षिप्त कैसे करें और "arg ## _ ## MACRO" के रूप में एक मैक्रो का विस्तार करें?
मैं एक कार्यक्रम लिखने की कोशिश कर रहा हूं, जहां कुछ फ़ंक्शन के नाम इस तरह के मैक्रो के साथ एक निश्चित मैक्रो चर के मूल्य पर निर्भर हैं: #define VARIABLE 3 #define NAME(fun) fun ## _ ## VARIABLE int NAME(some_function)(int a); दुर्भाग्य से, मैक्रो NAME()कि में बदल जाता है …

10
जीसीसी के ## __ VA_ARGS__ चाल के लिए मानक विकल्प?
C99 में वेरिएडिक मैक्रो के लिए खाली आर्गों के साथ एक अच्छी तरह से ज्ञात समस्या है । उदाहरण: #define FOO(...) printf(__VA_ARGS__) #define BAR(fmt, ...) printf(fmt, __VA_ARGS__) FOO("this works fine"); BAR("this breaks!"); BAR()उपरोक्त का उपयोग वास्तव में C99 मानक के अनुसार गलत है, क्योंकि यह इसका विस्तार करेगा: printf("this breaks!",); …

3
C / C ++ प्रीप्रोसेसर में अपनी लाइन पर एक एकल पाउंड / हैश साइन (#) का उद्देश्य क्या है?
मैं बूस्ट पुस्तकालयों स्रोत कोड को देख रहा हूं, और मैंने देखा है कि अक्सर बिना किसी पूर्वप्रक्रमक निर्देशों के एकल पाउंड संकेत होते हैं। मैं जीसीसी प्रीप्रोसेसर मैनुअल और विनिर्देश गाइड के माध्यम से पढ़ा और इसके बारे में कुछ भी नहीं पा सकता हूं। (1) #ifndef BOOST_CONFIG_HPP (2) …
145 c++  c  boost  c-preprocessor 

17
"[एक सी के रूप में सी कार्यक्रम में एक पाठ फ़ाइल"]
क्या संकलन-समय पर C प्रोग्राम में स्ट्रिंग के रूप में संपूर्ण टेक्स्ट फ़ाइल शामिल करने का कोई तरीका है? कुछ इस तरह: file.txt: This is a little text file main.c: #include <stdio.h> int main(void) { #blackmagicinclude("file.txt", content) /* equiv: char[] content = "This is\na little\ntext file"; */ printf("%s", content); } …

15
क्या मुझे # एल्फाइन, एनम या कॉन्स्ट का इस्तेमाल करना चाहिए?
C ++ प्रोजेक्ट में मैं काम कर रहा हूं, मेरे पास एक ध्वज प्रकार का मूल्य है जिसमें चार मान हो सकते हैं। उन चार झंडों को जोड़ा जा सकता है। झंडे डेटाबेस में रिकॉर्ड का वर्णन करते हैं और हो सकते हैं: नया रिकॉर्ड हटाए गए रिकॉर्ड संशोधित रिकॉर्ड …



14
मैं संकलन-समय पर एक # मूल्य का मूल्य कैसे दिखाऊं?
मैं यह जानने की कोशिश कर रहा हूं कि मेरे कोड के कौन से संस्करण का उपयोग करने के बारे में सोचता है। मैं कुछ इस तरह करना चाहता हूं: #error BOOST_VERSION लेकिन प्रीप्रोसेसर BOOST_VERSION का विस्तार नहीं करता है। मुझे पता है कि मैं इसे प्रोग्राम से रन-टाइम पर …

3
सी / सी ++ मैक्रो स्ट्रिंग समवर्ती
#define STR1 "s" #define STR2 "1" #define STR3 STR1 ## STR2 क्या STR3 == "s1" को संक्षिप्त करना संभव है? आप किसी अन्य मैक्रो फ़ंक्शन में आर्गल्स पास करके ऐसा कर सकते हैं। लेकिन क्या कोई सीधा रास्ता है?
121 c++  c  c-preprocessor 

4
प्रीप्रोसेसर मैक्रोज़ से प्लेटफ़ॉर्म / कंपाइलर की पहचान कैसे करें?
मैं एक क्रॉस-प्लेटफ़ॉर्म कोड लिख रहा हूं, जिसे लिनक्स, विंडोज़, मैक ओएस पर संकलित करना चाहिए। खिड़कियों पर, मुझे दृश्य स्टूडियो और मिंगव का समर्थन करना चाहिए। प्लेटफ़ॉर्म-विशिष्ट कोड के कुछ टुकड़े हैं, जिन्हें मुझे #ifdef .. #endifपर्यावरण में रखना चाहिए । उदाहरण के लिए, यहां मैंने win32 विशिष्ट कोड …

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.