2014-09-04 1 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 시계", 에 직면하고있다에서 찾을 수 없습니다. 내 programm에서 "node"변수를 사용하지 않았습니다. 왜이 오류가 발생합니까? "parse_raw_data_block (heap, buff)"-이 함수를 호출 할 때이 오류가 발생했습니다.이 함수 오류가 발생하면 오류가 발생합니다. 도와주세요.CXX0017 : 오류 기호 "노드"을 (를) 찾을 수 없습니다

답변

2

CXX0017 : 오류 기호 "노드가"

매우 그것이 변수가 실제로 디버거 (그리고,에 감시 당하고있는 것처럼 소리 "일을보고"에서 찾을 수 없습니다, 그것은 입니다such a beast). 코드에서 변수 일 수도 있고 아닐 수도 있습니다.

코드에 이라도 현재 사용중인 것과 다른 스택 레벨 일 수 있습니다.

node이라는 변수에 감시 점이 설정되었을 수 있습니다. 해당 감시 점을 제거하기 만하면 디버거 자체가 사용하는 방법이 사용됩니다.

예를 들어 Visual Studio Debugger에서 조사 식 창으로 이동하여 식을 마우스 오른쪽 단추로 클릭하여 삭제할 수 있다고 생각합니다.

+0

CXX0017 : 오류 기호 "노드"를 찾지 못했습니다. 오류는 이것뿐입니다. 디버그 할 때 노드와 같은 변수를 사용하지 않았습니다. "bs_info.exe의 0x002f2ea7에서 처리되지 않은 예외가 있습니다. 0xC0000005 : 0x0cbbb6b4 위치를 읽는 액세스 위반" 휴식을 취한 다음 오류를 보았습니다. – dhimanta

+0

아무도 나를 도와주지 못했습니다. – dhimanta

관련 문제