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.

Składnia

/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 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 jest zawarty w numerze wersji MSVCR.DLL który musi być dostępny w czasie wykonywania dla aplikacji połączonych z MSVCRT.lib.
/MDd Definiuje _DEBUG, _MTi _DLL powoduje, że aplikacja używa wersji specyficznej dla wielu elementów i biblioteki DLL debugowania biblioteki czasu wykonywania. 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, aby konsolidator używał biblioteki LIBCMT.lib do rozpoznawania symboli zewnętrznych.
/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 /DLL opcji do konsolidatora. Konsolidator szuka, ale nie wymaga funkcji DllMain . Jeśli nie napiszesz DllMain funkcji, konsolidator wstawia funkcję zwracającą DllMain 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 (nazwa pliku EXE) jako nazewnictwo biblioteki DLL, a nie .exe pliku. Domyślnie nazwa programu staje się nazwą basename.dll zamiast basename.exe.

Oznacza /MT , chyba że jawnie określisz /MD.
/LDd Tworzy DLL przeznaczoną do debugowania. Definiuje _MT i _DEBUG.

Aby uzyskać więcej informacji na temat bibliotek czasu wykonywania języka C i bibliotek używanych podczas kompilowania za pomocą /clr (kompilacja środowiska uruchomieniowego języka wspólnego), zobacz Funkcje biblioteki CRT.

Wszystkie moduły przekazane do danego wywołania konsolidatora muszą zostać skompilowane przy użyciu tej samej opcji kompilatora biblioteki uruchomieniowej (/MD, /MT, /LD).

Aby uzyskać więcej informacji na temat używania wersji debugowania bibliotek czasu wykonywania, zobacz Dokumentacja bibliotek czasu wykonywania języka C.

Aby uzyskać więcej informacji na temat bibliotek DLL, zobacz Tworzenie bibliotek DLL języka C/C++ w programie Visual Studio.

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

  1. Otwórz okno dialogowe Strony właściwości projektu. Aby uzyskać szczegółowe informacje, zobacz Set C++ compiler and build properties in Visual Studio (Ustawianie właściwości kompilatora języka C++ i kompilowania w programie Visual Studio).

  2. Wybierz stronę właściwości Właściwości>konfiguracji C/C++>Code Generation.

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

Aby programowo ustawić tę opcję kompilatora

Zobacz też

Opcje kompilatora MSVC
Składnia wiersza polecenia kompilatora MSVC