>시스템 튜토리얼 >리눅스 >명령줄 입력을 기반으로 하는 c/C++ 컴파일러 실행 프로세스

명령줄 입력을 기반으로 하는 c/C++ 컴파일러 실행 프로세스

WBOY
WBOY원래의
2024-06-01 21:57:27966검색

목차

첫 번째: c/C++ 컴파일러 gcc, cc, c++, g++가 linuxgcc에 포함되어 있습니다

두 번째: gcc 기능

세 번째: gcc 실행 프로세스

넷째: gcc 옵션

다섯 번째: gcc에 따른 합의된 규칙 중 일부

첫 번째: c/C++ 컴파일러 gcc, cc, c++, g++가 linuxgcc에 포함되어 있습니다

그중 gcc와 cc는 같고, c++과 g++는 같습니다. 보통 c언어 프로그램은 gcc로 컴파일합니다gcc로 리눅스를 컴파일하는 방법gcc로 리눅스를 컴파일하는 방법, C++ 프로그램은 g++로 컴파일합니다. .

두 번째: gcc 기능

gcc는 여러 하드웨어 플랫폼을 지원하는 휴대용 컴파일러입니다. ARM, X86 등과 같은

编译用英语怎么说_编译用英语_linux怎么用gcc编译

gcc는 로컬 컴파일러일 뿐만 아니라 여러 플랫폼에서 크로스 컴파일이 가능합니다. 소위 로컬 컴파일러는 컴파일된 프로그램이 로컬 환경에서만 실행될 수 있음을 의미합니다. gcc로 컴파일된 프로그램만 다른 플랫폼에서 실행될 수 있습니다.

gcc에는 다양한 언어를 구문 분석하기 위한 여러 언어 백엔드가 있습니다. 또한 gcc는 모듈성에 따라 설계된 Linux vi 명령이며 새로운 언어 및 새로운 CPU 아키텍처에 대한 지원을 추가할 수 있습니다. gcc는 자유 소프트웨어입니다. 누구나 이 소프트웨어를 사용하거나 수정할 수 있습니다.

세 번째: gcc 실행 프로세스

(1) 명령줄에 gcctest.c

를 입력합니다.

이렇게 하면 기본적으로 a.out이라는 프로그램이 컴파일됩니다.

명령줄에 다음을 입력하세요: ./a.out

프로그램을 실행할 수 있습니다.

(2) 명령줄에 입력하면: gcctest.c-otest

이렇게 하면 test라는 프로그램이 컴파일됩니다

명령줄에 입력: ./test

프로그램을 실행할 수 있습니다.

참고: -o 매개변수는 생성된 프로그램의 이름을 지정하는 데 사용됩니다

(3) Linux 운영 체제 버전의 단계별 실행, 더 구체적인 이미지

4가지 프로세스가 포함되어 있습니다:

1. 전처리

기본적으로 4가지 작업(헤더 파일 확장, 주석 제거, 매크로 교체, 조건부 컴파일 포함)을 수행합니다.

특정 작업: 명령줄 입력: gcc-Etest.c-otest.i

이 명령의 의미: 전처리의 첫 번째 단계 후에 전처리가 중지되고 임시 콘텐츠가 test.i 파일에 저장됩니다

linux怎么用gcc编译_编译用英语_编译用英语怎么说

2.컴파일

핵심은 C언어를 어셈블리 언어로 바꾸는 것

특정 작업: 명령줄 입력: gcc-Stest.i-otest.s

이 명령의 의미: 컴파일의 두 번째 단계가 끝나면 컴파일이 중지되고 임시 콘텐츠가 test.s 파일에 저장됩니다

3.편집

핵심은 어셈블리 언어를 타겟 2의 보완 파일(실행 가능하지 않음)로 바꾸는 것입니다

특정 작업: 명령줄 입력: gcc-ctest.s-otest.o

이 명령은 조립의 세 번째 단계를 완료한 후 중지되고 임시 콘텐츠가 test.o 파일에 저장된다는 의미입니다.

4.링크

linux怎么用gcc编译_编译用英语_编译用英语怎么说

핵심은 실행 파일이나 라이브러리 파일을 생성하기 위해 코드에서 사용하는 타사 라이브러리를 소개하는 것입니다

(타사 라이브러리는 컴파일러 및 파일 접미사에 의해 결정됩니다)

넷째: gcc 옵션

-E는 전처리 작업만 수행합니다

-S 어셈블리 중지까지 컴파일(어셈블하지 않고 전처리 및 컴파일만 완료)

-c는 어셈블리 작업을 수행합니다(어셈블리 코드로 컴파일)

-O[0,1,2,3]

최적화 프로그램(기본값은 레벨 2 최적화, 0은 최적화되지 않음, 3은 가장 높은 최적화 레벨)

-static은 생성된 파일에 대해 정적 링크를 사용합니다

编译用英语怎么说_linux怎么用gcc编译_编译用英语

-공유 동적 라이브러리를 사용해 보세요

-이디르

헤더 파일 검색을 위해 디렉터리 경로에 dir 디렉터리를 추가하세요

-Ldir

검색 라이브러리의 디렉터리 경로에 dir 디렉터리를 추가하세요

-llib

lib 라이브러리 연결

-Wall로 인해 gcc는 소스 파일의 코드 문제에 대해 경고 메시지를 발행합니다

-W경고 메시지를 발행하지 마세요

-g는 gdb

와 같은 디버거의 디버깅을 용이하게 하기 위해 대상 파일에 디버깅 정보를 생성합니다.

위 내용은 명령줄 입력을 기반으로 하는 c/C++ 컴파일러 실행 프로세스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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