Linux コンパイラ - gcc/g++ (動的リンクおよび静的リンク)

1. Linux コンパイラ gcc/g++ の使用

1.1 背景知識

Windows や Linux で C/C++ やその他の形式を開発できるのはなぜですか? 前提条件として、システムは C/C++ 開発に関連するヘッダー ファイルとライブラリ ファイルをインストールする必要があります。したがって、私たちが通常ダウンロードしてインストールする C/C++ 開発環境は、VS/gcc/g++ を参照するだけでなく、さらに重要なことに、言語自体のヘッダー ファイルとライブラリ ファイルも参照します。VS2019 などのソフトウェアをダウンロードしてインストールし、開発パッケージを選択すると、言語のヘッダー ファイルとライブラリ ファイルも同時にダウンロードされます。
したがって、コンパイル言語の場合、開発キットをインストールするときに、対応するヘッダー ファイルとライブラリ ファイルをインストールする必要があります。

1.2 前処理、コンパイル、アセンブル、リンク

ここに画像の説明を挿入

前処理フェーズ:
ここに画像の説明を挿入
コンパイルフェーズ:
ここに画像の説明を挿入
アセンブリフェーズ:
ここに画像の説明を挿入
リンクフェーズ:
ここに画像の説明を挿入

1.3 動的リンクと静的リンク

リンクの本質は言語の標準ライブラリへのリンクであり、言語の標準ライブラリは本質的にはパスを持つファイルです。
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

動的リンクと静的リンクの長所と短所:
ここに画像の説明を挿入

2. sudoの補足設定

Linux では、一般ユーザーの権限が制限され、一部の操作は root スーパーユーザーのみが実行できますが、一般ユーザーは、スーパーユーザーのみが実行権限を持つコマンドを一時的に実行したいものの、root に切り替えたくないことがあります。現時点で良い解決策はありますか?答えは「はい」です。それが一時的な権限昇格コマンド sudo です。
ここに画像の説明を挿入
ここに画像の説明を挿入

以上が今日私が皆さんにお伝えしたいことですが、学習できましたか?何かを得ることができたと感じたら、それを注意深く観察し、今後も Linux システム プログラミングに関する関連知識を更新し続けてください。

おすすめ

転載: blog.csdn.net/weixin_70056514/article/details/131117370