Compilando o arquivo de origem C sem o sufixo .c

3

Deixe hello_world ser um arquivo de origem C válido. Quando tento compilar eu recebo

gcc hello_world // hello_world: file not recognized: File format not recognized

Eu sei que eu poderia renomear o sufixo .c, mas se eu não fizer isso, o gcc suporta a compilação de arquivos sem o sufixo .c?

    
por countunique 21.11.2013 / 23:29

1 resposta

6

Você pode usar a opção de linha de comando -x . Nas páginas do manual do gcc:

   -x language
       Specify explicitly the language for the following input files
       (rather than letting the compiler choose a default based on the
       file name suffix).  This option applies to all following input
       files until the next -x option.  Possible values for language are:

               c  c-header  cpp-output
               c++  c++-header  c++-cpp-output
               objective-c  objective-c-header  objective-c-cpp-output
               objective-c++ objective-c++-header objective-c++-cpp-output
               assembler  assembler-with-cpp
               ada
               f77  f77-cpp-input f95  f95-cpp-input
               go
               java

Por exemplo

$ gcc -Wall -o hello cfile
cfile: file not recognized: File format not recognized
collect2: ld returned 1 exit status

mas

$ gcc -Wall -o hello -x c cfile
$ ./hello
Hello world!
    
por steeldriver 21.11.2013 / 23:37

Tags