.A

A ファイル

Unix/Linux Static Library (ar archive)
質問する
クイック回答

.a ファイルは、Unix、Linux、および macOS で使用される静的ライブラリです。これはコンパイル済みのオブジェクトファイルを ar 形式でアーカイブしたもので、ビルド時にリンカーによってプログラムにコピーされます。ドキュメントのように開くものではありません。中身を確認するには ar t lib.a(メンバーのリスト表示)や nm lib.a(シンボルのリスト表示)を使用します。一部の Ada コンパイラもソースコードに .a を使用します。ファイルがプレーンテキストであれば、そのケースに該当します。

開発元: Unix lineage (ar archiver); GNU binutils on Linux カテゴリ: 開発用ファイル オープンスタンダード MIME: application/x-archive
対応OS Windows macOS Linux
関連: .DO · .MD · .HEX · .XSD

このページの内容

19k+ 個の拡張子を索引済み
最終確認日:Sep 10, 2026

ファイルの種類がわかりませんか?

ファイルを識別ツールにドロップしてください。最初の数バイトを読み取って形式を特定します。

ファイルを識別する

A ファイル形式とは?

.a ファイルには、ソフトウェア開発者が使用する システムライブラリ が含まれています。これらのファイルは、Linux や macOS を含む Unix 系システムで一般的に見られます。一方、Microsoft Windows システムでは同じ目的で .LIB ファイル が使用されます。.a ファイルは、ソースファイルから参照できるコンパイル済みの関数やヘッダーを提供します。.a 拡張子を持つライブラリは、一般に 静的ライブラリ と呼ばれます。

.a ファイルは技術的には ar 形式のアーカイブ です。これは、1つ以上のコンパイル済みオブジェクト(.o)ファイルを保持するコンテナです。Linux ではメンバーは ELF 形式の .o ファイルであり、macOS では Mach-O オブジェクトです。すべての .a アーカイブは、8バイトの ASCII シグネチャ !<arch> とそれに続く改行で始まり、ファイル検査ツールで識別できるようになっています。ar t libname.a でアーカイブの内容をリスト表示し、nm libname.a でエクスポートされたシンボルを確認できます。

コンピュータプログラムは、静的ライブラリと動的ライブラリという2種類のリソースライブラリを使用します。静的ライブラリ(.lib または .a)は、リンク時にコードがターゲットプログラムに直接コンパイルされるため、通常、動的ライブラリよりもサイズが大きくなります。動的ライブラリ(Linux では .SO ファイル、macOS では .dylib)は、プログラムの実行時または実行中にプログラムに接続されます。プログラム開発者は、さまざまな動的リンクライブラリと連携するようにコードをカスタマイズできます。

ar ユーティリティ(Linux の GNU Binutils の一部)は、.a アーカイブを作成および保守するための標準ツールです。リンカーは必要なオブジェクトファイルのみを抽出するため、静的ライブラリ内の未使用のコードは最終的な実行ファイルには含まれません。

セキュリティと安全性

リスク: LOW

.a ファイルはビルド時のデータであり、OS が直接実行するものではないため、エンドユーザーへの直接的なリスクはほとんどありません。開発者にとっての懸念はサプライチェーンの信頼性です。悪意のある、または改ざんされた静的ライブラリは、そのコードをプログラムに直接リンクさせるため、信頼できる SDK ソースからの .a ファイルのみを使用し、チェックサムや署名を確認してください。Ada ソースの .a ファイルはプレーンテキストであり、開いても無害です。

形式の詳細

概要
正式名称Unix/Linux Static Library (ar archive)
開発元Unix lineage (ar archiver); GNU binutils on Linux登場時期 ar archive format from early Unix (1970s); standard static-library extension on Unix/Linux/macOS
MIME タイプapplication/x-archive
タイプコンパイル済みオブジェクトファイル (ELF/Mach-O .o メンバー) の ar 形式アーカイブ
標準規格オープン・ロイヤリティフリー
この拡張子は以下でも使用されています…
  • Ada ソースコードファイル - 一部の Ada コンパイラやプロジェクトでは、プレーンテキストの Ada ソースに .a(および .ada/.adb/.ads)を使用します。これはレガシーなデータベースに記録されている意味ですが、静的ライブラリとしての用途よりもはるかに一般的ではありません。
