Udostępnij za pośrednictwem


/MD, /MT, /LD (Korzystaj z bibliotek wykonawczych)

Wskazuje, czy moduł wielowątkowy jest biblioteką DLL i określa wersje biblioteki wykonawczej handlowe lub przeznaczone do debugowania.

/MD[d]
/MT[d]
/LD[d]

Uwagi

Opcja

Opis

/MD

Powoduje, że aplikacja korzysta z wersji biblioteki wykonawczej specyficznej dla wielowątkowości i specyficznej dla DLL.Definiuje _MT i _DLL i powoduje, że kompilator umieszcza nazwę biblioteki MSVCRT.lib w pliku .obj.

Aplikacje skompilowane przy użyciu tej opcji są łączone statycznie z MSVCRT.lib.Ta biblioteka zawiera warstwę kodu, która umożliwia konsolidatorowi rozwiązywanie odwołań zewnętrznych.Rzeczywisty kod roboczy znajduje się w MSVCRversionnumber.DLL, która musi być dostępna w czasie wykonywania dla aplikacji łączonych z MSVCRT.lib.

/MDd

Definiuje _DEBUG, _MT i _DLL i powoduje, że aplikacja korzysta z przeznaczonej do debugowania wersji biblioteki wykonawczej specyficznej dla wielowątkowości i specyficznej dla DLL.Powoduje też, że kompilator umieszcza nazwę biblioteki MSVCRTD.lib w pliku .obj.

/MT

Powoduje, że aplikacja korzysta ze statycznej, wielowątkowej wersji biblioteki wykonawczej.Definiuje _MT i powoduje, że kompilator umieszcza nazwę biblioteki LIBCMT.lib w pliku .obj, tak aby konsolidator użył LIBCMT.lib, aby rozwiązać zewnętrzne symbole.

/MTd

Definiuje _DEBUG i _MT.Ta opcja również powoduje, że kompilator umieszcza nazwę biblioteki LIBCMTD.lib w pliku .obj, tak aby konsolidator użył LIBCMTD.lib, aby rozwiązać zewnętrzne symbole.

/LD

Tworzy DLL.

Przekazuje opcję /DLL do konsolidatora.Konsolidator szuka funkcji DllMain, ale jej nie wymaga.Jeśli nie napiszesz funkcji DllMain, konsolidator wstawi funkcję DllMain, która zwraca wartość TRUE.

Łączy kod uruchamiający biblioteki DLL.

Tworzy bibliotekę importu (.lib), jeżeli nie określono pliku eksportu (.exp) w wierszu polecenia.Bibliotekę importu łączy się z aplikacjami, które wywołują bibliotekę DLL.

Interpretuje /Fe (Nazwij plik EXE) jako nazwę biblioteki DLL, a nie pliku .exe.Domyślnie nazwa programu staje się basename.dll zamiast basename.exe.

Implikuje /MT, chyba że jawnie określisz /MD.

/LDd

Tworzy DLL przeznaczoną do debugowania.Definiuje _MT i _DEBUG.

Aby uzyskać więcej informacji na temat biblioteki wykonawczej C i bibliotek, które są używane podczas kompilowania z /clr (Kompilacja środowiska uruchomieniowego języka wspólnego), zobacz Biblioteka CRT — Funkcje.

Wszystkie moduły przekazane do danego wywołania konsolidatora muszą być skompilowane z tą samą opcją kompilatora biblioteki wykonawczej (/MD, /MT, /LD).

Aby uzyskać więcej informacji o sposobach używania wersji bibliotek wykonawczych przeznaczonych do debugowania, zobacz Odwołanie do biblioteki C-Run-Time.

Artykuł bazy wiedzy Knowledge Base Q140584 omawia też, jak wybrać odpowiednią bibliotekę wykonawczą C.

Aby uzyskać dodatkowe informacje o bibliotekach DLL, zobacz Biblioteki DLL w programie Visual C++.

Aby ustawić tę opcję kompilatora w środowisku programowania Visual Studio

  1. Otwórz okno dialogowe projektu Strony właściwości.Szczegółowe informacje – zobacz Porady: otwieranie stron właściwości projektów.

  2. Rozwiń folder C/C++.

  3. Wybierz stronę właściwości Generowanie kodu.

  4. Zmodyfikuj właściwość Biblioteka środowiska uruchomieniowego.

Aby programowo ustawić tę opcję kompilatora

Zobacz też

Informacje

Opcje kompilatora

Ustawianie opcji kompilatora