Tôi muốn nhận bộ xử lý trước C để tạo macro cho tôi (nghĩa là tôi chỉ sử dụng C99). Tôi muốn viết một macroMacro sản xuất macro trong C?
#define make_macro(in) <...magic here...>
và khi tôi đặt
make_macro(name1)
make_macro(name2)
sau này trong mã này, nó sẽ mở rộng tới
#define name1(...) name1_fn(name1_info, __VA_ARGS__)
#define name2(...) name2_fn(name2_info, __VA_ARGS__)
và sau đó tôi sẽ có thể sử dụng name1 và name2 như (các hàm được triển khai macro). Tôi nghĩ rằng tôi đang bị mắc kẹt bằng cách sử dụng macro ở cả hai bước: nó làm cho tinh thần để sử dụng một vĩ mô để liên tục tái điền vào một mẫu, và xử lý đối số variadic sẽ không hoạt động ngoại trừ thông qua một macro.
Vì vậy, những gì đi vào các < ... ma thuật ở đây ...> giữ chỗ để làm điều này? Tại thời điểm này, tôi bắt đầu tin rằng nó không thể trong C99, nhưng có lẽ tôi đang thiếu một số chi tiết cú pháp.
lý do macro? tôi không nhận được điều này "để liên tục điền lại một mẫu" điểm. những gì mẫu, và những gì nạp tiền? –