C++ 中关于 iostream、源文件命名约定以及运行 GNU (微软)编译器的几点说明

我的主力博客:半亩方塘

1. 关于#include <iostream>

在一个C++程序中,几乎都需要有这么一条语句#include <iostream>,以致于我们每写一个C++程序,都习惯性地先写下这条语句,再接着写程序的其他部分,由于写下这条语句是习惯性的动作,所以我估计很少有人真正花时间回想一下这究竟是什么东西?为什么在一个C++程序中要写这条语句?说来也很简单:

在C++中,没有专门用来进行输入输出(IO)的语句,而是用标准库来提供IO机制,我们通常只需要了解IO库中的一部分基本概念和操作,iostream 库包括两个基础类型:istream 类型和 ostream 类型,分别表示输入流和输出流

标准库定义了4个IO对象:

  • cin (发音为 see-in) —— istream 类型的对象,也被称为标准输入
  • cout (发音为 see-out) —— ostream 类型的对象,也被称为标准输出
  • cerr (发音为 see-err) —— ostream 类型的对象,通常用来输出警告和错误信息
  • clog (发音为 see-log) —— ostream 类型的对象,输出程序运行时的一般性信息

系统通常将程序所运行的窗口与这些对象关联起来

#include <iostream>是告诉编译器我们想使用 iostream 库,尖括号中的名字指出了一个头文件,每个使用标准库设施的程序都必须包含相关的头文件,#include指令和头文件的名字必须出现在同一行中  

2. 源文件命名约定

将什么样的文件识别为C++源文件,取决于具体的编译器,譬如我在Ubuntukylin 13.10中所使用的编译器版本是:g++ 4.8.1 (在shell中输入g++ --version即可显示版本),在shell中输入man g++后,在 line 693 位置,可以看到下图所示的内容


从上图可以看到,在 g++ 4.8.1 中,C++源文件命名约定为:.cc、.cp、.cxx、.cpp、.CPP(大写)、.c++、.C(大写)

由于比较熟悉和常用的C++源文件的扩展名为 .cpp,故推荐使用(个人意见)

3. 运行 GNU (微软)编译器

默认情况下,运行 GNU 编译器的命令是g++ :

g++ -o prog1 prog1.cpp

-o prog1是编译器参数,指定了可执行文件的文件名,在不同的操作系统中,此命令生成一个名为 prog1(UNIX) 或者 prog1.exe(Windows) 的可执行文件,如果没有这个参数,则在 UNIX 系统中生成一个名为 a.out 的可执行文件,在 Windows 系统中生成一个名为 a.exe 的可执行文件

根据使用的 GNU 编译器的版本,可能需要指定-std=c++0x来打开对 C++11 的支持,另外,打开对有问题的程序发出的警告的选项是一个好的习惯,在 GNU 编译器中使用 -Wall 选项

运行微软编译器的命令是 cl (Windows下):

cl /EHsc prog1.cpp

命令 cl 调用编译器,/EHsc 是编译器选项,用来打开标准异常处理,此命令会自动生成一个名为 prog1.exe 的可执行文件,也就是说,微软编译器会自动生成一个与源文件名对应的可执行文件,后缀为 .exe,在微软编译器中使用 /W4 选项对有问题的程序结构发出警告

主要参考了《C++ Primer中文版(第5版)》

我的主力博客:半亩方塘

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值