Obligar a gcc a compilar el archivo .cpp como C

Tengo un archivo .cpp provisto externamente. Es una mezcla de código compatible con C y un poco de C ++ también. El código C ++ es solo una envoltura alrededor de C para aprovechar las características de C ++.

Usa#ifdef __cplusplus macros para proteger el código C ++, lo cual es genial. Desafortunadamente, si trato de compilar usando gcc, lo trata como C ++ debido al final del archivo. Soy consciente de las diferencias entre gcc y g ++: no quiero compilar como C ++.

¿Hay alguna forma de forzar a gcc a tratar este archivo como un archivo C? He intentado usar p.--std=c99, pero esto produce correctamente el error de que C99 no es válido para C ++.

Cambiar el nombre del archivo a .c funciona, pero me gustaría evitarlo si es posible porque se proporciona externamente y sería bueno que permaneciera como una copia inmaculada.

¡Gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta