คำถามติดแท็ก macros

*** ห้ามใช้ภาษา VBA / MS-Office ใช้ [vba] แทน *** มาโครคือกฎหรือรูปแบบที่ระบุว่าควรแมปลำดับอินพุตที่แน่นอน (มักจะเป็นลำดับของอักขระ) กับลำดับเอาต์พุต (หรือมักเป็นลำดับของอักขระ) ตามขั้นตอนที่กำหนด .

8
มาโครที่บันทึกไว้จะถูกเก็บไว้ที่ใดใน Notepad ++?
ฉันได้บันทึกมาโครที่ฉันต้องการแบ่งปันกับเพื่อนร่วมงานของฉัน มาโครที่บันทึกไว้เหล่านี้ถูกบันทึกไว้ในตำแหน่งใดเพื่อให้ฉันสามารถเพิ่มลงในเครื่องของเขาได้ หากสนใจมาโครมีไว้สำหรับจดรายการค่าและเพิ่มเครื่องหมายคำพูดและลูกน้ำเพื่อให้สามารถใช้ในWHEREประโยคของแบบสอบถาม SQL ( WHERE x IN ('value1','value2','value3')) ได้

9
มีเครื่องบันทึกมาโครสำหรับ Eclipse หรือไม่? [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ มีปลั๊กอิน Eclipse ที่ดีสำหรับการบันทึกและเล่นมาโครหรือไม่? ฉันได้ลองตัวนี้แล้ว แต่มันก็ไม่ได้ผลอะไร - ดูเหมือนว่ามันยังไม่พร้อมสำหรับไพรม์ไทม์ ฉันรู้เกี่ยวกับเทมเพลตตัวแก้ไข แต่ฉันกำลังมองหาสิ่งที่ฉันสามารถใช้เพื่อบันทึกการกดแป้นพิมพ์ของฉันแล้วใช้หลาย ๆ ครั้งกับข้อความจำนวนมาก ดูเหมือนจะเป็นหลุมแปลก ๆ ใน IDE ฉันไม่มีสิ่งอำนวยความสะดวกในตัวสำหรับสิ่งนี้หรือไม่?
115 java  eclipse  ide  editor  macros 

4
จะระบุแพลตฟอร์ม / คอมไพเลอร์จากมาโครตัวประมวลผลล่วงหน้าได้อย่างไร
ฉันกำลังเขียนโค้ดข้ามแพลตฟอร์มซึ่งควรรวบรวมที่ linux, windows, Mac OS บน windows ฉันต้องรองรับ visual studio และ mingw มีโค้ดเฉพาะแพลตฟอร์มบางส่วนซึ่งฉันควรวางไว้ใน#ifdef .. #endifสภาพแวดล้อม ตัวอย่างเช่นที่นี่ฉันวางรหัสเฉพาะของ win32: #ifdef WIN32 #include <windows.h> #endif แต่ฉันจะรู้จัก linux และ mac OS ได้อย่างไร ฉันควรใช้ชื่ออะไร (หรืออื่น ๆ )


3
ฉันสามารถใช้มาโครใดที่กำหนดไว้ล่วงหน้าเพื่อตรวจจับเสียงดัง
ฉันกำลังพยายามตรวจหาคอมไพเลอร์ที่ใช้ในการรวบรวมซอร์สโค้ดของฉัน ฉันสามารถค้นหามาโครที่กำหนดไว้ล่วงหน้าเพื่อตรวจสอบ MSVC หรือ GCC ได้อย่างง่ายดาย (ดูตัวอย่างhttp://predef.sourceforge.net/ ) แต่ฉันไม่พบมาโครใด ๆ เพื่อตรวจสอบเสียงดัง มีใครรู้บ้างว่าเสียงดังกล่าวกำหนดมาโครเช่น__CLANG__เพื่อที่จะรู้ว่ากำลังรวบรวมโค้ดของฉันอยู่หรือไม่?

13
iOS จะตรวจจับ iPhone X, iPhone 6 plus, iPhone 6, iPhone 5, iPhone 4 ด้วยมาโครได้อย่างไร?
วิธีตรวจหารุ่นอุปกรณ์ด้วยมาโคร ฉันใช้อะไรแบบนี้ แต่ผลลัพธ์ในโปรแกรมจำลองเสมอ IS_IPHONE_5 #define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) #define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) #define IS_IPHONE_5 (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 568.0) #define IS_IPHONE_6 (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 667.0) #define IS_IPHONE_6PLUS (IS_IPHONE && [[UIScreen mainScreen] nativeScale] == 3.0f) #define IS_IPHONE_6_PLUS (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 736.0) …
111 iphone  macros  detect 

8
ฉันจะแปลงจากองศาเป็นเรเดียนได้อย่างไร
ฉันกำลังพยายามแปลงObj-Cรหัสนี้เป็นSwiftรหัส แต่ฉันไม่รู้ว่ารหัสนี้ควรจะเทียบเท่ากับอะไร? #define DEGREES_TO_RADIANS(degrees)((M_PI * degrees)/180) ฉัน googled และพบสิ่งนี้ แต่ฉันไม่เข้าใจวิธีการแปลงใน Swift ในกรณีของฉัน?
107 ios  objective-c  macos  swift  macros 

19
C นิยามมาโครเพื่อกำหนด endian ใหญ่หรือเครื่อง endian น้อย?
มีคำจำกัดความมาโครหนึ่งบรรทัดเพื่อกำหนดความสิ้นสุดของเครื่องหรือไม่ ฉันใช้รหัสต่อไปนี้ แต่การแปลงเป็นมาโครจะยาวเกินไป unsigned char test_endian( void ) { int test_var = 1; unsigned char *test_endian = (unsigned char*)&test_var; return (test_endian[0] == 0); }

2
การสร้างมาโคร C ด้วย ## และ __LINE__ (การเชื่อมต่อโทเค็นกับมาโครการกำหนดตำแหน่ง)
ฉันต้องการสร้างมาโคร C ที่สร้างฟังก์ชันด้วยชื่อตามหมายเลขบรรทัด ฉันคิดว่าฉันสามารถทำอะไรบางอย่างได้ (ฟังก์ชันจริงจะมีข้อความอยู่ในเครื่องหมายวงเล็บ): #define UNIQUE static void Unique_##__LINE__(void) {} ซึ่งฉันหวังว่าจะขยายไปสู่สิ่งที่ชอบ: static void Unique_23(void) {} ไม่ได้ผล ด้วยการต่อโทเค็นมาโครการกำหนดตำแหน่งจะได้รับการปฏิบัติตามตัวอักษรโดยขยายเป็น: static void Unique___LINE__(void) {} เป็นไปได้ไหมที่จะทำ? (ใช่มีเหตุผลจริงๆที่ฉันอยากทำไม่ว่ามันจะดูไร้ประโยชน์แค่ไหนก็ตาม)
107 c  macros  concatenation  token 

6
จะส่งผ่านนิยามมาโครจากอาร์กิวเมนต์บรรทัดคำสั่ง“ make” (-D) ไปยังซอร์สโค้ด C ได้อย่างไร
ฉันมักจะส่งผ่านคำจำกัดความของมาโครจาก "make command line" ไปยัง "makefile" โดยใช้ตัวเลือก: -Dname = value คำจำกัดความสามารถเข้าถึงได้ภายใน makefile ฉันยังส่งผ่านนิยามมาโครจาก "makefile" ไปยัง "ซอร์สโค้ด" โดยใช้ตัวเลือกคอมไพเลอร์ที่คล้ายกัน: -Dname = value (รองรับในคอมไพเลอร์จำนวนมาก) คำจำกัดความนี้สามารถเข้าถึงได้ในซอร์สโค้ด สิ่งที่ฉันต้องการในตอนนี้คืออนุญาตให้ผู้ใช้ makefile ของฉันสามารถส่งผ่านนิยามมาโครโดยพลการจาก "make.exe commandline" ไปยัง "source code" ได้ทันทีโดยไม่ต้องเปลี่ยนแปลงอะไรใน makefile เพื่อให้ผู้ใช้สามารถพิมพ์: make -f mymakefile.mk -SOMEOPTION var = 5 จากนั้นรหัส main.c โดยตรงสามารถดู var: int main() { int i = …
107 c  macros  makefile 


7
จุลภาคในมาโคร C / C ++
สมมติว่าเรามีมาโครแบบนี้ #define FOO(type,name) type name ซึ่งเราสามารถใช้เช่น FOO(int, int_var); แต่ไม่ง่ายอย่างนั้นเสมอไป: FOO(std::map<int, int>, map_var); // error: macro "FOO" passed 3 arguments, but takes just 2 แน่นอนเราทำได้: typedef std::map<int, int> map_int_int_t; FOO(map_int_int_t, map_var); // OK ซึ่งไม่ถูกหลักสรีรศาสตร์ ต้องจัดการกับความเข้ากันไม่ได้ของประเภทบวก มีความคิดอย่างไรในการแก้ไขปัญหานี้ด้วยมาโคร
104 c++  c  macros  c-preprocessor 


4
Swift: จะใช้ PREPROCESSOR Flags (เช่น "#if DEBUG`) เพื่อใช้คีย์ API ได้อย่างไร
ในObjective-Cบางครั้งการใช้ค่าคงที่สตริงคงที่เพื่อกำหนดคีย์ API ทางเลือก (ตัวอย่างเช่นเพื่อแยกความแตกต่างระหว่างคีย์ RELEASE และ DEBUG สำหรับแพ็คเกจการวิเคราะห์เช่น MixPanel, Flurry หรือ Crashlytics): #if DEBUG static NSString *const API_KEY = @"KEY_A"; #else static NSString *const API_KEY = @"KEY_B"; #endif แล้ว ... [Analytics startSession:API_KEY]; สิ่งนี้แปลเป็น Swift อย่างไรเนื่องจากคอมไพเลอร์ Swift ไม่ใช้ตัวประมวลผลล่วงหน้าอีกต่อไป

7
ทำไมต้องกำหนดมาโครถ้ายังไม่ได้กำหนดไว้
ในฐานรหัส C ของเราฉันเห็นทุกมาโครที่กำหนดด้วยวิธีต่อไปนี้: #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 อะไรคือเหตุผลของการทำการตรวจสอบกำหนดเหล่านี้แทนที่จะเพียงแค่กำหนดมาโคร #define BEEPTRIM_PITCH_RATE_DEGPS 0.2f #define BEEPTRIM_ROLL_RATE_DEGPS 0.2f #define FORCETRIMRELEASE_HOLD_TIME_MS 1000.0f #define TRIMSYSTEM_SHEARPIN_BREAKINGFORCE_LBS 50.0f ฉันไม่พบวิธีปฏิบัตินี้ที่อธิบายไว้ในเว็บ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.