<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=PREFast_for_Drivers</id>
	<title>PREFast for Drivers - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=PREFast_for_Drivers"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=PREFast_for_Drivers&amp;action=history"/>
	<updated>2026-07-02T10:44:46Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=PREFast_for_Drivers&amp;diff=183272&amp;oldid=prev</id>
		<title>imported&gt;InternetArchiveBot：​补救2个来源，并将0个来源标记为失效。 #IABot (v2.0beta10)</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=PREFast_for_Drivers&amp;diff=183272&amp;oldid=prev"/>
		<updated>2018-11-19T11:05:29Z</updated>

		<summary type="html">&lt;p&gt;补救2个来源，并将0个来源标记为失效。 #IABot (v2.0beta10)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Unreferenced|time=2016-06-15T02:50:45+00:00}}&lt;br /&gt;
{{noteTA&lt;br /&gt;
|G1=IT&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PREfast&amp;#039;&amp;#039;&amp;#039;（Prefast.exe）是[[微軟公司]]為[[驅動程式]]設計所提供的靜態的原始碼分析工具（static source code analysis tool），可偵測原始程式碼中不易用一般[[編譯器]]找到的特定類型錯誤，與Windows DDK建置環境一同安裝。目前已整合至[[Visual Studio 2005]] Team Suite中，使用時只要設定‘Enable Code Analysis For C/C++’為『Yes』即可，接下來PREfast會攔截cl編譯器 (cl.exe) 的呼叫，產生由一次檢查所有檔案所得的單一聯合清單，內容屬於[[XML]]格式。&lt;br /&gt;
&lt;br /&gt;
偵測錯誤類別：&lt;br /&gt;
* 記憶體：内存泄露（memory leak）。 &lt;br /&gt;
* 資源：沒能即時釋放資源。 &lt;br /&gt;
* 函式使用方式：不正確的函式引數、使用某個過時函式的情況。 &lt;br /&gt;
* 浮點運算狀態 &lt;br /&gt;
* 優先執行規則 &lt;br /&gt;
* 核心模式程式安全性考量 &lt;br /&gt;
&lt;br /&gt;
== PREfast的工作 ==&lt;br /&gt;
* 變數未初始化&lt;br /&gt;
 void init() {&lt;br /&gt;
     int a;&lt;br /&gt;
     int b;&lt;br /&gt;
     b = a;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* 運算元優先權的問題&lt;br /&gt;
 void priority() {&lt;br /&gt;
     int a = 1;&lt;br /&gt;
     int b = 1;&lt;br /&gt;
     int c = 1;&lt;br /&gt;
     if(a &amp;amp; b == c)&lt;br /&gt;
        return ;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* 記憶體溢位問題&lt;br /&gt;
 void overrun() {&lt;br /&gt;
      char buf[100];&lt;br /&gt;
     char buf2[200];&lt;br /&gt;
     int  i = 100;&lt;br /&gt;
 &lt;br /&gt;
     sprintf(buf, &amp;quot;size%d&amp;quot; , i);&lt;br /&gt;
     strcpy(buf, buf2);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* 無窮迴圈&lt;br /&gt;
 void infinite_loop() {&lt;br /&gt;
     int i;&lt;br /&gt;
     for(i = 100 ; i &amp;gt;= 0 ; i ++ ) {&lt;br /&gt;
                ; &lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* 運算元誤用&lt;br /&gt;
 void  op_misuse() {&lt;br /&gt;
     int a = 2;&lt;br /&gt;
     if (a = 2)&lt;br /&gt;
        return ;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== 相關條目 ==&lt;br /&gt;
* [[Windows Driver Foundation]]&lt;br /&gt;
&lt;br /&gt;
== 外部連結 ==&lt;br /&gt;
* [https://web.archive.org/web/20060815100114/http://www.microsoft.com/whdc/devtools/ddk/default.mspx Windows DDK]&lt;br /&gt;
* [https://web.archive.org/web/20061106164917/http://www.microsoft.com/whdc/DevTools/default.mspx WHDC 上的開發工具與測試]&lt;br /&gt;
* [https://web.archive.org/web/20060919212952/http://www.microsoft.com/whdc/DevTools/tools/PREfast_steps.mspx PREfast逐步教學說明文件]&lt;br /&gt;
&lt;br /&gt;
[[Category:Microsoft Visual Studio]]&lt;br /&gt;
[[Category:驱动程序]]&lt;br /&gt;
[[Category:调试]]&lt;/div&gt;</summary>
		<author><name>imported&gt;InternetArchiveBot</name></author>
	</entry>
</feed>