/MD, /MT, /LD (Utilizar la biblioteca en tiempo de ejecución)
Le permite indicar si un módulo multiproceso es un archivo DLL y seleccionar versiones de lanzamiento o de depuración de la biblioteca en tiempo de ejecución.
/MD[d]
/MT[d]
/LD[d]
Comentarios
Opción |
Descripción |
---|---|
/MD |
Hace que la aplicación utilice la versión específica del multiprocesamiento y de DLL de la biblioteca en tiempo de ejecución. Define _MT y _DLL y hace que el compilador sitúe el nombre de la biblioteca MSVCRT.lib en el archivo .obj. Las aplicaciones compiladas con esta opción se vinculan estáticamente a MSVCRT.lib. Esta biblioteca proporciona un nivel de código que permite al vinculador resolver referencias externas. El código de trabajo real reside en el archivo MSVCR100.DLL, el cual debe estar disponible en tiempo de ejecución para las aplicaciones vinculadas con MSVCRT.lib. |
/MDd |
Define _DEBUG, _MT y _DLL y hace que su aplicación utilice la versión de depuración de multiprocesamiento y DLL de la biblioteca en tiempo de ejecución. También hace que el compilador sitúe el nombre de la biblioteca MSVCRTD.lib en el archivo .obj. |
/MT |
Hace que la aplicación utilice la versión multiprocesamiento estática de la biblioteca en tiempo de ejecución. Define _MT y hace que el compilador sitúe el nombre de biblioteca LIBCMT.lib en el archivo .obj para que el vinculador utilice LIBCMT.lib para resolver los símbolos externos. |
/MTd |
Define _DEBUG y _MT. También hace que el compilador sitúe el nombre de la biblioteca LIBCMTD.lib en el archivo .obj para que el vinculador use LIBCMTD.lib para resolver los símbolos externos. |
/LD |
Crea una DLL. Pasa la opción /DLL al vinculador. El vinculador busca, aunque no requiere, una función DllMain. Si no escribe una función DllMain, el vinculador inserta una función DllMain que devuelve TRUE. Vincula el código de inicio de DLL. Crea una biblioteca de importación (.lib), si no se especifica un archivo de exportación (.exp) en la línea de comandos; el programador vincula la biblioteca de importación con las aplicaciones que llaman a la DLL. Interpreta /Fe (Asignar nombre a un archivo ejecutable) como nombrar un archivo DLL en lugar de un archivo .exe; el nombre de programa predeterminado se convierte en nombrebase.dll en lugar de nombrebase.exe. Implica /MT a menos que especifique explícitamente /MD. |
/LDd |
Crea una DLL de depuración. Define _MT y _DEBUG. |
Para obtener más información sobre las bibliotecas en tiempo de ejecución de C y sobre cuáles se utilizan para compilar con /clr (Compilación de Common Language Runtime), vea C Run-Time Libraries.
Todos los módulos pasados a una invocación determinada del vinculador se deben de haber compilado con la misma opción del compilador de la biblioteca en tiempo de ejecución (/MD, /MT, /LD).
Para obtener más información sobre cómo utilizar las versiones de depuración de las bibliotecas en tiempo de ejecución, vea Run-Time Library Reference.
En el artículo Q140584 de Knowledge Base también se explica cómo puede elegir la biblioteca en tiempo de ejecución de C apropiada.
Para obtener más información acerca de los archivos DLL, vea DLL.
Para establecer esta opción del compilador en el entorno de desarrollo de Visual Studio
Abra el cuadro de diálogo Páginas de propiedades del proyecto. Para obtener información detallada, vea Cómo: Abrir páginas de propiedades del proyecto.
Haga clic en la carpeta C/C++.
Haga clic en la página de propiedades Generación de código.
Modifique la propiedad Biblioteca en tiempo de ejecución.
Para establecer esta opción del compilador mediante programación
- Vea RuntimeLibrary.