>  기사  >  백엔드 개발  >  C언어로 하드웨어를 직접 동작시킬 수 있나요?

C언어로 하드웨어를 직접 동작시킬 수 있나요?

藏色散人
藏色散人원래의
2020-04-23 09:21:477938검색

C언어로 하드웨어를 직접 동작시킬 수 있나요?

C 언어로 하드웨어를 직접 동작시킬 수 있나요?

안 돼요.

우선 C언어는 하드웨어를 직접 동작시킬 수 없습니다. 본질적으로 어셈블리 언어도 아닙니다. 기계어만이 하드웨어를 직접 작동시킬 수 있습니다.

둘째, C언어는 하드웨어를 동작시키기 위해서는 일련의 컴파일과 변환 과정을 거쳐야 합니다. 결국 0101이라는 기계적인 코드가 될 것이다. 이때는 우리가 전혀 이해할 수 있는 C언어가 아니다.

GCC 컴파일러를 예로 들면 이는 4단계로 나눌 수 있습니다.

첫 번째 단계는 문법 검사 및 기타 작업을 포함한 전처리입니다. gcc -P abc.c 두 번째 단계는 소스 프로그램에서 어셈블리 언어 코드를 생성하는 것입니다. gcc -S abc.c는 어셈블리 코드가 포함된 abc.s 파일을 생성합니다. 세 번째 단계에서는 컴파일러가 객체 코드를 생성하고, 하나의 소스 파일이 하나의 객체 코드를 생성합니다. gcc -c abc.c는 abc.o를 생성합니다. 네 번째 단계는 커넥터가 대상 코드에서 실행 파일을 생성하는 것입니다. gcc abc.o

결국, 상대적으로 말하자면 C 언어는 고급 언어 중 물리적 수준에 가장 가까운 언어입니다. 고급언어 내에서는 저급언어라고도 합니다. 여러 측면에서 하드웨어와 매우 유사하기 때문입니다. 대표적인 예로 포인터가 있는데, 이는 물리적 주소를 통해 메모리를 직접적으로 동작시키는 변수이다.

위 내용은 C언어로 하드웨어를 직접 동작시킬 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.