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

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

7
अगर यह पहले से ही परिभाषित नहीं है तो केवल एक मैक्रो को क्यों परिभाषित करें?
हमारे सभी सी कोड बेस में, मुझे लगता है कि प्रत्येक मैक्रो निम्नलिखित तरीके से परिभाषित किया गया है: #ifndef BEEPTRIM_PITCH_RATE_DEGPS #define BEEPTRIM_PITCH_RATE_DEGPS 0.2f #endif #ifndef BEEPTRIM_ROLL_RATE_DEGPS #define BEEPTRIM_ROLL_RATE_DEGPS 0.2f #endif #ifndef FORCETRIMRELEASE_HOLD_TIME_MS #define FORCETRIMRELEASE_HOLD_TIME_MS 1000.0f #endif #ifndef TRIMSYSTEM_SHEARPIN_BREAKINGFORCE_LBS #define TRIMSYSTEM_SHEARPIN_BREAKINGFORCE_LBS 50.0f #endif सिर्फ मैक्रोज़ को परिभाषित करने के बजाय …

10
सी सशर्त प्रीप्रोसेसर-निर्देशों में तारों की तुलना कैसे करें
मुझे सी में ऐसा कुछ करना है। यह केवल तभी काम करता है जब मैं चार का उपयोग करता हूं, लेकिन मुझे एक स्ट्रिंग की आवश्यकता है। मैं यह कैसे कर सकता हूँ? #define USER "jack" // jack or queen #if USER == "jack" #define USER_VS "queen" #elif USER == …

1
प्रीप्रोसेसर निर्देश में ## (डबल हैश) क्या करता है?
#define DEFINE_STAT(Stat) \ struct FThreadSafeStaticStat<FStat_##Stat> StatPtr_##Stat; उपरोक्त पंक्ति अवास्तविक 4 से ली गई है, और मुझे पता है कि मैं इसे अवास्तविक मंचों पर पूछ सकता हूं, लेकिन मुझे लगता है कि यह एक सामान्य सी ++ प्रश्न है जो यहां पूछा जा रहा है। मैं समझता हूं कि पहली …

3
सी प्रीप्रोसेसर का उपयोग करके स्ट्रिंग को कॉनटेननेट करें
मैं यह पता लगाने की कोशिश कर रहा हूं कि मैं सी प्रीप्रोसेसर का उपयोग करके #define'd int #define' को 'd' स्ट्रिंग में कैसे परिवर्तित कर सकता हूं । मेरा कंपाइलर जीसीसी 4.1 सेंटोस 5 पर है। इस घोल में मिनगव के लिए भी काम करना चाहिए। मैं एक स्ट्रिंग …

