让 hello_world 成为有效的 C 源文件。当我尝试编译时,我得到了
gcc hello_world // hello_world: file not recognized: File format not recognized
我知道我可以重命名为具有 .c 后缀,但如果不这样做,gcc 是否支持编译没有 .c 后缀的文件?
答案1
您可以使用-x
命令行选项。来自 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
例如
$ gcc -Wall -o hello cfile
cfile: file not recognized: File format not recognized
collect2: ld returned 1 exit status
但
$ gcc -Wall -o hello -x c cfile
$ ./hello
Hello world!