一、代码编写
1、打开Xshell界面,用cd切换到工作路径。
2、打开或新建cpp文件,这里直接打开已经存在的address.cpp。
vim address.cpp
3、默认进入的是命令模式,输入 i、a、o等进入编辑插入模式,分别对应于当前位置之前、之后插入和插入一行。
4、编辑结束,输入":w"表明存盘,然后输入“:q”退出vim编辑器;也可以直接输入“:wq”直接完成这两个步骤。
二、代码编译与运行
对于这个.cpp文件,使用以下的命令进行文件的编译:
gcc -Wall address.cpp -o address -lstdc++ (必须加上 -lstdc++ 选项用来通知链接器链接静态库 libstdc++.a,否则会因为找不到库函数而出错),或者直接使用编译c++(.cpp)文件专用的命令g++,如下: g++ -address.cpp -o address该命令将文件‘address.cpp’中的代码编译为机器码并存储在可执行文件 ‘address’中。机器码的文件名是通过 -o 选项指定的,该选项通常作为命令行中的最后一个参数。如果被省略,输出文件默认为 ‘a.out’。
注意:到如果当前目录中与可执行文件重名的文件已经存在,则它将被复盖。
选项 -Wall 开启编译器几乎所有常用的警告──强烈建议你始终使用该选项。编译器有很多其他的警告选项,但 -Wall 是最常用的。默认情况下GCC/G++不会产生任何警告信息。当编写 C 或 C++ 程序时编译器警告非常有助于检测程序存在的问题。
本例中,编译器使用了 -Wall 选项而没产生任何警告,因为示例程序是完全合法的。
运行:./address.o这个命令将可执行文件载入内存,并使 CPU 开始执行其包含的指令。 路径“./”指代当前目录,因此“./address” 载入并执行当前目录下的可执行文件 ‘address’。
另外:如果一开始建立了一个“address.c”的c语言类型的文件,内容如下;
编译时使用“gcc -Wall address.c -o address”命令。另外必须注意的是,在c文件中不能出现c++的库,比如#include <iostream.h>就会报错,但是cpp文件包含c语言的库却是可以的。
此外,.c文件采用gcc address.c即可编译。
./a.out即可运行。
三、编译多个源文件
1、多源文件文件示例
三个不同的文件‘main.cpp’、‘test.cpp’和头文件‘test.h’。
(1)主程序‘main.cpp’如下:
#include "test.h"
int main()
{
test("hello world!");
return 0;
}
(2)函数声明文件"test.h"如下内容:
void test(const char* name);
(3)函数实现文件"test.cpp"的内容如下:
#include <iostream>
#include "test.h"
void test(const char* name)
{
using namespace std;
cout<<name<<endl;
}
2、 多文件编译
g++ -Wall main.cpp test.cpp -o Test
本例中,我们使用选项 -o 为可执行文件指定了一个不同的名字Test。注意到头文件‘test.h’并未在命令行中指定,这是因为它已经在main.cpp中包含。