「静的解析ツール」を編集中

ナビゲーションに移動 検索に移動

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。

最新版 編集中の文章
12行目: 12行目:
 
[[C Sharp|C#]]などの[[.NET]]系では[[共通中間言語]]([[中間コード]])を食わせるツールで対応している。
 
[[C Sharp|C#]]などの[[.NET]]系では[[共通中間言語]]([[中間コード]])を食わせるツールで対応している。
 
[[Visual Studio]]のお高いエディションがこれに対応しており、静的解析はビルドの過程で勝手に実行されるので[[コンパイラ]]の機能として提供されるものとの違いは特に感じないと思われる。静的解析を有効にすると、[[ビルド]]が激遅になるうえに、[[C Sharp|C#]]でちょろっと書いた[[hello world]]すら[[エラー]]でまくりで焦ること請け合いである。
 
[[Visual Studio]]のお高いエディションがこれに対応しており、静的解析はビルドの過程で勝手に実行されるので[[コンパイラ]]の機能として提供されるものとの違いは特に感じないと思われる。静的解析を有効にすると、[[ビルド]]が激遅になるうえに、[[C Sharp|C#]]でちょろっと書いた[[hello world]]すら[[エラー]]でまくりで焦ること請け合いである。
 
==例==
 
静的解析が[[コンパイラ]]に標準搭載されている[[D言語]]の記述例。
 
関数square_rootを呼び出してる箇所で引数xが0未満になる可能性のあるところはすべて[[コンパイルエラー]]となる。
 
<source lang="d">
 
long square_root(long x)
 
in
 
{//事前条件
 
    assert(0 <= x);
 
}
 
out (result)
 
{//事後条件
 
    assert((result * result) <= x && x < (result+1) * (result+1));
 
}
 
body
 
{//関数本体
 
    return cast(long)std.math.sqrt(cast(real)x);
 
}
 
</source>
 
  
 
==関連項目==
 
==関連項目==

MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMonoBook:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)

このページで使用されているテンプレート:

このページは 1 個の隠しカテゴリに属しています: