本讲摘要 ■介绍C++与 Linux下C++编译 g+t gmake ■C++的基本概念 变量类型与表达式 概练Q在不 念习土例系 循环类型设置函数 的后关子统 文件与流程 简面键中介 数组字符串指针 单附概学绍 介录分习 类面向对象设计介绍(重点) 绍了使 内存分配算符使用与模版 这用 此 继承关系标准C++程序库编译查错 ■如何进入并使用ROOT程序包 2021/1/29 6
2021/1/29 6 本讲摘要 ◼ 介绍C++与Linux下C++编译 g++, gmake ◼ C++的基本概念 变量,类型与表达式 循环,类型设置,函数 文件与流程 数组,字符串,指针 类,面向对象设计介绍(重点) 内存分配,算符使用与模版 继承关系,标准C++程序库,编译,查错 ◼ 如何进入并使用ROOT程序包 不 系 统 介 绍 , 在 例 子 中 学 习 使 用 C++ 关 键 概 念 练 习 后 面 附 录 了 这 些 概 念 的 简 单 介 绍
C++的历史简介 C++源自C,最先由 Bjarne Stroustrup于80年代早期完成 1998年正式标准化,成为今天的C++。 ■全面兼容C 它保持了C的简洁、高效和接近汇编语言等特 点 ■对C的类型系统进行了改革和扩充 ■C++也支持面向过程的程序设计,不是一个纯 正的面向对象的语言 支持面向对象的方法 类( class)的概念:与C语言的最大区别!! 2021/1/29
2021/1/29 7 C++的历史简介 C++ 源自 C,最先由 Bjarne Stroustrup 于 80 年代早期完成 1998年正式标准化,成为今天的C++。 ◼ 全面兼容C ◼ 它保持了C的简洁、高效和接近汇编语言等特 点 ◼ 对C的类型系统进行了改革和扩充 ◼ C++也支持面向过程的程序设计,不是一个纯 正的面向对象的语言 ◼ 支持面向对象的方法 类(class)的概念:与C语言的最大区别!!
如何编译并执行一个C十+程序 wyangzw/examples /Lec2/example21HelloWorld. CC 首先用 emacsⅥi.编写包含以下内容的文件e11。Wor1d.cc // My first C++ program #include <iostream> using name space std int main o[ cout < Hello World! < endl; return 0 然后对文件进行编译形成机器可读的代码 ++ -o HelloWorld Helloworld. cc 调用编译器(gc0)输出的文件名 源代码 最后执行程序 提示静>./Be11oMor1←用户键入(注意:>为系统提示符) Hello world! 一计算机显示结果 2021/1/29
2021/1/29 8 如何编译并执行一个C++程序 ~yangzw/examples/Lec2/example21/HelloWorld.cc 首先用emacs/vi, 编写包含以下内容的文件 HelloWorld.cc // My first C++ program #include <iostream> using namespace std; int main(){ cout << "Hello World!" << endl; return 0; } 然后对文件进行编译形成机器可读的代码: g++ -o HelloWorld HelloWorld.cc 调用编译器(gcc) 输出的文件名 源代码 最后执行程序 提示符>./HelloWorl ← 用户键入(注意:>为系统提示符) Hello World! ← 计算机显示结果
在编译与链接中应注意的事项 g++ -o HelloWorldHelloWorld.cc 是把编译与链接结合在一起的简化方式,是下列指令的组合 g++ -c HelloWorld.cc 编译器(-c)先产生He11oWor1d.o目标文件,然后采用下 面的指令链接目标文件 g++ -o HelloWorld HelloWorld.o 如果程序包含多个源文件,可将它们一一列出,并用空格 区分;结尾用\来起新的 g++ -o HelloWorld HelloWorld. cc Bonjour. cc GruessGott. cc YoUde. cc 提示行中键入mang++可以查看g十+命令的各个参数及用法 2021/1/29
2021/1/29 9 在编译与链接中应注意的事项 g++ -o HelloWorld HelloWorld.cc 是把编译与链接结合在一起的简化方式,是下列指令的组合 g++ -c HelloWorld.cc 编译器 (-c) 先产生 HelloWorld.o 目标文件,然后采用下 面的指令链接目标文件 g++ -o HelloWorld HelloWorld.o 如果程序包含多个源文件,可将它们一一列出,并用空格 区分;结尾用 \ 来起新的一行 g++ -o HelloWorld HelloWorld.cc Bonjour.cc \ GruessGott.cc YoDude.cc 提示行中键入man g++可以查看g++命令的各个参数及用法
在编译与链接中还应注意的事项 1)通常给每一个程序产生一个新目录 所有的例子以及练习都保存好,以备将来查用,目录或 者文件名字要尽量有意义。并做好记录。记录这些文件夹 或文件的主要功能。该建议不限于C十十程序,适用于所有例 子和练习】学习的开始阶段做好笔记非常重要! 2)对小的程序可以采用手工键入编译指令 3)对稍微大一些的程序项目,应采用写hell脚本的方法把 编译程序所需的指令统统包含进去 #!/bin /bash if File build.sh to build Hellloworld 9++ -o HelloWorld Helloworld. cc Bonjour. cc Gruess Gott cc YoUde. cc 4)更好的办法是使用 GNU make的 makefile!!!!! 2021/1/29 10
2021/1/29 10 在编译与链接中还应注意的事项 1)通常给每一个程序产生一个新目录 【所有的例子以及练习都保存好,以备将来查用,目录或 者文件名字要尽量有意义,并做好记录,记录这些文件夹 或文件的主要功能。该建议不限于c++程序,适用于所有例 子和练习】学习的开始阶段做好笔记非常重要! 2)对小的程序可以采用手工键入编译指令 3)对稍微大一些的程序项目,应采用写 shell 脚本的方法把 编译程序所需的指令统统包含进去: #!/bin/bash # File build.sh to build HelloWorld g++ -o HelloWorld HelloWorld.cc Bonjour.cc \ GruessGott.cc YoDude.cc 4)更好的办法是使用GNU make 的 makefile!!!!!!