release方法有什麼用,電氣開關上release是什麼意思

2022-03-19 18:33:19 字數 3622 閱讀 6834

1樓:

能把具體的方法體貼出來嗎?

電氣開關上release是什麼意思

2樓:大蓋出不來

電氣開關上release是脫扣復位按鈕的標誌,斷路器在合閘過程中的任何時刻,若保護動作接通跳閘迴路,斷路器能可靠地斷開,這就叫自由脫扣。

帶有自由脫扣的斷路器,可以保證斷路器合於短路故障時,能迅速斷開,避免擴大事故範圍。

而斷路器脫扣保護之後,再次需要斷路器送電時,必須先按下這個脫口復位按鈕,把保護機構重新復位然後才能合閘送電。

斷路器電動合閘順序,先按儲能按鈕,儲能到位後,按下合閘按鈕。如果沒有儲能的,則直接按下合閘。

手動合閘順序,

用萬能斷路器上的專用操作手柄,對萬能斷路器上下進行手動儲能到位,到位後按下斷路器上的合閘按鈕。

分閘則直接按分閘按鈕。

3樓:匿名使用者

是脫扣復位按鈕的標誌,斷路器在合閘過程中的任何時刻,若保護動作接通跳閘迴路,斷路器能可靠地斷開,這就叫自由脫扣。帶有自由脫扣的斷路器,可以保證斷路器合於短路故障時,能迅速斷開,避免擴大事故範圍。而斷路器脫扣保護之後,再次需要斷路器送電時,必須先按下這個脫口復位按鈕,把保護機構重新復位然後才能合閘送電。

release和debug的區別

4樓:匿名使用者

一、debug 和 release 編譯方式的本質區別

debug 通常稱為除錯版本,它包含除錯資訊,並且不作任何優化,便於程式設計師除錯程

序。release 稱為發布版本,它往往是進行了各種優化,使得程式在**大小和執行速度

上都是最優的,以便使用者很好地使用。

debug 和 release 的真正秘密,在於一組編譯選項。下面列出了分別針對二者的選項

(當然除此之外還有其他一些,如/fd /fo,但區別並不重要,通常他們也不會引起 rele

ase 版錯誤,在此不討論)

debug 版本:

/mdd /mld 或 /mtd 使用 debug runtime library(除錯版本的執行時刻函式庫)

/od 關閉優化開關

/d "_debug" 相當於 #define _debug,開啟編譯除錯**開關(主要針對

assert函式)

/zi 建立 edit and continue(編輯繼續)資料庫,這樣在除錯過

程中如果修改了源**不需重新編譯

/gz 可以幫助捕獲記憶體錯誤

/gm 開啟最小化重鏈結開關,減少鏈結時間

release 版本:

/md /ml 或 /mt 使用發布版本的執行時刻函式庫

/o1 或 /o2 優化開關,使程式最小或最快

/d "ndebug" 關閉條件編譯除錯**開關(即不編譯assert函式)

/gf 合併重複的字串,並將字串常量放到唯讀記憶體,防止

被修改實際上,debug 和 release 並沒有本質的界限,他們只是一組編譯選項的集合,編譯

器只是按照預定的選項行動。事實上,我們甚至可以修改這些選項,從而得到優化過的調

試版本或是帶跟蹤語句的發布版本。

二、哪些情況下 release 版會出錯

有了上面的介紹,我們再來逐個對照這些選項看看 release 版錯誤是怎樣產生的

1. runtime library:

2. 優化:這類錯誤主要有以下幾種:

(1) 幀指標(frame pointer)省略(簡稱 fpo ):在函式呼叫過程中,所有呼叫資訊

(返回位址、引數)以及自動變數都是放在棧中的。若函式的宣告與實現不同(引數、返

回值、呼叫方式),就會產生錯誤————但 debug 方式下,棧的訪問通過 ebp 暫存器

儲存的位址實現,如果沒有發生陣列越界之類的錯誤(或是越界「不多」),函式通常能

正常執行;release 方式下,優化會省略 ebp 棧基址指標,這樣通過乙個全域性指標訪問棧

