3

저는 프로그래밍 초보자이며 훌륭한 C 컴파일러를 다운로드하여 코딩 연습을 원했습니다. 그래서 저는 GCC에 대해 조금 연구를 시작했습니다. 나는 그것에 Wikipedia article를 읽었다. 이 기사에는 대상 아키텍처에 대한 내용이 언급되어 있습니다. 누구나 그것이 무엇을 의미하는지 그리고 더 많은 정보를 얻기 위해 참고할 수있는 모든 자료를 말할 수 있습니까? 미리 감사드립니다.컴퓨터 과학의 목표 아키텍처는 무엇입니까?

+1

그것은 당신이 코드를 실행하는 것입니다 ...... –

+0

이봐, 왜 downvote? – Switch

답변

8

대상 아키텍처은 컴파일러에서 이진 파일을 생성하는 아키텍처입니다.

일반 구조는 : I386 (인텔 32 비트), x86_64의 (인텔 64 비트)하는 ARMv7, arm64 등 ..

GCC 어셈블리 코드 (전처리 단계 이후) C 코드를 컴파일 이며 어셈블리 코드는 CPU 아키텍처에 따라 다릅니다. 어셈블리 코드는 바이너리 파일에 "조립"됩니다. 마음해야 할

뭔가 :

두 바이너리 파일은 동일한 아키텍처를 공유에도 불구하고 서로 다른 운영 체제에서 호환되도록 보장되지 않습니다.

우분투 리눅스에서 컴파일 된 프로그램 (아치 x86_64로 가정 해 봅시다)은 Windows에서 작동하지 않습니다 (동일한 호 x86_64).

x86_64-apple-darwin14.0.0 
i386-pc-mingw32 
i686-pc-linux-gnu 

형식은 다음과 같습니다 :

machine-vendor-operatingsystem (not always followed though) 

그들은 아키텍처와 운영 체제 모두에서 정보를 정기적으로 포함

GCC처럼, "세 쌍둥이"로 구조를 식별합니다.