01-开发工具安装,系统配置,makefile.ppt
《01-开发工具安装,系统配置,makefile.ppt》由会员分享,可在线阅读,更多相关《01-开发工具安装,系统配置,makefile.ppt(43页珍藏版)》请在三一文库上搜索。
1、Linux培训讲义,基于Ubuntu,RHEL 1. 系统配置,makefile,教学内容,Linux下开发语言的选择 Linux的环境变量 Java环境配置 C+环境配置 开发环境选择 IDE vs 编辑器 makefile,Linux开发语言的选择,主流的可选择的主流开发语言清单:,Linux开发语言的选择,我们会用到的语言: c Linux的母语 c+ 高效的兼容c的面向对象语言 Java “跨平台设计良好的oo语言” Python 跨平台用来替代传统脚本的脚本 bash(shell) 最古老的脚本语言,Linux的环境变量,什么是环境变量 环境变量一般是指在操作系统中用来指定操作系统运
2、行环境的一些参数。 常用的环境变量 PATH 操作系统用来搜索文件的默认路径 PWD 当前工作目录,Linux的环境变量,设置环境变量 export 命令 例子:export test=value /etc/profile 启动计算机生效 .bashrc文件 登录之后生效 显示环境变量 显示全部环境变量:env命令 显示某个环境变量:echo变量名,Java环境配置,下载JDK 使用1.6+比较好。 解压到指定目录 设置环境变量:三个 JAVA_HOME=/data/Development/java/ PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HO
3、ME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH 测试:java -v,hello world 注意把新添加的JDK的bin目录追加在$PATH的最前面,这样当系统中安装有多个JDK版本时,程序会优先搜寻排在最前面的JDK版本。,C+环境配置,使用包管理器安装 yum或者apt-get安装。 yum: yum install gcc gcc-c+ apt-get: apt-get intall build-essential 自己编译一个gcc/g+ 不推荐,时间太长,容易出错 测试环境:gcc v,g+ -v,hello world,开发环境
4、选择 IDE vs 编辑器,可选的IDE: eclipse +CDT,pyDev等。 code:blocks codelite anjunta Kdevelop 我们主要以eclipse为主。,开发环境选择 IDE vs 编辑器,eclipse+CDT的安装方法 下载eclipse for linux 解压到指定位置 下载CDT,放到eclipse的目录下 配置eclipse环境建立连接,代码格式等 测试环境Java工程,C+工程,开发环境选择 IDE vs 编辑器,可选的编辑器: emacs vim gedit Kate 我们主要以vim和gedit为主,makefile,回顾:C/C+代码
5、是怎么变成程序的 预处理 编译 连接 生成汇编代码 生成机器码,makefile,问题提出: 当一个工程有很多源文件 文件依赖,编译繁琐,需要重新编译很多 gcc/g+编译器 make工具 makefile,makefile,依赖关系 依赖关系定义了最终应用程序的每个文件和源文件之间的关系。 在makefile中这些规则的写法如下: target: file1 file2 注意冒号后面的空格,文件之间的空格,makefile,依赖关系例子: myapp: main.o 2.o 3.o main.o: main.c main.c a.h 2.o: 2.c a.h b.h 3.o: 2.c b.h
6、 c.h,makefile,规则 规则定义了目标的生成方式,上面的例子中,要怎样重新生成2.o呢?正常情况下只需要用 gcc -c 2.c 但是如果需要指定头文件目录,或者为了今后的调试需要设置符号信息选项该怎么做? 注意:规则所在的行必须用制表符tab开头,否则会导致make错误。,makefile,make命令的选项和参数 k当make命令遇到错误的时候继续执行 n让make输出将要执行的操作步骤 f指定makefile的文件名,makefile,简单的makefile myapp: main.o 2.o 3.o gcc -o myapp main.o 2.o 3.o main.o: ma
7、in.c a.h gcc -c main.c 2.o: 2.c a.h b.h gcc -c 2.c 3.o: 3.c b.h c.h gcc -c 3.c make -f Makefile,makefile,make处理makefile文件中的依赖关系,确定需要创建的文件以及创建顺序。虽然上面把myapp放在最前面,但是make能判断出创建文件的正确顺序。它调用在规则部分给出的命令用来创建相应的文件,同时会在执行时在屏幕上将命令显示出来。 测试:改变一个源文件看看makefile能否处理这个情况。,makefile,makefile中的注释 makefile中的注释以#开头,一直延续到这一行
8、的结束,同C/C+的行注释/类似。,makefile,问题的产生: 上面基本上已经介绍了makefile的全部内容,但是在实际项目使用中还有一定的问题,比如项目中需要在不同的平台上更换编译器,项目目录结构发生变化等。 宏: 定义:macro=value 取消:macro= 引用:$macro,makefile,宏的作用: 设置编译器的选项 消除编译过程中的硬编码(hard code) 使用宏的makefile例子,makefile,all: myapp #which compiler CC = gcc #where are include files kept INCLUDE = . #opt
9、ions for development CFLAGS = -g -Wall -ansi #options for release #CFLAGS = -Wall -ansi myapp: main.o 2.o 3.o $CC -I$INCLUDE -o myapp main.o 2.o 3.o main.o: main.c a.h $CC -I$INCLUDE -c main.c 2.o: 2.c a.h b.h $CC -I$INCLUDE -c 2.c 3.o: 3.c b.h c.h $CC -I$INCLUDE -c 3.c,makefile,makefile的内置宏 $?: 列出当
10、前目标所依赖的文件列表中比当前目标文件还要新的文件 $: 当前目标的名字 $: 当前依赖文件的名字 $*: 不包括后缀名的当前依赖文件的名字,makefile,多个目标 通常需要制作的目标文件不止一个,或者希望将多个规则集中到一处执行,通过扩展makefile即可达到这一目的。 例子: 给上面的例子增加两个选项: clean用来清除不需要的目标文件 Install用来将编译好的目标放到指定目录,makefile,INSTDIR = /usr/local/bin #where are include files kept INCLUDE = . #options for development
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 01 开发 工具 安装 系统配置 makefile
链接地址:https://www.31doc.com/p-3455359.html