본문 바로가기

IT/Linux

gcc 컴파일

 

이와 같이 향상된 어셈블리어는 인간이 좀더 다루기 쉽도록 도와주기 위한 다양한 명령과 기능을 제공하고 있다. MIPS의 어셈도 마찬가지로 확장된 어셈블리어를 제공하기 때문에, 좀더 사용하기 쉽기는 하겠지만.. 여전히 프로세서의 세부적인 작동방식을 이해하고 있어야만 한다.

 

위에서 C(:12)/C++같은 고급언어의 경우에는 프로세서의 세부적인 작동방식을 이해하고 있을 필요는 없다. 왜냐하면, 인간이 이해하기 쉬운 코드를 만들어내면, 이것을 c혹은 c++ 컴파일러가 해당 프로세서가 이해할 수 있는 어셈블리어로 변환 시켜주기 때문이다. 때문에 Intel 계열 프로세서에서 작동하도록 만들어진 C프로그램은 거의 코드의 변환 없이 Sparc 프로세서에서도 작동을 한다. 단지 컴파일만 새로 해주면 Sparc 프로세서가 이해가능한 어셈블리어로 변환시켜준다.

최근에는 java처럼 아예 가상의 머신위에서 작동하는 프로그램을 만들기도 한다. java가 작동할 수 있게끔 제공되는 가상 머신을 jvm이라고 하는데, 가상머신위에서 작동하기 때문에, C/C++과 같이 다시 컴파일할 필요조차 없이, 모든 플렛폼에서(물론 jvm은 설치되어 있어야 하겠지만)동일하게 작동되는 프로그램을 만들 수 있다.

 

 

 

 

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

 

'IT > Linux' 카테고리의 다른 글

[Linux] 동적 라이브러리 만들기  (0) 2020.08.28
정적 라이브러리 만들기  (0) 2020.08.28
vi 편집기 문자열 찾기  (0) 2020.07.30
[Linux] sh파일로 gcc 컴파일  (0) 2020.07.30
[Linux] gcc와 리눅스 커널  (0) 2020.06.24