我有这段代码,我试图使用-msse4.2
(我试过msse4
)在 GCC-TDM 1.7.4-2 上运行,但出现错误:
sse_lzcnt.c|7|warning: implicit declaration of function '__lzcnt16'|
sse_lzcnt.c|9|warning: too many arguments for format|
obj\Debug\sse_lzcnt.o||In function `main':|
sse_lzcnt.c|7|undefined reference to `__lzcnt16'|
未定义的引用通常是由于缺少 lib 文件(.a 结尾)而导致的链接错误,但内在标头不需要?
我确保内在函数头文件位于正确的包含目录中。这是代码,
#include <x86intrin.h>
#include <stdio.h>
int main()
{
unsigned short __X = 256;
unsigned short RESULT = __lzcnt16(__X);
printf("result: ", RESULT);
return 0;
}