マジックバイト ・ ファイルシグネチャ
オフセット
0001020304050607
16進数
213C617263683E0A
ASCII
!<arch>·
.a 静的ライブラリは ar 形式のアーカイブであり、8バイトのシグネチャ «!<arch>\n» (21 3C 61 72 63 68 3E 0A) で始まります。そのメンバーはコンパイル済みのオブジェクトファイル(Linux では ELF .o、macOS では Mach-O)です。これは Windows の .lib と同じアーカイブファミリーです。(.a のもう一つの意味である Ada ソースファイルは、シグネチャのないプレーンテキストです。)

A ファイルを開くプログラム

Windows2 apps
Microsoft Visual Studio フリーミアム VS は Unix の .a ではなく .lib を使用します。.a が Ada ソースである場合(テキストとして編集)や、WSL/MinGW を介したクロスビルドでのみ有用であり、ネイティブのオープナーではありません。
7-Zip オープンソース .a をアーカイブとして開き、オブジェクトメンバーを閲覧・抽出できます(ar アーカイブであるため)。これを使用してビルドするには、対応するツールチェーン(MinGW/WSL)が必要です。
macOS2 apps
ar / nm (Xcode command line tools) 無料 同じツールチェーンです。ar t lib.a / nm lib.a を使用します。メンバーは Mach-O オブジェクトです。xcode-select --install でインストールします。
BBEdit / TextEdit フリーミアム Ada ソースの .a ファイル(もう一つの用途)に対してのみ、プレーンテキストとして開きます。バイナリの静的ライブラリを開くと文字化けして表示されます。
Linux3 apps
binutils (ar / nm / objdump) オープンソース ar t libfoo.a はメンバーをリスト表示し、nm libfoo.a はシンボルをリスト表示し、ar x libfoo.a は .o ファイルを抽出します。.a はリンクされるものであり、開くものではありません。
GCC / Clang (linker) オープンソース ビルド時にリンクします。gcc main.c -L. -lfoo とすると、libfoo.a が実行ファイルに取り込まれます。
GVim / any text editor オープンソース .a が実際には Ada のソーステキスト(もう一つの用途)である場合にのみ、ソースファイルとして編集するために使用します。

技術的詳細

詳細仕様
ファイルシグネチャバイトオフセット 0 に «!<arch>\n» (16進数: 21 3C 61 72 63 68 3E 0A)
アーカイブ形式ar (Unix アーカイバ) - Linux、macOS、および BSD システムで共通のコンテナ形式
MIME タイプapplication/x-archive
メンバーファイル形式 (Linux)ELF 再配置可能オブジェクトファイル (.o)
メンバーファイル形式 (macOS)Mach-O 再配置可能オブジェクトファイル (.o)
メンバーごとのヘッダーサイズ60 バイト - ASCII フィールド: 名前 (16 B)、タイムスタンプ (12 B)、UID (6 B)、GID (6 B)、モード (8 B)、サイズ (10 B)、終了マーカー (2 B)
シンボルインデックスメンバーGNU ar は «/» という名前のメンバーを使用し、BSD/macOS ar は «__SYMDEF» を使用します。高速なリンクのためにシンボル名をメンバーオフセットにマッピングします。
命名規則lib<name>.a - 例: libz.a, libssl.a, libpthread.a。リンカーの -l フラグを使用するには «lib» プレフィックスが必要です。
圧縮なし - メンバーオブジェクトファイルは非圧縮のままそのまま格納されます。
リンク時の動作リンカーは未解決のシンボルを満たす .o メンバーのみを抽出します。未使用のメンバーは出力される実行ファイルには含まれません。
標準作成ツールar (Linux では GNU Binutils、macOS では LLVM ar / BSD ar)。実行例: ar rcs libname.a file1.o file2.o
シンボル検査ツールnm - エクスポートされたシンボル、未定義のシンボル、およびローカルシンボルをリスト表示します。例: nm libname.a
内容検査ツールar t libname.a はメンバーをリスト表示し、ar x libname.a はそれらを抽出します。objdump / otool はメンバーコードを逆アセンブルします。
Windows での相当品.lib 静的ライブラリ (COFF/PE 形式)。MinGW などの Windows クロスコンパイラも .a ファイルを生成します。
一般的なファイルサイズ範囲数 KB(小さなユーティリティライブラリ)から数百 MB(例: libclang_rt.a や完全な libc.a)まで様々です。
リリース日ar archive format from early Unix (1970s); standard static-library extension on Unix/Linux/macOS
オープンスタンダードはい · ロイヤリティフリー
仕様書en.wikipedia.org

