gcc 编译时可以通过 - D 选项传递宏定义

    1. #include <stdio.h>
    2. #ifndef S
    3. #define S "ab"
    4. #endif
    5. #ifndef A
    6. #define A 10
    7. #endif
    8. void main()
    9. {
    10. char s[]=S;
    11. char a=A;
    12. printf("a:%d\n",a);
    13. printf("s:%s",s);
    14. }

    编译:

    1. gcc -o test.exe test.c -DS=\\"abc\\" -DA=100

    运行输出

    1. a:100
    2. s:abc

    https://codeantenna.com/a/xY8e8oAu3i