移植性の高いコードを書くためには

Problem
移植性の高いコードを書くには、どのようにしたら良いでしょうか?

Solution
移植性の高いコードを書くには、処理系に依存しないことが重要です。しかし、何が処理系依存であるか判断することは容易ではありません。

本当に移植性の高いコードを書くためには、複数のコンパイラで常にコンパイル可能な状態に保つことです。


実際にboostでは複数のコンパイラでコンパイルできることが要求されています。

Boost Library Requirements and Guidelines
A library's implementation must if possible be portable and not restricted to a particular compiler or operating system. If a portable implementation is not possible, non-portable constructions are acceptable if reasonably easy to port to other environments, and implementations are provided for at least two popular operating systems (such as UNIX and Windows).

Boost Library Requirements and Guidelines(日本語訳)
ライブラリの実装は、可能であれば、移植性のあるものでなければならず、特定のコンパイラやOSへと制限されていてはならない。 もし移植性のある実装が不可能なら、移植性のない構築は許容される。もし他の環境へのportが妥当な容易さであるなら、 少なくとも二つのOS(例えばUNIXとWindows)への実装が提供される。


そして各コンパイラごとに警告レベルを最高に設定し、全ての警告を取り除くことをお勧めします。

最近では、無料で使用できるC++コンパイラが多数あり、気軽に複数のコンパイラを試すことができます。

以下に無料で使用できる代表的なコンパイラを挙げておきます。

Linux
GCC
Intel(R) C++ Compiler
Sun Studio 12

Windows
Visual Studio 2008 Express
Cygwin(GCC)
MinGW(GCC)
Turbo C++ Explorer
Open Watcom
Digital Mars C/C++ Compiler


人気blogランキングへ にほんブログ村 IT技術ブログへ FC2ブログランキングへ

« 前頁へ移動する  | HOME |  次頁へ移動する »

ブログ内検索


このサイト内ウェブ全体
この検索は「緑のgoo」を利用しています

カテゴリー

未分類 (0)
C++ (24)
Books (11)
Bookmarks (1)

最近のエントリ

移植性の高いコードを書くためには (02/16)
ハッシュコンテナ - Part3 (01/10)
ハッシュコンテナ - Part2 (10/29)
日本語によるC++0xに関する記事 (10/23)
foreach (08/03)

Books

C++
プログラミング
デザインパターン
オブジェクト指向

RSSフィード

最新記事のRSS
最新コメントのRSS
最新トラックバックのRSS

アーカイブ

2008年02月 (1)
2008年01月 (1)
2007年10月 (2)
2007年08月 (1)
2007年07月 (2)
2007年06月 (1)
2007年05月 (2)
2007年04月 (1)
2007年03月 (2)
2007年02月 (2)
2007年01月 (3)
2006年12月 (4)
2006年11月 (8)
2006年10月 (6)

連絡先

email.png

Amazon