Tôi muốn làm điều gì đó như sau:Làm cách nào để tạo danh sách qua bộ tiền xử lý C (cpp)?
F_BEGIN
F(f1) {some code}
F(f2) {some code}
...
F(fn) {some code}
F_END
và có nó tạo ra sau
int f1() {some code}
int f2() {some code}
...
int fn() {some code}
int (*function_table)(void)[] = { f1, f2, ..., fn };
Các chức năng chính họ là dễ dàng. Những gì tôi không thể làm là để theo dõi tất cả các tên cho đến khi kết thúc cho function_table.
Tôi đã xem số this question và this question nhưng tôi không thể nhận được bất kỳ thứ gì phù hợp với mình. Bất kỳ ý tưởng nào?
Trình tiền xử lý C không cho phép các macro xác định các macro khác hoặc có bất kỳ cách nào để thực hiện đệ quy hoặc lặp, do đó kỹ thuật này (cũng được mô tả bởi ddyer) là tốt nhất bạn có thể thực hiện. – zwol