Câu hỏi được gắn thẻ «c-preprocessor»

Một bộ xử lý macro văn bản được áp dụng trước khi biên dịch các chương trình ngôn ngữ C và C ++. Thẻ này cũng có thể được sử dụng cho các câu hỏi về trình biên dịch / ngôn ngữ khác có nguồn gốc từ hoặc có các tính năng giống hệt nhau, chẳng hạn như #directives trong Objective-C hoặc C #.

7
Tại sao chỉ xác định một macro nếu nó chưa được xác định?
Trên toàn bộ cơ sở mã C của chúng tôi, tôi thấy mọi macro được xác định theo cách sau: #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 Cơ sở lý luận của việc …



3
Nối int với chuỗi bằng C Preprocessor
Tôi đang cố gắng tìm ra cách tôi có thể nối một chuỗi #defineint #define' với một chuỗi' d bằng cách sử dụng C Preprocessor. Trình biên dịch của tôi là GCC 4.1 trên CentOS 5. Giải pháp cũng sẽ hoạt động cho MinGW. Tôi muốn nối số phiên bản …








6
#ifdef bên trong #define
Tôi đang cố viết một cái gì đó như thế này: #define COV_ON(x) \ #ifdef COVERAGE_TOOL \ _Pragma (COVERAGE #x) #endif Có cách nào để định nghĩa COV_ONnhư thế này không? Tôi biết những gì tôi đã làm ở trên là sai vì tôi không thể có #ifdefbên trong #define. …
83 c  c-preprocessor 

7
Hiểu macro container_of trong nhân Linux
Khi tôi duyệt hạt nhân Linux, tôi tìm thấy một container_ofmacro được định nghĩa như sau: #define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ (type *)( (char *)__mptr - offsetof(type,member) );}) Tôi hiểu container_of làm gì, nhưng điều tôi không hiểu là câu …

6
#define so với const trong Objective-C
Tôi là người mới sử dụng Objective-C và tôi có một số câu hỏi liên quan đến constchỉ thị tiền xử lý #define. Đầu tiên, tôi thấy rằng không thể xác định kiểu của hằng số bằng cách sử dụng #define. Tại sao vậy? Thứ hai, có bất kỳ lợi …

4
So sánh vĩ mô if-directive
Tại sao #ifđiều kiện trong đoạn mã sau được đáp ứng: #include <iostream> #define VALUE foo int main() { #if VALUE == bar std::cout << "WORKS!" << std::endl; #endif // VALUE }

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.