我想与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/

10-11 22:39