/MD, /MT, /LD (Utilizza la libreria di runtime)

Consente di indicare se un modulo con multithreading è una DLL e di selezionare versioni finali o di debug della libreria di runtime.

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

Note

Opzione

Oggetto di descrizione

/MD

Determina l'utilizzo della versione specifica con multithreading e specifica della DLL della libreria di runtime all'interno dell'applicazione. Definisce _MT e _DLL e fa sì che il compilatore inserisca il nome della libreria MSVCRT.lib nel file obj.

Applicazioni compilate con questa opzione sono collegate staticamente a MSVCRT.lib. Questa libreria fornisce un livello di codice che consente al linker di risolvere riferimenti esterni. Il codice effettivo è contenuto nel file MSVCR100.DLL, che deve essere disponibile in fase di esecuzione per le applicazioni collegate a MSVCRT.lib.

/MDd

Definisce _DEBUG, _MT e _DLL e fa sì che nell'applicazione venga utilizzata la versione specifica con multithreading e specifica della DLL di debug della libreria di runtime. Questa opzione fa sì inoltre che il compilatore inserisca il nome della libreria MSVCRTD.lib nel file obj.

/MT

Determina l'utilizzo della versione statica con multithreading della libreria di runtime all'interno dell'applicazione. Definisce _MT e fa sì 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. Questa opzione fa sì inoltre che il compilatore inserisca il nome della libreria LIBCMTD.lib nel file obj in modo che 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 un file di esportazione (exp) non è specificato nella riga di comando. La libreria di importazione viene collegata alle applicazioni che chiamano la DLL.

Interpreta /Fe (Specifica file EXE) come se venisse assegnato un nome a una DLL anziché a un file exe. Il nome di programma predefinito diventa basename.dll anziché basename.exe.

Implica /MT se /MD non viene specificata in modo esplicito.

/LDd

Crea una DLL di debug. Definisce _MT e _DEBUG.

Per ulteriori informazioni sulle librerie di runtime del linguaggio C e sulle librerie utilizzate durante la compilazione con /clr (Compilazione Common Language Runtime), vedere C Run-Time Libraries.

È necessario che tutti i moduli passati a una determinata chiamata del linker siano stati compilati con la stessa opzione del compilatore con le librerie di runtime (/MD, /MT, /LD).

Per ulteriori informazioni sull'utilizzo delle versioni di debug delle librerie di runtime, vedere Run-Time Library Reference.

Nell'articolo Q140584 della Knowledge Base viene inoltre discusso come scegliere la libreria di runtime C appropriata.

Per ulteriori informazioni sulle DLL, vedere DLL.

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 Procedura: aprire le pagine delle proprietà dei progetti.

  2. Fare clic sulla cartella C/C++.

  3. Fare clic sulla pagina delle proprietà Generazione codice.

  4. Modificare la proprietà Libreria di runtime.

Per impostare l'opzione del compilatore a livello di codice

Vedere anche

Riferimenti

Opzioni del compilatore

Impostazione delle opzioni del compilatore