我想与Waf建立构建时跨语言ABI兼容性。我将如何检查类型的大小(或任何类似类型的任意检查),并将其记录到构建配置中?
最佳答案
您可以创建一个输出该大小的程序。我在几个./configure
文件上看到了这个方法:
cat << EOF > test.c
#include <stdio.h>
int main ()
{
printf("int %d\n", sizeof(int));
return 0;
}
EOF
$(CC) test.c -o out
./out >> sizes
rm -f test.c out
当然,还要测试错误的情况等等。
编辑:请参见waf文档。特别地,请阅读
run_c_code
方法。为了保存sizeof
的值,您可以改为写入文件,然后从Python / Waf读取文件。或者,请参见define_ret
参数。关于c - 在构建时检查C类型的大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18140221/