• ベストアンサー

バイナリフォーマット

 Linux では ELF が利用され、Darwin/MacOS X は Mach-Oが利用されていることは前から存じ上げておりますが、Windows ではどんなバイナリフォーマットが利用されているのでしょうか?  また、先に挙げた ELF と Mach-O 意外にどんなバイナリフォーマットが存在しますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

Windowsでの実行ファイルの形式ということなら、PE (Protable Executive file)です。 実行ファイルではありませんが、オブジェクト形式のファイルでは coff というのが ありますね。

Theophrastos
質問者

お礼

 お早い返答どうもありがとうございます。PE(Protable Executive file)ですか。当方、MinGW や Cygwin 上でのコンパイルは今まで多く行って来ましたが、初耳です。大変参考になりました。

その他の回答 (2)

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.3

#1です。typoがありましたので訂正。 protable → portable です。

Theophrastos
質問者

お礼

 わざわざ訂正ありがとうございます。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

UNIX の世界だと a.out という形式がよく使われていました. 今でも UNIX の C コンパイラが作る実行ファイルの名前は a.out がデフォルト. Linux も昔は a.out を使っていたんですが, 動的ロードに耐えられない仕様だったので ELF に移りました. FreeBSD などは動的ロードに耐えられる仕様の a.out だったんですがコンパイラなどのメンテナンスが難しいので ELF に移りました.

Theophrastos
質問者

お礼

 お早い返答どうもありがとうございます。そういえば、Linux カーネルのコンパイル時に a.out という項目がありましたね。Linux だけではなく BSD の a.out から ELF への移行の歴史的背景は大変に参考となりました。

