共用方式為


_set_new_mode

設定新的處理常式模式用於malloc。

int _set_new_mode(
   int newhandlermode 
);

參數

  • newhandlermode
    新的處理常式模式的malloc。 有效值為 0 或 1。

傳回值

傳回先前的處理常式的模式集malloc。 傳回數值 1 表示,而無法配置記憶體,在malloc之前稱為 「 新的處理常式。 傳回值 0 表示不一樣。 如果newhandlermode引數不等於 0 或 1,會傳回 – 1。

備註

C + + _set_new_mode函式會設定為新的處理常式模式 malloc。 新的處理常式 mode 指出是否在失敗時, 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>

如需相容性資訊,請參閱相容性在簡介中。

.NET Framework 對等用法

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

請參閱

參考

記憶體配置

calloc

free

realloc

_query_new_handler

_query_new_mode