




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux环境下C 语言编程这里向大家介绍一下在Linux/UNIX 的机器上,进行 C/C+ 编程的一些入门级知识。 所需具备的背景知识 开发所需的基本环境 获得帮助的途径 通过一个实例了解基本步骤Prerequisite 先决条件:在Linux上编写 C 程序,至少要熟悉以下两方面的基础知识:1 C语言的编程基础,至少要知道一些基本的语法,控制流程等编程常识。对常用的标准 C 函数库有常识性的了解。2 对Linux/UNIX 的操作有常识性的了解,掌握常用的shell 命令,如 ls, cat, cp, mkdir etc.Environment 所需环境:1 Linux/ Unix 的操作系统,也可以使用windows下的cygwin。我们这里讨论的都是通过shell命令行进行操作的。那如果进入了图形界面的Linux 怎么办呢?只要打开一个终端命令,就和命令行环境完全一样了(打开开始菜单可以找到终端命令)。2 必备的开发工具:1) 输入程序需要一个编辑器。常用的有 vi , emacs. 在命令行上输入 vi, emacs, 就可进入编辑环境关于 vi 关于 EMACS 2) C语言的编译器。常用的是GNU的c语言编译器 gcc(编译 C 程序), g+(编译 C +程序)。关于 gcc / g+ 关于 makefile 用于简化编译过程这里有一片入门文章 Linux下C语言编程基础知识,可以先看一下3) 调试程序的常用工具:gdb.关于 gdbGet help获得帮助:关于 Linux 的文档是非常丰富的。最快捷,方便,全面的资料就在你的机器里,不要浪费。在命令行上输入shell命令 man 或者 info: $man gcc 这个命令可以获得GNU 的C语言编译器的文档。当然,他们是英文的。看Basic steps 基本步骤:1 输入源代码2 编译,链接,运行3 调试程序我们从最基本的 hello world 程序开始,实际操作一下:1 输入源代码引用 $ emacs hello.c 进入emacs 编辑器环境#include 如果你看不懂这个函数,就去好好的看c语言的书int main()printf(“Hello World.n”); Emacs环境下,按下 Tab 键,有自动缩进功能exit(0); 完成输入后,按住CTRL 键,按下 x, 再按下 c , 最后松开 CTRL。 程序保留并退出emacs 环境。 2 编译,链接,运行引用 $ gcc o hello hello.c$ ./hello ./ 指明了所执行程序的路径Hello World. $ 一个linux平台上的c程序开发已经完成咯3 调试如果要使用 gdb 调试程序,那么在上一步编译的时候,记得加上 g 选项引用 $ gcc g o hello hello.c$ gdb hello 进入 gdb 调试环境 4. CVS版本控制软件 协同工作和保留版本的工具关于 CVS这里向大家介绍一下在Linux/UNIX 的机器上,进行 C/C+ 编程的一些入门级知识。 所需具备的背景知识 开发所需的基本环境 获得帮助的途径 通过一个实例了解基本步骤Prerequisite 先决条件:在Linux上编写 C 程序,至少要熟悉以下两方面的基础知识:1 C语言的编程基础,至少要知道一些基本的语法,控制流程等编程常识。对常用的标准 C 函数库有常识性的了解。2 对Linux/UNIX 的操作有常识性的了解,掌握常用的shell 命令,如 ls, cat, cp, mkdir etc.Environment 所需环境:1 Linux/ Unix 的操作系统,也可以使用windows下的cygwin。我们这里讨论的都是通过shell命令行进行操作的。那如果进入了图形界面的Linux 怎么办呢?只要打开一个终端命令,就和命令行环境完全一样了(打开开始菜单可以找到终端命令)。2 必备的开发工具:1) 输入程序需要一个编辑器。常用的有 vi , emacs. 在命令行上输入 vi, emacs, 就可进入编辑环境关于 vi 关于 EMACS 2) C语言的编译器。常用的是GNU的c语言编译器 gcc(编译 C 程序), g+(编译 C +程序)。关于 gcc / g+ 关于 makefile 用于简化编译过程这里有一片入门文章 Linux下C语言编程基础知识,可以先看一下3) 调试程序的常用工具:gdb.关于 gdbGet help获得帮助:关于 Linux 的文档是非常丰富的。最快捷,方便,全面的资料就在你的机器里,不要浪费。在命令行上输入shell命令 man 或者 info: $man gcc 这个命令可以获得GNU 的C语言编译器的文档。当然,他们是英文的。关于 man关于 info网络上的资源也很多,多得以至于不知道什么才是自己最需要的。关于如何获得有价值的信息看一下 loveunix 上的相关资源 无双补充的一些Linux下入门编程资料 Basic steps 基本步骤:1 输入源代码2 编译,链接,运行3 调试程序我们从最基本的 hello world 程序开始,实际操作一下:1 输入源代码引用 $ emacs hello.c 进入emacs 编辑器环境#include 如果你看不懂这个函数,就去好好的看c语言的书int main()printf(“Hello World.n”); Emacs环境下,按下 Tab 键,有自动缩进功能exit(0); 完成输入后,按住CTRL 键,按下 x, 再按下 c , 最后松开 CTRL。 程序保留并退出emacs 环境。 2 编译,链接,运行引用 $ gcc o hello hello.c$ ./hello ./ 指明了所执行程序的路径Hello World. $ 一个linux平台上的c程序开发已经完成咯3 调试如果要使用 gdb 调试程序,那么在上一步编译的时候,记得加上 g 选项引用 $ gcc g o hello hello.c$ gdb hello 进入 gdb 调试环境 4. CVS版本控制软件 协同工作和保留版本的工具关于 CVS一,VI:常用的源代码编辑命令。vi hello.c 在当前目录下生成hello.c,并进入命令模式在命令模式下,不能输入,可以完成删除,复制,粘贴等操作。1)按i 或a或o进入插入模式,可以键入字符,一般用i; a与o稍有不同。2)键dd删除光标所在行3)数字(n)+dd删除光标开始向下n行4)数字(n)+yy复制光标开始向下n行5) p 粘贴到光标处6)u 撤消上次操作在插入模式下,按ESC进入底行模式,主要进行存盘和退出之类的操作1) :wq 最常用,保存并退出2):w filename 保存或另存3):q! 强退出VI二 gcc常见用法:1)gcc -E hello.c -o hello.i /预处理2)gcc -S hello.i -o hello.s /编译成汇编语言文件3)gcc -c hello.s -o hello.o /汇编成目标代码4)gcc -c hello.c -o hello.o /直接生成目标代码文件5)gcc hello.c -o hello /直接生成可执行文件6)gcc hello1.o hello2.o -o hello /链接生成可执行文件常见选项 :1) -g 生成GDB调试信息,用GDB工具此项必有2) -I dir 编译过程中包括指定目录下的头文件3) -L dir 可能需要到dir处链接库文件4) -llibrary 链接动态libaray库。通常不带库名的前三个字母(lib),如 -lhello表示链接libhello.so动态库5)-static 链接静态库6) -Wall 允许所有有用的警告7) -O (-O2或-O3)进行代码优化(分三级) ,一般不用在调试阶段三 Gdb调试常见用法gdb hello 进入调试 。编译时一定带-g选项。常用操作:1) l (list) 查看源代码2) b(breakpoint) n :在第n 行设置断点3) r (run) 运行4) n(next) 单步执行,不进入函数内部,相当于VC下F105) s(step) 单步执行,进入函数内部,相当于F116) c(contiue) 继续执行,从当前运行处到下一个断点或者程序结束。7) p var :查看变量var的当前值8)finish 运行到程序结束跟断点相关的有用命令:1)info b 查看所有设置的断点的相关信息2) b function 在function函数所在行设置断点3) b 行数或函数名 if 表达式 满足表达式时运行中断 4) delet
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 培训课件保密审查
- 2025年环保型建材绿色建筑项目施工合作协议书
- 2025年新能源汽车电子部件OEM委托加工与服务协议
- 2025年五星级酒店智能化安保系统设计与实施合同
- 2025年度茶艺体验中心茶艺表演及租赁用品服务合同
- 郑州高新技术产业开发区科技创新项目合作开发合同
- 2025年教育单位消防设施更新与日常维护服务协议
- 2025年教育机构后勤设施装修质量检测与长效维护服务合同
- 2025智能校园学生健康监测与紧急援助服务合同
- 2025年新能源项目投资风险控制合作协议
- 财务岗笔试试题及答案
- 鱼油制品质量控制-全面剖析
- 耳石症课件教学课件
- 2025年人教版小学四年级下册奥林匹克数学竞赛试卷(附参考答案)
- 语音主播协议合同
- 蜜雪冰城加盟合同(2025年版)
- 河道人工保洁作业指导书
- (一模)2025年3月济南市2025届高三模拟考试历史试卷(含答案解析)
- 拆除重建工程施工方案
- 油田突发污染事件应急预案
- Codesys培训课件教学课件
评论
0/150
提交评论