2013-07-02 7 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 घोषित नहीं किया गया है हो रही है। मैं एमआईसीडब्ल्यू के साथ जीसीसी का उपयोग कर रहा हूं।

पूरी त्रुटि है।

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

आप uint16_t पाने के लिए stdint.h या inttypes.h शामिल करने के लिए की जरूरत है।

+0

मैं सी के लिए इतना नया उपयोग नहीं करता हूं। – pandoragami

+0

जितना अधिक आप जानते हैं ... ;-) –

+2

इसके अलावा: डाउनवॉटर की व्याख्या करने की देखभाल? –

-3

<stdlib.h> का उपयोग करें, इसमें सभी खुशहाल जीवन शामिल होंगे।

+0

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

+1

आपका मतलब है '#' शामिल करें? – Tim

+1

प्रश्न पहले से ही कई साल पहले सही ढंग से उत्तर दिया गया था। यह जवाब गलत है; '' सहित * नहीं * uint16_t' दिखाई देता है। कृपया इसे हटा दें। –

संबंधित मुद्दे