関連するQ&A

  • Darwin Streaming Serverについて

    私は、個人でストリーミングをしようと思います。でもMacOS X Serverを持っていないので、Darwin streaming serverを使おうと思って、Appleのサイトを見たところ、MacOS XでDarwinは使えると書いてあります。早速ダウンロードしようとしたら、Linux,Solaris,WinNTserver用はあるのですが、X用だけないのです。 MacOS Xでは、無理なのでしょうか。できるとしたら、どうやってダウンロードすればよいですか。ちなみに、iMac333MHz,MacOS X10.1.3日本語環境を使ってます。 ご回答よろしくお願いいたします。

    • ベストアンサー
    • Mac
  • PHPのfopenのバイナリモードについて

    PHPのfopen時のバイナリモードについて質問です。 PHPのマニュアルにはWINDOWSのようなバイナリとテキストモードの形式の違う システムでは、画像等のバイナリファイルを扱うときはbを付けてバイナリモードで扱うことが推奨されていますが、 WINDOWS環境でためしたところ、画像ファイルをバイナリではなくテキストモードで開いて中身のデータを読み込んで、別名でfopen("~.jpg","w")で書き込んでも、きちんと表示される画像が作成されました。 テキストモードでバイナリファイルを開いても読み込めってさらに、新規でかきこめるなら なぜ二つのモードが存在するのでしょうか? ちなみに、WINDOWSにおけるバイナリとテキストモードの違いって改行文字が ¥nか¥r¥nの違いだけでしょうか? リナックスではバイナリもテキストも中身の改行文字は¥nとなるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • MacOS X 復元のフォーマットについて

    MacOS X 復元のフォーマットについて MacPro 2008でOS10.6.8の環境です。 OS10.9.5にアップグレードしたいのですが下記でいきずまっています。 OS10.6.8のHDDのフォーマットは「MacOS拡張」、パーティションマップ方式は「GUIDパーティションテーブル」です。 OS10.9.5の起動ディスクで立ち上げインストールを試みたところ、フォーマットが「MacOS拡張(ジャーナリング)」ではないのでインストールできないと出ました。 MacOS拡張(ジャーナリング)のフォーマット前にOS10.6.8のHDDの予備(クローン)を作っておきたいので下記を行いました。 コピー元 OS10.6.8のHDD(1TB)_以下A コピー先 HDD(1TB)を「MacOS拡張(ジャーナリング)」でフォーマットし準備_以下B OS10.6.8の起動ディスクで立ち上げディスクユーティの復元タブを開き、Aのクローンを作るため以下のように各HDDをドラッグ&ドロップ。 ソース A 復元先 B  「復元先を消去」にチェック この状態で復元すると、復元先のBのフォーマットは「MacOS拡張」になりました。 「復元先を消去」にチェックを入れたのが原因でしょうか。 復元先のBのフォーマットを「MacOS拡張(ジャーナリング)」にするには 「復元先を消去」にチェックをいれずに復元すればよいのでしょうか? よろしくお願いいたします。

    • 締切済み
    • Mac
  • Linuxの領域をフォーマットしてしまった

    こんなバカなまねをされた方は私以外にいないかも知れませんが相談にのって下さい。いくら眠気を堪えてやった所作にしても、あまりにバカすぎて我ながら泣けてきます。 Windows2000とFedoraCore6のデュアルブートをインストール完了後に、HDDを1つ増設し、Windows上でフォーマットしようとしたら、誤ってLinuxの入ったドライブをNTFSでフォーマットしてしまい、その後、Linuxの再インストールを試みたのですができません。 インストールディスクで起動し、CD-ROMの検証まで進み、プログラムの読み込みが済んだあたりで止まってしまいます。(Running anaconda,・・・のあと、黒画面でX印のカーソルが出て、その先へ進まない。) その内、起動時のgrubの選択画面もでなくなり、黒画面で grub>だけ出るようになってしまったので、とりあえずWindows98の起動ディスクでfdisk/mbrでを行い、indowsだけ起動できるようにし、今に至ります。 何度も再インストールを試みたのですが、どうしても先へ進めません。 どのようにしたらよいのかアドバイスをお願い致します。

  • Macハードディスクフォーマット

    Mac OS 9をインストールしたいのですが、将来的にはMac OS XとLinuxもインストールしたいので、パーティションをどのようにしようかわかりません。 Mac OS 標準とMac OS 拡張の違いなどの基本的なことも今一わからないのですが・・・。 一応どのように使用するかを説明すると。 今はOS 9のみを使い、今後OS Xを買ったらXの方を中心に使って、Linuxはインストールしてもたまに使う程度の予定です。 それぞれのOSのインストール先パーティションのフォーマット形式などどのようにするのがベストか考えをお聞かせください。 よろしくお願いします。

    • ベストアンサー
    • Mac
  • qnoppix5.1.1でフォーマットの仕方がわかりません

    シャットダウン途中に電源を切ってしまい、 内蔵ハードディスクがwindowsを起動する最中にとまるようになってしまいました。 CDRomのknoppix5.1.1が、ありましたので、フォーマットしようとしたのですが、わかりませんでした。 su -でスーパーユーザーにしてqtpartedとコマンドを打ったのですが connot connect to X serverとでて、qtpartedが使えないようです。 Linuxのような、CUIの環境です。 簡潔に教えてくださる方がいましたら教えてください。 よろしくお願いします。

  • パーティション

    linuxとMacOSX両方で一つの外付けHDDを利用しようとしています。 MacOSXのディスクユーティリティで 1. [MacOS拡張(ジャーナル)] 2. [unixファイルシステム] でパーティションを作成してみましたが、そのHDDをlinuxのパソコンに接続すると パーティションが見えない状態になります。 一方で、linux上にてfdiskを使用して 1. linux 2. Darwin としてパーティションを作成しましたが、そのHDDをPowerbookに接続すると 「消去しますか?」となり、中身が見えません。 MacOSX, linuxで一台のHDDを利用する何かいい方法はありますでしょうか?

    • ベストアンサー
    • Mac
  • Linux で わからないこと

    ここのカテゴリでいいか わからないけど 閲覧者が 多そうと感じて ここに書きます。 一応 Linux の Vine というのを入れようとしています。 Vine621-DVD-x86_64 まず 知りたいことは 空のHDDへ 新規で インストールする場合に (1) Windows で フォーマットしておいても 平気か? (予め パーティションを切っておきたいと言う 理由で) それとも Linux側で フォーマットされてしまうのか? (2) すごく基本的すぎることですが Windows で作成したファイルは テキスト等も 含めて Linux上では 全く 使用できないのでしょうか? それとも ツール等を使い 一部だけでも利用できるのか? (3) Windowsでは EXE を実行し インストール という作業を行うけど Linux では 「インストールする」 とは どういうことですか? ちなみに 仮想環境で 入れて試してますが VmWare Tools というものさえも 入れ方が分からない 状態です^^; 展開までは出来て ファイルまでは表示しました。 (4) Windows に慣れているので 必要なツール類を どこで入手するのか?分からず オススメの サイトとかあれば教えて欲しいです。 Linux系は Knoppix でファイル操作・フォーマット程度の利用と 最近 Puppy系?のPrecise というのを入れ イマイチで Vineを入れたら良かったので 少し使いたくなりました。 身内のPCも XPのHomeで古いので 入れ替えてあげようかと考えてる というのもあります。

  • バイナリファイルのdiff方法について

    お世話になります。 Linuxのdiffコマンドについてご教示頂けないでしょうか? バイナリファイルの差分をヘキサで表示したいのですが、 (具体的な出力結果のイメージとしては以下の(1)~(3)でできるdiff.txt) xargsやパイプ等を利用して標準出力だけで実現できればと 考えております。(1コマンドで…) 宜しくお願い申し上げます。 ■出力イメージ (1)od -x AAA.bin > AAA_od.bin (2)od -x BBB.bin > BBB_od.bin (3)diff AAA_od.bin BBB_od.bin > diff.txt ■トライしてみてうまくいかなかった例 (例1)diff < ( od -x AAA.bin ) <(od -x BBB.bin ) (例2)xargs -t diff od -x AAA.bin od -x BBB.bin (例3)od -x AAA.bin| diff <od -x BBB.bin

  • IBMフォーマットのデータをDOSフォーマットへ変換したい。

    こんにちわ。 現在、会社で富士通のオフコンを利用しています。 2次的なデータをエクセルなどで作りたいのでこのオフコンのデータをWindowsで開きたいと考えました。 オフコンの業者に問い合わせたところフロッピーやMOにオフコンのデータを取り込みことは出来ます。 が、フォーマットが違うといわれました。 MOに落とした段階では「IBMフォーマット」であるためWindowsで使う前に「DOSフォーマット」にコンバートする必要があるというのです・・・。 また、そのコンバートツールはこちらで用意しないといけないとのことで非常に困っています。 そういったコンバートツールって「窓の杜」や「Vector」で入手できますか? 具体的なソフト名などもまったくわからないので・・・。 どうぞ宜しくお願い致します。

専門家に質問してみよう