P29
一、代码解读
创建名为helloSLAM.cpp的文件
#include <iostream> //标准的头文件
using namespace std; //namespace一个命名空间,用来把单个标识符下的大量有逻辑联系的程序实体组合到一起。
//std标准程序库中的所有标识符都被定义于一个名为std的namespace中。
上面的语句不严谨,容易出错,应用下面的语句
using std::cout; //使用名称空间std中的cout函数,对其他函数的使用不会构成影响,
//::是名称空间解析符
using std::endl; //endl是一个操纵符(manipulator),它不但实现了换行操作,而且还对输出缓冲区进行刷新。
int main(int argc, char **argv){
argc命令行输入参数的个数 (以空白符为分隔)
argv存储了所有命令行参数,以NULL结束
第一个参数,int型的argc,为整型,用来统计程序运行时发送给main函数的命令行参数的个数,在VS中默认值为1。
第二个参数,char*型的argv[],为字符串数组,用来存放指向的字符串参数的指针数组,每一个元素指向一个参数。各成员含义如下:
argv[0]指向程序运行的全路径名
argv[1]指向在DOS命令行中执行程序名后的第一个字符串
argv[2]指向执行程序名后的第二个字符串
argv[3]指向执行程序名后的第三个字符串
argv[argc]为NULL
cout <<"Hello SLAM!"<<endl;
endl 是在输出结束处插入一个新行,清缓冲区。
‘\n’ 只是一个换行符
二、g++编译
在终端输入:
g++ helloSLAM.cpp
这条命令把helloSLAM.cpp文本文件变异成了一个可执行程序,这个程序为a.out文件
g++ helloSLAM.cpp -o helloSLAM.out
g++ (源代码) -o (程序名字)就可以指定生成程序的名字了