Condividi tramite


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

Aggiornamento: novembre 2007

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

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.

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

Quando si utilizza l'opzione /MD con la definizione deo preprocessore _STATIC_CPPLIB (/D_STATIC_CPPLIB), l'applicazione viene collegata alla libreria standard di C++ (libcpmt.lib) statica con multithreading anziché alla versione dinamica (msvcprt.lib), benché venga comunque effettuato il collegamento dinamico alla libreria CRT principale tramite msvcrt.lib.

Notare che la combinazione della definizione del preprocessore _STATIC_CPPLIB e l'opzione del compilatore /clr o /clr:pure non è supportata. Per ulteriori informazioni sulle limitazioni dell'opzione /clr, vedere Limitazioni di /clr.

/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