ホームページ >運用・保守 >Linuxの運用と保守 >Linuxのoファイルとは何ですか

Linuxのoファイルとは何ですか

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2022-06-28 17:03:408346ブラウズ

Linux では、「.o」ファイルはターゲット ファイルを指し、「.o」は object の略語です。Linux の「.o」ファイルは、Linux の「.obj」ファイルに相当します。 Windows およびターゲット ファイルには、マシン コードと、再配置情報、リンクまたはデバッグに使用されるプログラム シンボル テーブル、その他のデバッグ情報など、コードの実行時に使用されるデータが含まれています。

Linuxのoファイルとは何ですか

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

Linux の o ファイルとは何ですか?

.o はオブジェクトであり、Windows でコンパイルされた obj ファイルに相当します。一般にターゲット ファイルとして知られています。

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

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

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

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

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

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

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

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

拡張知識:

.o ファイルの生成:

gcc -c test.o test.c

.a ファイルの生成:

ar cqs test.a test.o

.o Windows の obj ファイルに相当します。.c または .cpp ファイルは、.o ファイル

.a に対応します。a は、静的接続、つまり STATIC モードで複数の .o が結合されたものです。リンクして exe 実行可能ファイルを生成できます

.so は共有オブジェクトであり、Windows dll と同様に動的接続に使用され、使用時にのみロードされます

推奨学習:

Linux ビデオチュートリアル######

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

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