コンテンツにスキップ

New Executable

出典: フリー百科事典『ウィキペディア(Wikipedia)』
New Executable
拡張子.exe, .dll, .fon, .drv
マジック
ナンバー
MZ 0x00(×10) NE
開発者マイクロソフト
種別実行可能共有ライブラリフォント
包含物.fon
派生元DOS MZ executable
拡張Linear Executable

New Executableとは、マイクロソフトの16ビットOSで採用された共有ライブラリおよび実行ファイルフォーマットの一つ。最初にMS-DOS 4.0で採用され、その後、Microsoft WindowsOS/2で採用された。

特徴は、プロテクトモードを意識したセグメンテーションアーキテクチャに対応し、複数の連続しない64KB以下のファイルセグメントに対応していることである。

他のEXEフォーマットの拡張フォーマットと同様に互換性のために、対応しないオペレーティングシステムで実行した場合、対応していない旨を表示して終了する等のDOSプログラムを最初に付ける事になっている。その拡張ヘッダから指されたオフセットに'NE'と言うシグネチャで始まるファイルヘッダがあり、その後にセグメントテーブル等が数個並んでいる。

32ビットのWindowsアプリケーションにおいては、Portable Executableが使われるようになり、現役を退いた形になっている。

歴史

[編集]

New Executable形式を使用してリリースされた最初の製品は、 1985 年のWindows 1.0であり、その後、1986 年にマルチタスクの MS-DOS 4.0 がリリースされた。これは、MS-DOS 開発の別のブランチであり、主流の MS-DOS バージョン 3.2 と 3.3 の間にリリースされ、「ヨーロッパ版 MS-DOS 4.0」と呼ばれることもある。

Windows の 32 ビット版および 64 ビット版では、NE 形式に代わってPortable Executable (PE)形式が採用され、OS/2 の 32 ビット プログラムでは NE に代わってLinear eXecutable (LX)形式が採用された。Windows 9xのVxDでもLE形式が使用されている。

互換性

[編集]

NE実行ファイルは16ビットOS向けに設計されているが、32ビットWindowsでも実行可能である。但し、殆どのプログラムではエラーメッセージ"This program cannot be run in DOS mode"の出力、いわゆる「DOSスタブ」のみが含まれる。

Windows Vista以降、New Executables内のアイコンリソースは32ビットシェルでも抽出・表示されない。64ビット版WindowsではNE実行ファイルのネイティブサポートが完全に欠如している。これは、64ビットWindowsではエミュレーターを使わずにプロセッサ上で16ビットプログラムを実行できないためである。

これらのファイルは希少かつかなり複雑な性質を持つため、WinLite、PackWin、PKLite 2.01、SLR Optloader、OS/2用のNeLiteなど、ごく少数の.EXEパッカーのみがサポートしている。NE形式は、 Microsoft Windowsのビットマップフォントの(非実行形式の)コンテナとしても現在も使用されている。

外部リンク

[編集]