2

PC のリント時間に影響を与える主な要因を知りたいと思っています。-passes(#)PC-Lint にかかる時間が増加する (直線的に増加する) ことや、出力されるメッセージを減らしてもリント時間に影響しないことなど、いくつかのことを認識しています。lint の経験が豊富な方に、lint 時間に影響を与える主な要因を挙げてもらい、lint のパフォーマンスに関する私の理解を確認したいと考えています。

また、PC-Lint で .lob ファイルを使用した経験のある方はいらっしゃいますか。リンティング時間にどの程度影響したと思いますか?

4

1 に答える 1

4

私が得た主なスピードアップは、Windows の通常の DOS ボックスの代わりに、Lint の時々大量の出力をファイルにリダイレクトし始め、そのファイルをエディターで調べたときでした。この-passesオプションは、パスの数が十分に多くなるとほぼ直線的に時間を増加させますが、最初のパスを除いて前処理/解析段階が必要ないため、2 または 3 を使用する場合はそれほど長くはありません。私の経験では、非常に大規模なプロジェクトの場合、外部インクルードガード、または (Microsoft) オプションが一貫して使用されている+pragma(once,once)場合#pragma once、速度が大幅に向上する可能性があります。あるプロジェクトでは、コンパイル時間を 20 倍以上短縮し、lint 時間をわずかに短縮しました...

.lob ファイルを使用することは、オブジェクトにコンパイルしてからオブジェクトをリンクするようなものです。これは、makefile がどれほど効果的であるかに依存し、速度の向上は、変更したばかりのファイルの数とファイルによって異なります。ただし、.lob ファイルの使用は、すべてのファイルを一度に lint するほど完全ではないことに注意してください。.lob ファイルにはソース ファイルの表現しか含まれていないため、いくつかの問題は無視する必要があります。

于 2012-11-28T16:42:39.283 に答える