背景
在C++ Primer 5th edition的第 5 页上,练习 1.1 提出了这个问题:
查看编译器的文档并确定使用的文件命名约定。从第 2 页编译并运行主程序。
我以前从未有意识地深入了解我的编译器信息,并且完全不知道它通常存储在哪里。这促使我提出这个问题......
问题
我的机器编译器的文档在哪里?
在C++ Primer 5th edition的第 5 页上,练习 1.1 提出了这个问题:
查看编译器的文档并确定使用的文件命名约定。从第 2 页编译并运行主程序。
我以前从未有意识地深入了解我的编译器信息,并且完全不知道它通常存储在哪里。这促使我提出这个问题......
我的机器编译器的文档在哪里?
文档通常位于联机帮助页和
/usr/share/doc
. 通常,一个名为的符号链接cc
指向安装的特定默认编译器,因此您应该能够确定哪个编译器是您的系统使用man cc
. 然后在线或/usr/share/docs
查看完整的文档。在 Unix 系统(和类似系统)上,主要文档应该可以作为 eg
man cc
(或任何你的编译器调用)。这将为您提供使用概述,包括相关的命令行开关。这是 Unix 自定义的,但某些磁盘空间上的安装可能没有在线手册(但现在节省的几十个 MiB 将不值得麻烦)。更详细的文档(例如,声称符合 ISO 标准的编译器应该有文档详细说明它如何处理各种实现依赖项,其他人可能会处理语言的扩展)也可能在线,或仅在纸上,或从供应商处获得不知何故。没有一般规则,抱歉。
也许您应该将问题缩小到感兴趣的编译器和环境以及确切的兴趣点。
对于您的具体问题,C++ 源文件的常见约定是
*.C
,*.cc
,*.cpp
; 带有名为*.hh
,的头文件*.hpp
,或者只是普通的*.h
(如 C)。由于这是由#include
程序员编写的行管理的,因此它或多或少是任意的(并且当前标准使用不带扩展名的文件名作为标准头文件)。许多 C++ 编译器会将文件称为*.c
纯 C,而其他编译器可以提供任意文件名并使用命令行开关告知内容。如果您使用某种形式的 IDE(集成开发环境),文件名可能会有所不同,它可能会坚持某些特定的命名约定。同样,不可能一概而论,查找并检查它的文档(可能在某些在线帮助功能下)。