A の変換

コミュニティ Q&A

ユーザーからの質問
質問する
A ファイルを扱うユーザーからヘルプを得られます。OSやソフトウェアのバージョンなど、具体的に記載してください。
アカウント不要 ・ 通常1日以内に回答されます

まだ質問はありません。A ファイルについて最初の質問をしてみましょう。

よくある質問

.a ファイルとは何ですか?
Linux/macOS における静的ライブラリです。コンパイル済みのオブジェクトファイルをまとめた「アーカイブ」(ar 形式)であり、ビルド時にリンカーによってプログラムにコピーされます。Windows の .lib に相当します。(一部の Ada コンパイラではソースコードに .a を使用することもあります。)
.a ファイルを開くにはどうすればよいですか?
ドキュメントのように開くことはありません。ビルド中にリンカーが使用します。内容を確認するには、ar t lib.a を実行してメンバーをリスト表示するか、nm lib.a を実行してシンボルをリスト表示します。もし .a ファイルが実際には Ada のソースコードである場合は、テキストエディタで開いてください。
.a と .so の違いは何ですか?
静的ライブラリ(.a)はビルド時に実行ファイルに組み込まれるため、実行時の依存関係はありません。共有ライブラリ(Linux では .so、macOS では .dylib)は実行時に個別にロードされ、複数のプログラム間で共有されます。
.a は Windows の .lib と同じですか?
どちらも ar アーカイブ形式を共有していますが、保持しているオブジェクトの種類(ELF/Mach-O 対 COFF)が異なるため、互換性はありません。Linux の .a ファイルの名前を変更しても Windows で使用することはできません。ターゲットプラットフォーム用にソースから再ビルドする必要があります。
.a から .o ファイルを抽出するにはどうすればよいですか?
ar x libfoo.a (binutils) を実行してオブジェクトメンバーを抽出するか、ar アーカイブに対応している 7-Zip で .a ファイルを開きます。
.a ファイルがライブラリではなくテキストなのですが、なぜですか?
その場合は .a のもう一つの意味である Ada ソースコードです。一部の Ada コンパイラは .a(および .ada/.adb/.ads)を使用します。任意のテキストエディタで開くか、GNAT/Ada ツールチェーンでコンパイルしてください。

参考文献

1Wikipedia - ar (Unix) archive formaten.wikipedia.org
2GNU binutils - ar documentationsourceware.org

さらに探索

データベース全体から

今週のトップ拡張子

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.MDMarkdown Document
4.BINCD/DVD Disc Image (BIN/CUE)
5.RPMSGRestricted Permission Message
6.PARTPartial Download File
7.NOMEDIAAndroid No-Media Marker File
8.EXEWindows Executable (Portable Executable)
9.AVIFAV1 Image File Format (AVIF)
10.DBSQLite Database File

関連する拡張子

.DOStata Do-File
.MDMarkdown Document
.HEXIntel HEX File
.XSDXML Schema Definition
.MAPSource Map (JavaScript / CSS)
.CONFIGConfiguration File

無料ファイルツール

ブラウザで動作するファイル識別および画像変換ツール。すべてお使いのデバイス上で実行されます。

ツールボックスを開く

ファイル拡張子を A-Z で閲覧