就會造成返回位址錯誤是程式崩潰。c++ 的強型別特性能檢查出大多數這樣的錯誤,但如

果用了強制型別轉換,就不行了。你可以在 release 版本中強制加入 /oy- 編譯選項來關

掉幀指標省略,以確定是否此類錯誤。

(2) volatile 型變數:volatile 告訴編譯器該變數可能被程式之外的未知方式修改

(如系統、其他程序和執行緒)。

(3) 變數優化:優化程式會根據變數的使用情況優化變數。例如,函式中有乙個未被

使用的變數,在 debug 版中它有可能掩蓋乙個陣列越界,而在 release 版中,這個變數

很可能被優化調,此時陣列越界會破壞棧中有用的資料。當然,實際的情況會比這複雜得

多。與此有關的錯誤有:

3. _debug 與 ndebug :當定義了 _debug 時,assert() 函式會被編譯,而 ndebug 時不

被編譯。除此之外,vc++中還有一系列斷言巨集。這包括:

ansi c 斷言 void assert(int expression );

c runtime lib 斷言 _assert( booleanexpression );

_asserte( booleanexpression );

mfc 斷言 assert( booleanexpression );

verify( booleanexpression );

assert_valid( pobject );

assert_kindof( classname, pobject );

atl 斷言 atlassert( booleanexpression );

此外,trace() 巨集的編譯也受 _debug 控制。

4. /gz 選項:這個選項會做以下這些事

(1) 初始化記憶體和變數。

(2) 通過函式指標呼叫函式時,會通過檢查棧指標驗證函式呼叫的匹配性。(防止原

形不匹配)

(3) 函式返回前檢查棧指標,確認未被修改.

三、怎樣「除錯」 release 版的程式

1. 前面已經提過,debug 和 release 只是一組編譯選項的差別,實際上並沒有什麼

定義能區分二者。我們可以修改 release 版的編譯選項來縮小錯誤範圍。如上所述,可以

把 release 的選項逐個改為與之相對的 debug 選項,如 /md 改為 /mdd、/o1 改為 /od

,或執行時間優化改為程式大小優化。注意,一次只改乙個選項,看改哪個選項時錯誤消

失,再對應該選項相關的錯誤,針對性地查詢。這些選項在 project\settings... 中都可

以直接通過列表選取,通常不要手動修改。由於以上的分析已相當全面,這個方法是最有

效的。2.你也可以像 debug 一樣除錯你的 release 版,只要加入除錯符號。在 project/s

ettings... 中,選中 settings for "win32 release",選中 c/c++ 標籤,category 選

general,debug info 選 program database。再在 link 標籤 project options 最後

加上 "/opt:ref" (引號不要輸)。

release 版本的程式與debug版本的程式有什麼不同?以常見的開發環境舉例說明

電容有什麼用電容有什麼用途?

一 電容的分類和作用 電容 electric capacity 由兩個金屬極,中間夾有絕緣材料 介質 構成。由於絕緣材料的不同,所構成的電容器的種類也有所不同 按結構可分為 固定電容,可變電容,微調電容。按介質材料可分為 氣體介質電容,液體介質電容,無機固體介質電容,有機固體介質電容電解電容。按極性...

有什麼節省用電的方法?怎樣節約用電?

1 晚上睡覺時候,把風扇空調調整好,調定時或者自動節能的模式,不要一晚上下來都開足最大的檔次,這樣子很浪費電,而且容易不小心導致感冒。2 養成隨手關燈的良好習慣,平時上廁所 入廚房,離開時間要把燈也給關上。3 電腦電視 不用時候也順便把電源切斷,更加好的保護產品,還可以預防打雷時候,會燒了。4 一些...

電腦記憶體條有什麼用,電腦的記憶體條有什麼用?

記憶體就是儲存程式以及資料的地方,比如當我們在使用wps處理文稿時,當你在鍵盤上敲入字元時,它就被存入記憶體中,當你選擇存檔時,記憶體中的資料才會被存入硬 磁 盤。記憶體是電腦中的主要部件,它是相對於外存而言的。我們平常使用的程式,如windows98系統 打字軟體 遊戲軟體等,一般都是安裝在硬碟等...