曲径通幽论坛

标题: 使用 g++ 编译 c++ 程序 [打印本页]

作者: beyes    时间: 2011-6-18 12:38
标题: 使用 g++ 编译 c++ 程序
如同在 linux 下编译 C 程序用 gcc 一样,编译 C++ 使用 g++ 。

下面从 hello world 开始:
[C++] 纯文本查看 复制代码
#include <iostream>

int main()
{
    std::cout << "Hello world!\n";

    return 0;
}

上面代码中:
cout 是 console out (控制台输出) 的缩写,它表示一个流( stream ),而流则是一个用来传输数据的通道。cout 流是在一个专用的代码库(也就是所谓的头文件)里定义的,如果想要用这个流,就如同在 C 里要用 printf() 函数要包含 #include <stdio.h> 头文件一样,在 C++ 里要将 iostream 这个头文件包含进来,即 #include <iostream> 。

“把头文件包含进来” 实际上就是把头文件的内容插入到这个文档里,在个过程在预处理时完成,这样就不需要用键盘输入那么多行的代码了。

注意到,C 语言中包含的头文件是以 .h 结尾的,但对于 C++ 的标准库函数而言,.h 扩展名可以省略,这使得 C++ 程序跨平台时能够保持兼容性。

<< 操作符表示将它后面的文本插入到控制台输出流里。

在 cout 的前面的 std:: 代码与所谓的命名空间 (namespace) 有关。如果不希望在代码里总要写 std:: 的话,可以在 #include <iostream> 底下添加一行 using namespace std; 表示使用 std 这个命名空间,所以这样一来就可以省去 std:: 的书写。

下面用 g++ 来编译这个程序,和 gcc 的用法一样,唯一不一样的就是 gcc 和 g++ 这个名字的却别以及 C++ 源代码文件会被写成 *.cpp :
g++ hello.cpp -o hello
$ ./hello
Hello world!





欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2