내가 이해 한 바로는 오브젝트 파일의 명령어와 데이터에는 모두 주소가 있습니다. 첫 번째 데이터 항목은 주소 0에서 시작하고 첫 번째 명령은 주소 0에서 시작합니다. 재배치 테이블에는 파일의 주소가 변경된 경우 업데이트해야하는 명령에 대한 정보가 들어 있습니다 (예 : 파일이 다른 주소 . 아래 예제에서 라인 A는 재배치 테이블에 있습니다. 나는 B가 재배
컴파일러 디자인 과정에서 스캔 결과가 (토큰 코드, 심볼 테이블의 토큰 위치) 쌍 시퀀스 인입니다. 나는 "위치"부분의 의미에 대해 약간 혼란 스럽다. 심볼 테이블이 인덱스와 같은 인덱스 (예 : 배열)를 사용하여 액세스 할 수있는 구조로 표현 된 경우 "위치"가 명확하며 배열의 첫 번째, 두 번째, 99 번째 요소를 의미합니다. 소스 코드 예 : 주사의
TL 작동 방법 relocs, 기호 섹션 데이터 및 이해, DR 나는이 짧은 질문을 만들려고하지만 긴 었죠 그래서 복잡한 문제입니다. 이 부분의 일부에 답하거나 제안이나 조언 또는 자료를 제공 할 수 있다면 모든 문제를 직접 해결하지 않아도 도움이 될 것입니다. 나는 지금 벽에 머리를 치고있다. :) 내가 겪고있는 특정 문제는 다음과 같습니다. 자세한 내용
그래서 C++에서 이처럼 C 스타일 중첩 블록을 포함하는 입력 파일에서 심볼 테이블을 생성하려고합니다. A: { int a; float b;
B: { float c; int d;
C: { int b; int c;
}
}
D: { float a;
}
}
출력은 다음과 같아야합니다. A: a -> <int, A>
b -> <float, A>
분해 풍미를 인텔로 설정하고 싶습니다 ........ 다음을 시도했습니다 ............... ................ $ gdb를 -q /root/.gdbinit:1 : 전래 명령 파일에 오류 : 기호 테이블이로드되어 있지 않습니다. "file"명령을 사용하십시오. (GDB) 설정 분해-맛 인텔 은 어떤 심볼 테이블이로드되지 않습니다. "fi
이전에 생성 된 AST 트리에서 심볼 테이블을 작성하는 방법과 관련하여 javacc 인터프리터를 만드는 방법에 대해 상당히 혼란스러워졌습니다. 이 AST에서이 같은 이 뭔가 : > Program
> Id
> Id
> Id
> VarDecl
> Type
> Id
> Stl
> Id
> NewInt
> IntLit
> Sta
> Id
>
Dictionary.Item() 메쏘드가 IDictionary.Item()인데 비해 KeyNotFoundException을 던졌습니다. 이상하게 보입니다. Dictionary는이 인터페이스를 구현합니다. 그렇다면 왜 이미지 구현이 인터페이스 규칙을 어기 는가? 은 (또한 사전 뒤에 아이디어는 방법은 예외를 throw하지 않아야 규칙을 갖고있는 것 같아요 나
기본 컴파일러 GCC 4.8.1을 사용하여 우분투 13.10 x86_64에 github에 Ian Buclaw (ibuclaw) GDB 분기를 성공적으로 빌드하고 설치했습니다. bin 하위 디렉토리에서 ld 파일을 제거해야했습니다. 링크 단계에서 DMD가 sysroot 문제에 대해 불평합니다. 그런 다음 테스트 프로그램을 컴파일하고 GDB를 통해 실행하면 문
나는이 이상한 상황이 계속되고있다. 일부 라스베리 파이 라이브러리 함수의 접두사를 해제하려고합니다. 예를 들어, bcm2835_delay()가 delay()가되도록합니다. pi.h와 pi.c라는 두 개의 파일이 있습니다. 두 컴파일 할 때 gcc -lm pi.c -c 내 de-prefixed delay()는 bcm2835_delay()가됩니다. 아래 두 파