ホームページ  >  記事  >  システムチュートリアル  >  コマンドライン入力に基づいてプロセスを実行する C/C++ コンパイラ

コマンドライン入力に基づいてプロセスを実行する C/C++ コンパイラ

WBOY
WBOYオリジナル
2024-06-01 21:57:27946ブラウズ

目次

最初: linuxgcc に含まれる c/c++ コンパイラー gcc、cc、c++、g++

2 番目: gcc の機能

3 番目: gcc 実行プロセス

4: gcc オプション

5 番目: gcc が従う合意されたルールの一部

最初: linuxgcc に含まれる c/c++ コンパイラー gcc、cc、c++、g++

その中で、gcc と cc は同じであり、c++ と g++ は同じです。 通常、c 言語プログラムは gcc でコンパイルされます gcc で Linux をコンパイルする方法 gcc で Linux をコンパイルする方法、c++ プログラムは g++ でコンパイルされます。 。

2 番目: gcc の機能

gcc は、複数のハードウェア プラットフォームをサポートするポータブル コンパイラーです。 ARM、X86など。

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

gcc はローカル コンパイラーであるだけでなく、プラットフォーム間でクロスコンパイルすることもできます。いわゆるローカル コンパイラとは、コンパイルされたプログラムがローカル環境でのみ実行できることを意味します。他のプラットフォームでは、gcc によってコンパイルされたプログラムのみを実行できます。

gcc には、さまざまな言語を解析するための複数の言語バックエンドがあります。さらに、gcc はモジュール性に従って設計された Linux vi コマンドであり、新しい言語と新しい CPU アーキテクチャのサポートを追加できます。 gccはフリーソフトです。誰でもこのソフトウェアを使用または変更することができます。

3 番目: 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

このコマンドの意味: コンパイルの 2 番目のステップの後、コンパイルは停止し、一時コンテンツが test.s ファイルに保存されます

3.コンパイル

本質は、アセンブリ言語をターゲットの 2 の補数ファイル (実行可能ではありません) に変えることです

具体的な操作: コマンドライン入力: gcc-ctest.s-otest.o

このコマンドは、アセンブリの 3 番目のステップが完了すると停止し、一時コンテンツが test.o ファイルに保存されることを意味します

4.リンク

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

本質は、実行可能ファイルまたはライブラリ ファイルを生成するためにコード内で使用するサードパーティ ライブラリを導入することです

(サードパーティライブラリはコンパイラとファイルサフィックスによって決定されます)

4: gcc オプション

-E は前処理操作のみを実行します

-S はアセンブリ停止までコンパイルします (アセンブルは行わず、前処理とコンパイルのみを完了します)

-c はアセンブリ操作を実行します (アセンブリコードにコンパイルします)

-O[0,1,2,3]

最適化プログラム (デフォルトはレベル 2 の最適化、0 は最適化されず、3 は最高の最適化レベルです)

-static は生成されたファイルに静的リンクを使用します

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

-shared 動的ライブラリを使ってみる

-イディル

ヘッダーファイルを検索するディレクトリパスに dir ディレクトリを追加します

-LDIR

dir ディレクトリを検索ライブラリのディレクトリ パスに追加します

リリブ

ライブラリライブラリを接続する

-Wall により、gcc はソース ファイル内のコードの問題に対して警告メッセージを発行します

-W警告メッセージを発行しないでください

-g は、gdb などのデバッガーによるデバッグを容易にするために、ターゲット ファイルにデバッグ情報を生成します

以上がコマンドライン入力に基づいてプロセスを実行する C/C++ コンパイラの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。