Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
new Nastaví režim obslužné rutiny pro malloc.
Syntaxe
int _set_new_mode( int newhandlermode );
Parametry
newhandlermode
new Režim obslužné rutiny pro malloc; platná hodnota je 0 nebo 1.
Vrácená hodnota
Vrátí předchozí režim obslužné rutiny nastaven pro malloc. Návratová hodnota 1 značí, že při selhání přidělení paměti se malloc dříve volala new rutina obslužné rutiny. Návratová hodnota 0 značí, že ne. Pokud se newhandlermode argument nerovná 0 nebo 1, vrátí hodnotu -1.
Poznámky
Funkce C++ _set_new_mode nastaví new režim obslužné rutiny pro malloc. Režim new obslužné rutiny označuje, zda je při selhání malloc volání rutiny new obslužné rutiny nastavena ._set_new_handler Ve výchozím nastavení nevolá rutinu new obslužné rutiny při malloc selhání přidělení paměti. Toto výchozí chování můžete přepsat tak, malloc aby v případě malloc selhání přidělení paměti volaly rutinu new obslužné rutiny stejným způsobem jako new operátor v případě selhání z stejného důvodu. Další informace najdete v referenční new dokumentaci jazyka C++ a delete operátory. Pokud chcete přepsat výchozí nastavení, zavolejte:
_set_new_mode(1);
v rané fázi programu nebo propojení s Newmode.obj (viz možnosti odkazu).
Tato funkce ověří jeho parametr. Pokud newhandlermode je něco jiného než 0 nebo 1, funkce vyvolá neplatnou obslužnou rutinu parametru, jak je popsáno v ověření parametru. Pokud je spuštění povoleno pokračovat, _set_new_mode vrátí hodnotu -1 a nastaví errno hodnotu EINVAL.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Požadavky
| Rutina | Požadovaný hlavičkový soubor |
|---|---|
_set_new_mode |
<new.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Viz také
Přidělení paměti
calloc
free
realloc
_query_new_handler
_query_new_mode