我想与Waf建立构建时跨语言ABI兼容性。我如何检查类型的大小(或任何类似类型的检查),并将其记录到构建配置中?
答案 0 :(得分:0)
您可以创建一个输出该大小的程序。我在几个./configure
个文件中看到了这个apporach:
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
参数。