4
स्ट्रिंग शाब्दिक के रूप में मैक्रो तर्क का उपयोग कैसे करें?
मैं यह पता लगाने की कोशिश कर रहा हूं कि एक मैक्रो कैसे लिखा जाए जो एक चर नाम के दोनों स्ट्रिंग शाब्दिक प्रतिनिधित्व के साथ-साथ चर को एक फ़ंक्शन में बदल देगा। उदाहरण के लिए निम्नलिखित फ़ंक्शन दिए गए हैं। void do_something(string name, int val) { cout << name …

19
सी में स्ट्रिंग के रूप में एनम प्रकारों के चर का उपयोग करने का आसान तरीका?
यहाँ मैं क्या करने की कोशिश कर रहा हूँ: typedef enum { ONE, TWO, THREE } Numbers; मैं एक फ़ंक्शन लिखने की कोशिश कर रहा हूं जो निम्नलिखित के समान स्विच केस करेगा: char num_str[10]; int process_numbers_str(Numbers num) { switch(num) { case ONE: case TWO: case THREE: { strcpy(num_str, num); …

13
विचार करने के लिए ## प्रीप्रोसेसर ऑपरेटर और गोचा के आवेदन क्या हैं?
जैसा कि मेरे पिछले कई सवालों में बताया गया है, मैं K & R के माध्यम से काम कर रहा हूं, और वर्तमान में प्रीप्रोसेसर में हूं। अधिक दिलचस्प चीजों में से एक - सी सीखने के लिए मेरे किसी भी पूर्व प्रयास से पहले मुझे कभी भी पता नहीं …

6
यह एक मुख्य () के बिना चलने के लिए सी कोड के दावे को मानता है, लेकिन यह वास्तव में क्या करता है?
#include <stdio.h> #define decode(s,t,u,m,p,e,d) m##s##u##t #define begin decode(a,n,i,m,a,t,e) int begin() { printf("Ha HA see how it is?? "); } क्या यह अप्रत्यक्ष रूप से कॉल करता है main? कैसे?

2
कैसे, वास्तव में, डबल-स्ट्रिंग चाल काम करती है?
कम से कम कुछ C प्रीप्रोसेसरों ने आपको एक मैक्रो के मान को उसके नाम के बजाय एक फ़ंक्शन-जैसे मैक्रो के माध्यम से दूसरे से गुजरने से रोक दिया है जो इसे स्ट्रिंग करता है: #define STR1(x) #x #define STR2(x) STR1(x) #define THE_ANSWER 42 #define THE_ANSWER_STR STR2(THE_ANSWER) /* "42" */ …

3
क्या C ++ में #if पूर्व-प्रोसेसर निर्देशों को नेस्टेड किया जा सकता है?
मेरे पास c ++ में प्री-प्रोसेसर निर्देशों के बारे में एक प्रश्न है: उदाहरण के लिए: #ifndef QUESTION //some code here #ifndef QUESTION //some code here #endif #endif क्या हम इसे इस तरह से उपयोग कर सकते हैं और क्या C ++ कंपाइलर सही तरीके से ifndefऔर endifउससे मेल खा …

7
लिनक्स कर्नेल में कंटेनर_ऑफ मैक्रो को समझना
जब मैं लिनक्स कर्नेल ब्राउज़ कर रहा था, तो मुझे एक container_ofमैक्रो मिला जिसे इस प्रकार परिभाषित किया गया है: #define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ (type *)( (char *)__mptr - offsetof(type,member) );}) मैं समझता हूं कि कंटेनर_ क्या करता है, …

5
Ifdef में बूलियन: "#ifdef A && B" "#if परिभाषित (A) && परिभाषित (B)" के समान है?
C ++ में, क्या यह है: #ifdef A && B बराबर: #if defined(A) && defined(B) ? मैं सोच रहा था कि यह नहीं था, लेकिन मैं अपने संकलक (VS2005) के साथ अंतर नहीं पा सका हूं।

6
# हाइफ़न के अंदर # हाइफ़न
मैं कुछ इस तरह लिखने की कोशिश कर रहा हूं: #define COV_ON(x) \ #ifdef COVERAGE_TOOL \ _Pragma (COVERAGE #x) #endif क्या COV_ONइस तरह परिभाषित करने का कोई तरीका है ? मुझे पता है कि मैंने जो ऊपर किया है वह गलत है क्योंकि मैं #ifdef#define के अंदर नहीं हो सकता …
83 c  c-preprocessor 

6
ऑब्जेक्टिव-सी में # डेफिन बनाम कास्ट
मैं ऑब्जेक्टिव-सी के लिए नया हूं, और मेरे पास constऔर प्रीप्रोसेसिंग निर्देश के बारे में कुछ सवाल हैं #define। सबसे पहले, मैंने पाया कि निरंतर उपयोग के प्रकार को परिभाषित करना संभव नहीं है #define। ऐसा क्यों है? दूसरा, क्या उनमें से किसी एक को दूसरे पर इस्तेमाल करने के …

4
मल्टी लाइन प्रीप्रोसेसर मैक्रोज़
मल्टी लाइन प्रीप्रोसेसर मैक्रो कैसे बनाये? मुझे पता है कि एक पंक्ति कैसे बनाई जाती है: #define sqr(X) (X*X) लेकिन मुझे ऐसा कुछ चाहिए: #define someMacro(X) class X : public otherClass { int foo; void doFoo(); }; में इससे कैसे चला सकता हूँ? यह केवल एक उदाहरण है, वास्तविक मैक्रो …
81 c++  c  c-preprocessor 

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