当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

清华大学:《粒子物理与核物理实验中的数据分析》课程教学资源(PPT讲稿)第一讲 Linux环境下编程(二)

资源类别:文库,文档格式:PPT,文档页数:79,文件大小:744.5KB,团购合买
◼ 介绍C++与Linux下C++编译 g++, gmake ◼ C++的基本概念 变量,类型与表达式 循环,类型设置,函数 文件与流程 数组,字符串,指针 类,面向对象设计介绍(重点) 内存分配,算符使用与模版 继承关系,标准C++程序库,编译,查错 ◼ 如何进入并使用ROOT程序包
点击下载完整版文档(PPT)

粒子物理与校物理奥验中的数据 分析 杨振伟 清华大学 第一讲: Linux环境下编程(2)

粒子物理与核物理实验中的数据 分析 杨振伟 清华大学 第一讲: Linux环境下编程(2)

上讲回顾(1) ■ Linux简介 发行版, Scientific LinUx cerM(SLC, 强大的命令行模式 ■登录 Linux服务器 从 Linux登录 ssh[-Xyangzi@training,hep.tsinghua.edu.cn 从 Windows登录: 使用SSh客户端程序( XManager, Securecrt, putty….) 2021/1/29

2021/1/29 2 上讲回顾(1) ◼ Linux简介 发行版,Scientific Linux CERN(SLC), 强大的命令行模式 ◼ 登录Linux服务器 从Linux登录: ssh [-X] yangzw@training.hep.tsinghua.edu.cn 从Windows登录: 使用ssh客户端程序(XManager,SecureCRT, putty...)

上讲回顾(2) ■ Linux常用命令 帮助、查找相关 man, find, grep, locate 目录相关 IS, cd, pwd, mkdir, rm, rmdir 复制、更名、压缩相关 cp. mv. tar 查看文件相关 less. more cat head tail 编辑文件相关: VI,emacs, nano, pIco 其它 echo, sed, wc, history, du, chmod, chown, date, file 2021/1/29

2021/1/29 3 上讲回顾(2) ◼ Linux常用命令 帮助、查找相关: man, find, grep, locate, ... 目录相关: ls, cd, pwd, mkdir, rm, rmdir,... 复制、更名、压缩相关: cp, mv, tar... 查看文件相关: less, more, cat, head, tail,... 编辑文件相关: vi, emacs, nano, pico,... 其它: echo, sed, wc, history, du, chmod, chown,date, file

上讲回顾(3) ■ Shell、环境变量、脚本编程 脚本中定义变量、判断语句、循环语句 PATH HOME. PWD. USER GROUP bash export MYDIR=/projects/yangzw/examples tcsh setenv Mydir /projects/yangzw/examples ■ Linux下的文本编辑器 emacs,vi,etc) 要学会熟练使用某种编辑器.不要把它们当成 己事本使用,编程与一般的文档输入不同.强 大的编辑器可以使编程变得高效 2021/1/29 4

2021/1/29 4 上讲回顾(3) ◼ Shell、环境变量、脚本编程 脚本中定义变量、判断语句、循环语句... PATH, HOME, PWD, USER, GROUP, ... bash export MYDIR=/projects/yangzw/examples tcsh setenv MYDIR /projects/yangzw/examples ◼ Linux下的文本编辑器(emacs, vi, etc) 要学会熟练使用某种编辑器,不要把它们当成 记事本使用,编程与一般的文档输入不同,强 大的编辑器可以使编程变得高效

http://hep.tsinghua.edu.cn/nt Course DataAna/examples/ SHELL例子回顾 #!/bin /bash to run:. /ex1 45. sh 5 指定bash,运行时需要加参数:#!开头 if [ $1 ]; then 如果没有指定参数,则退出:参数和分号的使用 echo para needed" exit 如果目录不存在,新建相应的目录。定义环境变 if [ -d/projects/sUSER/try ] then 量,进入该目录:目录判断和 mkdir-p的使用 mkdir-p/projects/USER/try export DR=/projects/USER/try: cd sDR 让变量在ls$DR的结果中循环,判断$是否为 ####for loop#### 文件,若是则修改文件权限为用户可rwx,其他 for i in Is sDR 人只能r:for循环,文件判断,修改权限的使用 do if -f si ]i then chmod 744 si; fi 强制删除try*htm文件。初始化变量n,N。让 done n从1循环到N,每次新建一个htm文件,比如 ####while loop### rm -f try * htmi n=l; N=$1 try1htm。往文件中写入4行信息。(注:\n表 while(($n$NAME‖被解释为//")}: while循环,\n换行,sed用 cho line4.>> SNAME 法,特殊字符和转义符的使用 sed -i s/A/\\//g"$NAME let n+=1 done 将目录中所有htm文件改名为htm文件,显示 rename .htm html *k,htm 参数$0$1和系统时间: rename,date的使用 echo" parO: $ o par1: $1 i date 2021/1/29 注:脚本位于/ projects/ yangzi/ scripts

2021/1/29 5 #!/bin/bash SHELL例子回顾 # to run: ./ex1_45.sh 5 if [ ! $1 ]; then echo “para needed”; exit fi if [ ! –d /projects/$USER/try ]; then mkdir –p /projects/$USER/try fi export DR=/projects/$USER/try; cd $DR ####for loop#### for i in `ls $DR` do if [ -f $i ]; then chmod 744 $i; fi done ####while loop### rm –f try*.html; n=1; N=$1 while (( $n $NAME echo “line4...” >> $NAME sed –i “s/^/\/\//g” $NAME let n+=1 done rename .htm .html *.htm echo “par0: $0 par1: $1”; date 指定bash,运行时需要加参数:#!开头 如果没有指定参数,则退出:参数和分号的使用 如果目录不存在,新建相应的目录。定义环境变 量,进入该目录:目录判断和mkdir –p的使用 让变量i在ls $DR的结果中循环,判断$i是否为 文件,若是则修改文件权限为用户可rwx,其他 人只能r:for循环,文件判断,修改权限的使用 强制删除try*.html文件。初始化变量n,N。让 n从1循环到N,每次新建一个.htm文件,比如 try1.htm。往文件中写入4行信息。(注:\n表 示换行。)在文件所有行前面加上”//”(可用于 C/C++程序的注释)。(注:”/”为特殊字符,在 正规表达式中要用”\”进行转义,比如”\/\/” 被解释为“//”):while循环,\n换行,sed用 法,特殊字符和转义符的使用 将目录中所有.htm文件改名为.html文件,显示 参数$0,$1和系统时间:rename, date的使用 注:脚本位于/projects/yangzw/scripts/ http://hep.tsinghua.edu.cn/~yangzw/ CourseDataAna/examples/

本讲摘要 ■介绍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 using name space std int main o[ cout ./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 using namespace std; int main(){ cout ./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!!!!!!

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共79页,可试读20页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有