共用方式為


_set_new_mode

Sets a new handler mode for malloc.

int _set_new_mode(
   int newhandlermode 
);

參數

  • newhandlermode
    New handler mode for malloc; valid value is 0 or 1.

傳回值

Returns the previous handler mode set for malloc. 傳回值 1 表示配置記憶體時發生錯誤, malloc 先前呼叫新處理常式;傳回值 0 表示成功。 如果 newhandlermode 引數不等於 0 或 1,則是– 1。

備註

C++ _set_new_mode 函式會將 malloc的新處理常式模式。 新的處理常式模式表示,失敗時,malloc 是否要呼叫由 _set_new_handler 設定的新處理常式。 根據預設, malloc 不會在無法配置記憶體時呼叫新的處理常式。 您可以覆寫這個預設行為,因此,當 malloc 無法配置記憶體時,malloc 會以 new 運算子因相同原因失敗時所執行的相同方式,呼叫新處理常式。 如需詳細資訊,請參閱 C++ 語言參考 中的 建立刪除作業。 若要覆寫預設值,請呼叫:

_set_new_mode(1)

及早在您的程式中呼叫,或與 Newmode.obj 連結 (請參閱連結選項)。

這個函式會驗證其參數。 如果 newhandlermode 是任何除了 0 或 1 以外的值,則函式叫用無效的參數處理常式,如 參數驗證中所述。 如果允許繼續執行,**_**set_new_mode會傳回-1,並將 errno 設定為 EINVAL。

需求

常式

必要的標頭

_set_new_mode

<new.h>

如需更多關於相容性的資訊,請參閱入門介紹中的 相容性 (Compatibility)

.NET Framework 對等用法

不適用。若要呼叫標準 C 函式,請使用 PInvoke。如需詳細資訊,請參閱平台叫用範例

請參閱

參考

記憶體配置

calloc

釋放

realloc

_query_new_handler

_query_new_mode