C语言 错误:'uint16_t' 未声明?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/17436527/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-02 06:51:21 来源:igfitidea点击:
error: 'uint16_t' undeclared?
提问by pandoragami
I have the code
我有代码
#include <emmintrin.h>
#include <stdio.h>
void print128_num(__m128i var)
{
uint16_t *val = (uint16_t*) &var;
printf("Numerical: %i %i %i %i %i %i %i %i \n",
val[0], val[1], val[2], val[3], val[4], val[5],
val[6], val[7]);
}
int main(void)
{
__m128i a = _mm_set_epi32(4, 3, 2, 1);
__m128i b = _mm_set_epi32(7, 6, 5, 4);
__m128i c = _mm_add_epi32(a, b);
print128_num(c);
return 0;
}
and I'm getting an error where uint16_tisn't declared. I'm using GCC with MINGW.
我在uint16_t未声明的地方遇到错误。我在 MINGW 中使用 GCC。
Heres the complete error.
这是完整的错误。
||In function 'print128_num':|
|6|error: 'uint16_t' undeclared (first use in this function)|
|6|error: (Each undeclared identifier is reported only once|
|6|error: for each function it appears in.)|
|6|error: 'val' undeclared (first use in this function)|
|6|error: expected expression before ')' token|
回答by Carl Norum
You need to include stdint.hor inttypes.hto get uint16_t.
您需要包含stdint.h或inttypes.h获取uint16_t.

