我一直在仔细阅读numpy的一些源代码,我注意到很多c源代码都使用了构造@variablename@.例如,在文件"npy_math_complex.c.src"(位于此处):
/*==========================================================
* Constants
*=========================================================*/
static const @ctype@ c_1@c@ = {1.0@C@, 0.0};
static const @ctype@ c_half@c@ = {0.5@C@, 0.0};
static const @ctype@ c_i@c@ = {0.0, 1.0@C@};
static const @ctype@ c_ihalf@c@ = {0.0, 0.5@C@};
Run Code Online (Sandbox Code Playgroud)
做什么@ctype@和@c@意味着什么?这些是某种宏吗?我猜他们不是普通的C-macro,因为我查看了文件中列出的相关头文件,他们似乎没有使用"@"定义任何宏.
将c代码编译成python模块时是否@name@使用某种宏distutils?
我以前从未见过@c代码中使用过的符号,所以我有点困惑......