Forçando o gcc a compilar o arquivo .cpp como C
Eu tenho um arquivo .cpp fornecido externamente. É uma mistura de código compatível com C e também um pouco de C ++. O código C ++ é apenas um invólucro em torno do C para aproveitar os recursos do C ++.
Usa#ifdef __cplusplus
macros para proteger o código C ++, o que é ótimo. Infelizmente, se eu tentar compilar usando o gcc, ele será tratado como C ++ devido ao final do arquivo. Estou ciente das diferenças entre gcc e g ++ - não quero compilar como C ++.
Existe alguma maneira de forçar o gcc a tratar esse arquivo como um arquivo C? Eu tentei usar, por exemplo--std=c99
, mas isso produz corretamente o erro de que C99 não é válido para C ++.
Renomear o arquivo para .c funciona, mas eu gostaria de evitá-lo, se possível, porque é fornecido externamente e seria bom permanecer como uma cópia intocada.
Obrigado!