2013-07-02 3 views
9

나는 코드를오류 : 'uint16_t'이 신고되지 않았습니까?

#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; 
} 

을하고 난 uint16_t이 선언되지 않은 오류를 받고 있어요. MINGW와 함께 GCC를 사용하고 있습니다.

Heres the complete error. uint16_t를 얻을 수

||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| 

답변

30

당신은 stdint.h 또는 inttypes.h을 포함해야합니다.

+0

저는 C를 사용하지 않습니다. – pandoragami

+0

아는 것이 많을수록 ... ;-) –

+2

옆으로 : Downvoter는 설명해 주실까요? –

-3

<stdlib.h>을 사용하면 행복한 삶이 모두 포함됩니다.

+0

///////////////////////////// – user8133263

+1

당신은'#include '을 의미합니까? – Tim

+1

질문은 이미 정확하게 몇 년 전에 답변되었습니다. 이 대답은 잘못되었습니다. ''을 포함해서'uint16_t'을 볼 수 없습니다. 삭제하십시오. –