新闻  |   论坛  |   博客  |   在线研讨会
C++ 中关于 iostream、源文件命名约定以及运行 GNU (微软)编译器的几点说明
电子禅石 | 2020-07-26 23:46:19    阅读:142   发布文章
我的主力博客:半亩方塘
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 选项对有问题的程序结构发出警告
————————————————

原文链接:https://blog.csdn.net/abnerwang2014/article/details/19088943


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
属于自己的技术积累分享,成为嵌入式系统研发高手。
推荐文章
最近访客