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