__get_cpuid 的可移植性如何?
Posted
技术标签:
【中文标题】__get_cpuid 的可移植性如何?【英文标题】:How portable is __get_cpuid? 【发布时间】:2011-12-06 21:20:12 【问题描述】:我正在使用__get_cpuid()
来获取有关我的程序运行的x86
和x86_64
处理器的信息。使用 Linux 和 Mac OS 上的 GCC,它似乎可以在不包含任何头文件的情况下编译和运行,但它的可移植性如何?它可以与其他编译器一起使用吗?我应该为此添加一个标题吗?
【问题讨论】:
无论如何你都应该包含它。在 C99 中调用没有已知原型的函数是非法的。 @WTP:作为内置函数,它不需要原型。没有要包含的头文件。 C99 标准不适用,因为它是一种语言扩展。 @Dietrich Epp 糟糕,我不知道这是语言扩展。问题中没有提到这一点。 【参考方案1】:它有两个前导下划线。任何前导下划线都暗示该变量或函数不可移植。
【讨论】:
是否有可以检测 CPU 特性的可移植 C 代码(作为模板库更好)?即时是否支持 AVX。以上是关于__get_cpuid 的可移植性如何?的主要内容,如果未能解决你的问题,请参考以下文章