2014-09-04 2 views
-1
void parse_adts_bitstream(AAC_HEAP *heap, BIT_BUFFER *buff) 
    { 
     ADTS_FRAME *curFrame = malloc(sizeof(ADTS_FRAME)); 
     ADTS_HEADER *header = &(curFrame->header); 


     /* Update ADTS First frame pointer */ 
     if(curFrame != NULL) 
     {  
      heap->adts = curFrame; 
      memset(curFrame, 0, sizeof(ADTS_FRAME)); 
     } 
     else 
     { 
      fprintf(stdout, "\nError : malloc failure.. "); 
      exit(0); 
     } 



     /* Parse all frame and get bitstream information */ 
     while (buff->nBytesRead < buff->bufferSize) 
     { 


      /* Get ADTS Header Information */ 
      header->fix.syncword       = (short)getbits(12, buff); 
      header->fix.id         = (char)getbits(1, buff); 
      header->fix.layer        = (char)getbits(2, buff); 
      header->fix.protection_absent     = (char)getbits(1, buff); 
      header->fix.profile_ObjectType     = (char)getbits(2, buff); 
      header->fix.sampling_frequency_index   = (char)getbits(4, buff); 
      header->fix.private_bit      = (char)getbits(1, buff); 
      header->fix.channel_configuration    = (char)getbits(3, buff); 
      header->fix.original_copy      = (char)getbits(1, buff); 
      header->fix.home        = (char)getbits(1, buff); 
      header->var.copyright_identification_bit  = (char)getbits(1, buff); 
      header->var.copyright_identification_start  = (char)getbits(1, buff); 
      header->var.aac_frame_length     = (short)getbits(13, buff); 
      header->var.adts_buffer_fullness    = (short)getbits(11, buff); 
      header->var.number_of_raw_data_blocks_in_frame = (char)getbits(2, buff); 

      /* Get frame data */ 
      curFrame->data = getdata(header->var.aac_frame_length - ADTS_FRAME_LENGTH, buff); 
      curFrame->data -= ADTS_FRAME_LENGTH; 

      /* Parse raw data block */ 
      if (header->var.number_of_raw_data_blocks_in_frame >= 0) 
      { 

       heap->rdb = curFrame->data; 
       parse_raw_data_block(heap,buff); 
      } 

      /* Allocate Memory for next Frame */ 
      curFrame->next = NULL; 
      if (buff->nBytesRead < buff->bufferSize) 
      { 
       curFrame->next = malloc(sizeof(ADTS_FRAME)); 
       if(curFrame->next != NULL) 
        curFrame = (ADTS_FRAME*)curFrame->next; 
       else 
       { 
        fprintf(stdout, "\nError : malloc failure.. "); 
        exit(0); 
       } 
      } 
     } 



     return; 
    } 

CXX0017: «узел» Ошибка символ не найден, в «часы 1», я столкнулся эту ошибку, когда я отладки мой проект. Я не использовал переменную «node» в моей программе. Зачем возникает эта ошибка. «parse_raw_data_block (heap, buff)» - когда я вызывал эту функцию, эта ошибка возникает, если я прокомментировал эту ошибку функции, не придет. Пожалуйста, помогите мне.CXX0017: «узел» Символ ошибки не найден

ответ

2

CXX0017: Ошибка символ «узел» не найден, в «часы 1»

звучит очень похоже, что это переменная наблюдают в отладчик (и, на самом деле, это являетсяsuch a beast), который может быть или не быть переменной в коде.

Даже если он был в вашем коде, он может быть на другом уровне стека до того уровня, в котором вы сейчас находитесь.

Скорее всего, точка наблюдения установлена ​​на переменной под названием node. Вам просто нужно удалить эту точку наблюдения, используемый метод будет продиктован самим отладчиком.

Например, в Visual Studio Debugger, я считаю, вы можете перейти в окно просмотра и щелкнуть правой кнопкой мыши по выражению, чтобы удалить его.

+0

CXX0017: символ ошибки «node» не найден, ошибка только в этом, я не использовал какую-либо переменную, такую ​​как узел, когда я отлаживаю ее. Покажите мне «Необработанное исключение в 0x002f2ea7 в bs_info.exe: 0xC0000005: местоположение чтения нарушения доступа 0x0cbbb6b4" и перерыв, тогда я смотрю и показываю мне ошибку – dhimanta

+0

Никто не может помочь мне – dhimanta

Смежные вопросы