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 cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.