ホームページ > 運用・保守 > Linuxの運用と保守 > Linux o と a にはどのようなファイルがありますか?

Linux o と a にはどのようなファイルがありますか?

青灯夜游
リリース: 2022-11-10 19:16:31
オリジナル
2453 人が閲覧しました

Linux では、「.o」ファイルはターゲット ファイル、つまりターゲット コードを保存するコンピュータ ファイルを指します。ターゲット ファイルにはマシン コードが含まれています (コンピュータの中央プロセッサによって直接実行できます)。 ) と実行時のコード、使用されるデータ、およびその他のデバッグ情報。 「.a」ファイルは静的ライブラリ ファイルを指します。つまり、呼び出される関数またはプロセスが実行可能ファイルにリンクされ、実行可能ファイルの一部になります。ダイナミック リンクによって呼び出される関数コードは、アプリケーションの実行ファイルですが、呼び出される関数の記述情報が追加されます。

Linux o と a にはどのようなファイルがありますか?

#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。

o は object で、Windows でコンパイルされた obj ファイルに相当します。 は一般にターゲット ファイル

a として知られています。は archive、これは Windows の VC でコンパイルされた lib ファイルに相当します、 は一般に静的ライブラリ ファイル として知られており、複数の .a をリンクして exe 実行可能ファイルを生成できます。

.o ファイルはリンク ファイルであり、.a 静的ライブラリ ファイルは .o ファイルによって生成され、関数とインターフェイスを提供するライブラリ外部プログラムとして機能します。 .o ファイルを生成します。

Linux のファイル (オブジェクト ファイル)

オブジェクト ファイル (objectfile) は、オブジェクト コードを格納するコンピューター ファイルです。しばしば「バイナリ」と呼ばれます。オブジェクト ファイルには、マシン コード (コンピュータの中央プロセッサによって直接実行できる) と、リンクやデバッグに使用されるプログラム シンボル テーブル (変数や関数の名前) などの再配置情報など、コードの実行時に使用されるデータが含まれています。に加えて、追加のデバッグ情報が含まれます。

Linux には、実行可能ターゲット ファイル、再配置可能ターゲット ファイル、共有ターゲット ファイルの 3 種類のターゲット ファイル形式があります。対応するものとして、実行可能ファイル、オブジェクト ファイル、共有ライブラリなどがありますが、用語が異なるだけで同じものを指します。

実行可能オブジェクト ファイル: バイナリ コードとデータが含まれており、メモリ内で直接実行できます。

再配置可能なターゲット ファイル: コンパイル時に他の再配置可能なターゲット ファイルと結合して実行可能なターゲット ファイルを作成できるバイナリ コードとデータが含まれています。

共有オブジェクト ファイル: これは、メモリに動的にロードし、ロード時または実行時にリンクできる特別な再配置可能なオブジェクト ファイルです。

実際、コンパイラとアセンブラは、再配置可能なオブジェクト ファイル (共有オブジェクト ファイルを含む) を生成します。リンカは実行可能オブジェクト ファイルを生成します。

Linux でのオブジェクト ファイル ファイル形式:

コンパイルされた中間ファイル (Windows では .obj、Linux では .o)、ダイナミック リンク ライブラリ、および静的リンクにより、ライブラリ (Windows では .lib.dll、Linux では .a.so) は、内容と構造が実行可能ファイルと似ているため、通常は実行可能ファイルと同じファイル形式で保存されます。

Linux のファイル (静的ライブラリ ファイル)

.a ファイルは、LINUX システムの静的リンク ライブラリ ファイルです。

いわゆる静的リンクとは、呼び出される関数またはプロセスを実行可能ファイルにリンクし、実行可能ファイルの一部にすることを指します。複数のプログラムが同じ関数を呼び出すと、メモリ内に関数のコピーが複数存在することになり、貴重なメモリ リソースが無駄になります。 .so ファイルは共有ライブラリ ファイル (動的にリンク) です。動的リンクによって呼び出される関数コードは、アプリケーションの実行ファイルにはコピーされず、呼び出された関数の記述情報 (多くの場合、再配置情報) のみがアプリケーションのロード時にのみ追加されます。オペレーティング システムの管理下で、アプリケーションと対応する .so の間にリンク関係が確立されます。

.a ファイルは、複数の .o ファイルを組み合わせたものです。 .o ファイルはオブジェクト ファイルであり、その内容は 01 などの機械実行可能な命令です。プログラムを実行するには、リンクする必要があります。リンクとは、複数の .o ファイルを 1 つの実行可能ファイルにリンクすることです。 。

関連する推奨事項: 「

Linux ビデオ チュートリアル

以上がLinux o と a にはどのようなファイルがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート