在构建时检查C类型的大小

时间:2013-08-09 04:54:21

标签: c waf

我想与Waf建立构建时跨语言ABI兼容性。我如何检查类型的大小(或任何类似类型的检查),并将其记录到构建配置中?

1 个答案:

答案 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参数。