C++简介
C++ 是一种静态类型(使用静态类型的编程语言是在编译时执行类型检查)的、编译式的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。它被认为是一种中级语言。 C 的一个超集,任何合法的 C 程序都是合法的 C++ 程序。
C++ 是完全支持面向对象,具有面向对象的四大特性:
- 封装
- 抽象
- 继承
- 多态
标准的 C++ 由三个重要部分组成:
- 核心语言,提供了所有构件块,包括变量、数据类型和常量,等等。
- C++ 标准库,提供了大量的函数,用于操作文件、字符串等。
- 标准模板库(STL),提供了大量的方法,用于操作数据结构等。
g++ 应用说明
g++ 是将 gcc 默认语言设为 C++ ,是编译链接C++程序的工具,并且自动使用 C++ 标准库。
编译:
单文件编译:
$ g++ helloworld.cpp
多文件编译:
$ g++ runoob1.cpp runoob2.cpp
生成指定的可执行C++文件:
$ g++ helloworld.cpp -o helloworld
和
$ g++ runoob1.cpp runoob2.cpp -o runoob
运行可执行文件:
未指定生成的可执行文件名:
$ ./a.out
Hello, world!
指定可执行文件名:
$ ./helloworld
Hello, world!
g++ 常用命令选项
选项 | 解释 |
-ansi | 只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色, 例如 asm 或 typeof 关键词。 |
-c | 只编译并生成目标文件。 |
-DMACRO | 以字符串"1"定义 MACRO 宏。 |
-DMACRO=DEFN | 以字符串"DEFN"定义 MACRO 宏。 |
-E | 只运行 C 预编译器。 |
-g | 生成调试信息。GNU 调试器可利用该信息。 |
-IDIRECTORY | 指定额外的头文件搜索路径DIRECTORY。 |
-LDIRECTORY | 指定额外的函数库搜索路径DIRECTORY。 |
-lLIBRARY | 连接时搜索指定的函数库LIBRARY。 |
-m486 | 针对 486 进行代码优化。 |
-o | FILE 生成指定的输出文件。用在生成可执行文件时。 |
-O0 | 不进行优化处理。 |
-O | 或 -O1 优化生成代码。 |
-O2 | 进一步优化。 |
-O3 | 比 -O2 更进一步优化,包括 inline 函数。 |
-shared | 生成共享目标文件。通常用在建立共享库时。 |
-static | 禁止使用共享连接。 |
-UMACRO | 取消对 MACRO 宏的定义。 |
-w | 不生成任何警告信息。 |
-Wall | 生成所有警告信息。 |