仕様書等のリンク集

ソフトウェア実装の際、様々な仕様書を参考にすることがありますが、どんな仕様書がどこにあるのか忘れることがあるのでメモっておきます。

仕様書だけではなく、複数の仕様書について言及、比較をしている資料も挙げておきます。

オブジェクトファイルに関する仕様書等

  • Microsoft Portable Executable and Common Object File Format Specification: Windows上の実行可能ファイルとオブジェクトファイルに関する仕様書*1

http://www.microsoft.com/japan/whdc/system/platform/firmware/PECOFF.mspx

  • Tool Interface Standard (TIS) Portable Formats Specification: Linux/BSD系 OSの標準的なオブジェクトファイルであるELFに関する仕様書.そのほかにDwarf*2やOMFの仕様も書かれている

http://www.acm.uiuc.edu/sigops/rsrc/pfmt11.pdf

  • Introduction to Mach-O Programming Topics: Mac OS Xで使われるオブジェクトファイル形式Mach-Oを使ってプログラムを書く上で参考になるTopic集(Mach-Oの構造に関する記述含む)

http://developer.apple.com/documentation/DeveloperTools/Conceptual/MachOTopics/introduction.html

OSが提供する機能やその機能を利用するアセンブラ、C言語、C標準関数に関する仕様書等

  • Manpage of STANDARDS: C と UNIX の標準規格を昔から現在の物まで列挙してあります。各規格の関係を把握するのに役立ちます。

http://www.linux.or.jp/JM/html/LDP_man-pages/man7/standards.7.html

  • Calling conventions for different C++ compilers and operating systems: コンパイラ、OSの違いに伴うC++の呼び出し規約の違いに関する記述が主ですが、OSによるcallee-save registerやcaller-save registerの違い等についても書かれているのでC++とは関係なく参考になります

http://www.agner.org/optimize/

  • The Single UNIX Specification Version 3: 現在、多くのOSが準拠していると思われるUNIX OSとCに関する仕様書

http://www.unix.org/single_unix_specification/

プログラミング言語に関する仕様書等

  • RubySpec: Rubyの仕様は文書化されていないのですが、それだと困るっていうんで有志の人がRubyマニュアルやCRubyの実装を元に仕様ぽい規定を収集したもの。直接CRubyの実装を読むよりは、ずっと楽です。

http://www.headius.com/rubyspec/index.php/Main_Page

  • Python Reference Manual: Pythonの文法や機能に関する仕様書

http://docs.python.org/ref/ref.html

*1:仕様書をpdfではなくdocファイルで提供するあたりがMicrosoft的だなあ・・・

*2:ELFとともによく使われるデバッグ情報の一種