/MD, /MT, /LD (utilizzo della libreria di runtime)

Indica se un modulo con multithreading è una DLL e specifica versioni finali o di debug della libreria di runtime.

Sintassi

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

Osservazioni:

Opzione Descrizione
/MD Fa in modo che l'applicazione utilizzi la versione multithreading e DLL della libreria di runtime. Definisce _MT e _DLL e fa in modo che il compilatore inserisca il nome della libreria MSVCRT.lib nel file OBJ.

Le applicazioni compilate con questa opzione vengono collegate staticamente a MSVCRT.lib. Questa libreria fornisce un livello di codice che consente al linker di risolvere i riferimenti esterni. Il codice di lavoro effettivo è contenuto in MSVCRversionnumber.DLL, che deve essere disponibile in fase di esecuzione per le applicazioni collegate a MSVCRT.lib.
/MDd Definisce _DEBUG, _MT e _DLL e fa in modo che l'applicazione utilizzi la versione con multithreading e DLL della libreria di runtime. Fa inoltre in modo che il compilatore inserisca il nome della libreria MSVCRTD.lib nel file .obj.
/MT Fa in modo che l'applicazione utilizzi la versione statica con multithreading della libreria di runtime. Definisce _MT e fa in modo che il compilatore inserisca il nome della libreria LIBCMT.lib nel file OBJ, in modo che il linker utilizzi LIBCMT.lib per risolvere i simboli esterni.
/MTd Definisce _DEBUG e _MT. Fa inoltre in modo che il compilatore inserisca il nome della libreria LIBCMTD.lib nel file .obj affinché il linker utilizzi LIBCMTD.lib per risolvere i simboli esterni.
/LD Crea una DLL.

Passa l'opzione /DLL al linker. Il linker cerca, ma non richiede, una funzione DllMain. Se non si scrive una funzione DllMain, il linker inserisce una funzione DllMain che restituisce TRUE.

Collega il codice di avvio della DLL.

Crea una libreria di importazione (LIB) se sulla riga di comando non è stato specificato un file di esportazione (EXP). Collegare la libreria di importazione alle applicazioni che chiamano la DLL.

Interpreta /Fe (nome file EXE) come denominazione di una DLL anziché di un file con estensione exe. Per impostazione predefinita, il nome del programma diventa basename.dll anziché basename.exe.

Implica /MT a meno che non si specifichi in modo esplicito /MD.
/LDd Crea una DLL di debug. Definisce _MT e _DEBUG.

Per altre informazioni sulle librerie di runtime C e sulle librerie usate durante la compilazione con /clr (compilazione Common Language Runtime), vedere Funzionalità della libreria CRT.

Tutti i moduli passati a una determinata chiamata del linker devono essere stati compilati con la stessa opzione del compilatore della libreria di runtime (/MD, /MT, /LD).

Per altre informazioni su come usare le versioni di debug delle librerie di runtime, vedere Riferimenti alla libreria di runtime C.

Per altre informazioni sulle DLL, vedere Creare DLL C/C++ in Visual Studio.

Per impostare l'opzione del compilatore nell'ambiente di sviluppo di Visual Studio

  1. Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Impostare il compilatore e le proprietà di compilazione.

  2. Selezionare la pagina delle proprietà Proprietà>di configurazione C/C++>Generazione codice.

  3. Modificare la proprietà Libreria di runtime.

Per impostare l'opzione del compilatore a livello di codice

Vedi anche

Opzioni del compilatore MSVC
Sintassi della riga di comando del compilatore MSVC