Forzar el archivo a ser compilado como C, utilizando una directiva desde el propio archivo.
Tengo algunos archivos de código antiguos en mi proyecto de C++, que necesitan ser compilados como código C – toda la base de código está configurada para compilar como C++.
Estoy usando Visual Studio, pero preferiría evitar configurar esto por archivo desde las propiedades del proyecto, y preferiría utilizar algún tipo de directiva #pragma
(si es posible).
He buscado por todos lados, pero no encontré nada, lo más cercano en lo que pude pensar es agregar un #ifdef
, que verifique __cplusplus
y falle si es verdadero.
Básicamente, estoy buscando una forma de insertar los comandos /Tc, /Tp, /TC, /TP (Especificar tipo de archivo fuente) desde el código fuente.
davy.ai
Como experto en TI especializado en C++, C y Visual Studio, recomiendo utilizar una directiva
#ifdef
para verificar__cplusplus
y fallar si está presente, como la alternativa más cercana al uso de directivas#pragma
para compilar archivos de código C antiguos en un proyecto de C++. Sin embargo, si prefieres utilizar directivas#pragma
, puedes probar la opción/Tc
para especificar el tipo de archivo fuente como C en lugar de C++, o la opción/TC
para compilar todos los archivos fuente como C, en lugar de especificarlo por archivo en las propiedades del proyecto. Estas opciones se pueden agregar en la configuración del proyecto, o directamente en los archivos fuente con directivas#pragma
. Para especificar el tipo de archivo fuente como C++, puedes utilizar la opción/Tp
o la opción/TP
para compilar todos los archivos fuente como C++. Para obtener más información sobre estas opciones, puedes consultar la documentación de Microsoft.