Opcje łącz
Katalog biblioteki CRT zawiera kilka małych plików obiektów, które umożliwiają korzystanie z określonych funkcji CRT bez zmian kodu. Te pliki obiektów są nazywane "opcjami łącza", ponieważ należy je dodać tylko do wiersza polecenia konsolidatora, aby ich używać. Aby to zrobić w programie Visual Studio, w Eksploratorze rozwiązań kliknij prawym przyciskiem myszy projekt i wybierz pozycję Właściwości. W obszarze właściwości konfiguracji wybierz pozycję konsolidator>wejściowych>dodatkowe zależności i określ dodatkowe elementy do dodania do wiersza polecenia łącza.
Wersje trybu czystego środowiska CLR tych obiektów są przestarzałe w programie Visual Studio 2015 i nieobsługiwane w programie Visual Studio 2017. Użyj zwykłych wersji kodu natywnego i /clr
.
Natywny i /clr | Tryb czysty | opis |
---|---|---|
binmode.obj |
pbinmode.obj |
Ustawia domyślny tryb tłumaczenia plików na binarny. Zobacz: _fmode . |
chkstk.obj |
nie dotyczy | Zapewnia obsługę sprawdzania stosu i alloca, gdy nie korzystasz z narzędzia CRT. |
commode.obj |
pcommode.obj |
Ustawia flagę zatwierdzenia globalnego na "zatwierdzenie". Zobacz fopen , _wfopen i fopen_s , _wfopen_s . |
exe_initialize_mta.lib | nie dotyczy | Inicjuje mieszkanie MTA podczas uruchamiania exe, co umożliwia korzystanie z obiektów COM w globalnych inteligentnych wskaźnikach. Ponieważ ta opcja przecieka odwołanie do mieszkania MTA podczas zamykania, nie używaj go do bibliotek DLL. Łączenie z tym plikiem jest równoważne z dołączaniem combase.h i definiowaniem _EXE_INITIALIZE_MTA elementu . Użycie tej opcji linku powoduje dodanie biblioteki onecore.lib do listy biblioteki domyślnej. Jeśli ten efekt jest niepożądany (na przykład przy użyciu biblioteki onecore_apiset.lib lub innego parasola), użyj /NODEFAULTLIB , aby zastąpić to zachowanie i zapewnić alternatywę. |
fp10.obj |
nie dotyczy | Zmienia domyślną kontrolkę precyzji na 64 bity. Zobacz Obsługa obliczeń matematycznych i zmiennoprzecinkowych. |
invalidcontinue.obj |
pinvalidcontinue.obj |
Ustawia domyślną nieprawidłową procedurę obsługi parametrów, która nic nie robi, co oznacza, że nieprawidłowe parametry przekazane do funkcji CRT po prostu ustawi błąd errno i zwróci wynik błędu. |
legacy_stdio_float_rounding.obj |
nie dotyczy | Naprawiono drukowanie wartości zmiennoprzecinkowych (na przykład w przypadku używania printf ) z uniwersalnym środowiskiem uruchomieniowym języka C systemu Windows 10 19041. Teraz prawidłowo zaokrągla dokładnie możliwe liczby zmiennoprzecinkowe i uwzględnia zaokrąglanie zmiennoprzecinkowe żądane przez fesetround element . Ta aktualizacja zachowania jest dostępna w programie Visual Studio 2019 w wersji 16.2 lub nowszej. Starsze zachowanie jest używane we wcześniejszych wersjach programu Visual Studio lub przez podanie tej opcji linku. |
loosefpmath.obj |
nie dotyczy | Gwarantuje, że kod zmiennoprzecinkowa toleruje wartości denormalne. |
newmode.obj |
pnewmode.obj |
Powoduje malloc wywołanie nowej procedury obsługi w przypadku niepowodzenia. Zobacz _set_new_mode , , _set_new_handler calloc i realloc . |
noarg.obj |
pnoarg.obj |
Wyłącza wszystkie operacje przetwarzania argc i argv. |
nochkclr.obj |
nie dotyczy | Nic nie robi. Usuń z projektu. |
noenv.obj |
pnoenv.obj |
Wyłącza tworzenie środowiska buforowanego dla CRT. |
nothrownew.obj |
pnothrownew.obj |
Włącza nierzuconą wersję nowej w narzędziu CRT. Zobacz nowe i usuń operatory. |
setargv.obj |
psetargv.obj |
Włącza rozszerzanie symboli wieloznacznych argumentu wiersza polecenia. Zobacz Rozszerzanie argumentów symboli wieloznacznych. |
threadlocale.obj |
pthreadlocale.obj |
Włącza ustawienia regionalne dla każdego wątku dla wszystkich nowych wątków domyślnie. |
wsetargv.obj |
pwsetargv.obj |
Włącza rozszerzanie symboli wieloznacznych argumentu wiersza polecenia. Zobacz Rozszerzanie argumentów symboli wieloznacznych. |