Aam*_*thu 5 c file-extension compilation
如果文件未保存为.c扩展名,则会生成哪种类型的错误?
我一直在保存源文件.c并正常工作,但为什么有.c必要?
但这是一个极其简短的回答。问题在于“必要”或“强制”一词的上下文。
一旦你问“‘X’编译器在‘Y’平台上编译是否需要扩展名‘.c’?”,答案将取决于 X 和 Y。
正如Girjesh gcc 在 Linux 上所解释的那样,“期望”源文件的文件扩展名是“.c”。但可以通过编译时的选项来避免。
gcc -x c x.l
Run Code Online (Sandbox Code Playgroud)
将编译 xl 文件,考虑它是交流源。[如果确实是交流源]
因此,对于 *nix 上的 gcc 来说,'.c' 只是一个命名约定。
维基百科关于文件扩展名约定和限制的描述
文件扩展名可以被视为一种元数据。它们通常用于暗示有关数据在文件中存储方式的信息。确切的定义,给出了决定文件名的哪一部分是其扩展名的标准,属于所使用的特定文件系统的规则;通常,扩展名是最后一次出现的点字符(如果有)后面的子字符串(例如:txt 是文件名 readme.txt 的扩展名,html 是 mysite.index.html 的扩展名)。在大型机系统(例如 MVS、VMS)和 PC 系统(例如 CP/M)和衍生系统(例如 MS-DOS)的文件系统上,扩展名是与文件名分开的命名空间。在Microsoft 的 DOS 和 Windows下,EXE、COM 或 BAT 等扩展名表明文件是可执行程序。
类 UNIX文件 系统使用不同的模型,没有隔离的扩展元数据。点字符只是主文件名中的另一个字符,文件名可以有多个扩展名,通常表示嵌套转换,例如 files.tar.gz。此模型通常要求在命令中提供完整的文件名,其中元数据方法通常允许省略扩展名。