NYIST-linux应用开发实验指导书

上传人:206****923 文档编号:88626683 上传时间:2019-05-05 格式:DOC 页数:29 大小:202.50KB
返回 下载 相关 举报
NYIST-linux应用开发实验指导书_第1页
第1页 / 共29页
NYIST-linux应用开发实验指导书_第2页
第2页 / 共29页
NYIST-linux应用开发实验指导书_第3页
第3页 / 共29页
NYIST-linux应用开发实验指导书_第4页
第4页 / 共29页
NYIST-linux应用开发实验指导书_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《NYIST-linux应用开发实验指导书》由会员分享,可在线阅读,更多相关《NYIST-linux应用开发实验指导书(29页珍藏版)》请在金锄头文库上搜索。

1、I 南阳理工学院南阳理工学院 LINUXLINUX 应用开发上机实验指导书应用开发上机实验指导书 (2011 版) 软件学院软件工程教研室 2011.10 Linux 应用开发上机实验指导书软件学院软件工程教研室2011 版 目目 录录 实验实验 1 1 GCCGCC 编译器的使用编译器的使用1 1 实验实验 2 2:GDBGDB 调试器的使用调试器的使用2 2 实验实验 3 3:文件分割与多文件编译:文件分割与多文件编译 4 4 实验实验 4 4 LINUXLINUX 环境下函数的使用环境下函数的使用6 6 实验实验 5 5 LINUXLINUX 环境下对文件的操作环境下对文件的操作7 7

2、实验实验 6 6 串行通信串行通信8 8 实验实验 7 7 进程控制进程控制9 9 实验实验 8 8 进程间的通信进程间的通信1111 实验实验 9 9 网络程序设计网络程序设计1212 实验实验 1010 LINUXLINUX 下下 SDLSDL 库的使用库的使用1313 实验实验 1010 LINUXLINUX 下下 SDLSDL 库的使用库的使用1313 实验实验 1111 数据库编程数据库编程 1414 Linux 应用开发上机实验指导书软件学院软件工程教研室2011 版 1 实验实验 1 1 gccgcc 编译器的使用编译器的使用 一、实验目的一、实验目的 1熟悉开发环境,掌握 li

3、nux C 程序设计的基本步骤; 2编制简单 C 程序并运行,熟悉 gcc 的编辑、编译、连接和运行过程 3熟悉 gcc 编译器的使用 二、实验内容及步骤二、实验内容及步骤 1. 检查所用的计算机系统是否已安装了 gcc 编译器。 2使用 vi 文本编辑器编写源程序代码,可在终端输出如下:vim 1-1.c。 3输入并运行一个简单的、正确的程序。 在文本编辑器中,输入下面的程序 #include int main() printf(“This is the first linux c program.n”); return 0; 在终端输出:gcc 1-1.c o 1-1,对程序进行编译。 运

4、行程序:在终端输入./1-1。 4编写一个简单的C语言程序:根据输入的两个整数求平均值并且在终端输出,通过 gcc编译器得到它的汇编程序文件。 在文本编辑器中编写源代码。 用 gcc 的“-E”参数预处理,生成预处理的源程序文件。 接着用 gcc 的“-S”参数编译,生成汇编语言程序文件。 三、实验要求三、实验要求 1实验中仔细观察、记录、比较实验结果,如果不一致应找出原因。 2编写的程序必须保存在/usr/用户目录中。注:用户目录可以用学号或姓名拼音简写。 #include int main() int i,j; float avg; printf(“请输入第一个数:“); Linux 应用

5、开发上机实验指导书软件学院软件工程教研室2011 版 2 scanf(“%d“, printf(“请输入第二个数:“); scanf(“%d“, avg=(float)(i+j)/2; printf(“平均数是%fn“,avg); rootlocalhost hl#gcc 1-4.c -o 1-4.i -E rootlocalhost hl#gcc 1-4.i -o 1-4.s S rootlocalhost hl#gcc 1-4.s -o 1-4.o C rootlocalhost hl#gcc 1-4.o -o 1-4 rootlocalhost hl#./1-4 结果: 请输入第一个数:

6、11 请输入第二个数:10 平均数是:10.500000 Linux 应用开发上机实验指导书软件学院软件工程教研室2011 版 3 实验实验 2 2:gdbgdb 调试器的使用调试器的使用 一、实验目的一、实验目的 1掌握 gdb 调试器的使用 2了解软件调试的一般步骤 二、实验内容及步骤二、实验内容及步骤 编写一个 C 语言程序:打印输出所有“水仙花数” ,用 gdb 调试程序(给出 步骤) 。所谓“水仙花数”是指一个 3 位数,其各位数字立方和等于该数本身。 所谓“水仙花数”是指一个 3 位数,其各位数字立方和等于概述本身,例如, 153 是一个水仙花数,因为 153=13+53+33。

7、设计编辑源程序代码。 用 gcc 编译程序。在编译的时候要加上“-g” 。这样编译出的可执行代码 中才包含调试信息,否则之后的 gdb 无法载入该可执行文件。 进入 gdb 调试环境。输入如下:gdb 文件名 gdb 是命令调试环境,调试程序都在提示符“(gdb) ”后输入相应的命令, 常用的 gdb 命令如下: 用 gdb 调试程序。 1) 查看源文件,在 gdb 中输入“l”就可以查看源程序代码,一次显示 10 行。 2) 设置断点,在 gdb 中输入“break”后面跟上行号或函数名。 3) 查看断点信息,设置完断点后,在 gdb 中输入“info b”就可以查看 断点信息。 Linux

8、 应用开发上机实验指导书软件学院软件工程教研室2011 版 4 4) 运行程序,在 gdb 中输入“run”就可以运行程序了。 三、实验要求三、实验要求 1要求实验前手工计算并编制好上机测试用源程序,以便上机实验。 2要求实验前分析程序结果,以便上机时对比结果。 3实验中仔细观察、记录、比较实验结果,如果不一致应找出原因。 4编写的程序必须保存在/usr/用户目录中。注:用户目录可以用学号或 姓名拼音简写。 #include“stdio.h“ int main() for(int i=1; i float avg(int a,int i); int main() int i,j; float

9、pj; printf(“请输入整数个数:“); scanf(“%d“, int ai; for(j=0;j #include int main() float a,b,c; char d; srand(time(0); a=(float)rand(); b=(float)rand(); printf(“请输入运算符+、-、*或/:“); scanf(“%c“, switch(d) case + : c=a+b;break; case - : c=a-b;break; case * : c=a*b;break; case / : c=a/b;break; printf(“随机数是:%.3f,%.

10、3f 结果是%.3fn“,a,b,c); return 0; rootlocalhost 4# vim 4-2 rootlocalhost 4# gcc 4-2.c -o 4-2 rootlocalhost 4# ./4-2 Linux 应用开发上机实验指导书软件学院软件工程教研室2011 版 11 请输入运算符+、-、*或/:/ 随机数是:603871232.000,651982208.000 结果是 0.926 4-3: #include “stdio.h“ #include #include int main() int i,j; srand(int)time(0); for(i=0;i

11、 main() char c; int i=0; while (c=getchar()!=n) if(ispunct(c) printf(“%c 是标点符号或特殊字符!n“,c); i+; if(i=0) printf(“没有标点符号或特殊字符!n“); rootlocalhost 4# vim 4-4.c rootlocalhost 4# gcc 4-4.c -o 4-4 rootlocalhost 4# ./4-4 Linux 应用开发上机实验指导书软件学院软件工程教研室2011 版 12 Fhdk struct timezone tz; int n,i,k,m; printf(“请输入一

12、个大于 2 的数:“); scanf(“%d“, gettimeofday( for(i=2;i=i) printf(“%d “,i); printf(“n“); gettimeofday( printf(“2n 用时%d 毫秒n“,t_end.tv_usec-t_begin.tv_usec); gettimeofday( for(i=2;i=m) printf(“%d “,i); printf(“n“); gettimeofday( printf(“2sqrt(n)用时%d 毫秒n“,t_end.tv_usec-t_begin.tv_usec); return 0; Linux 应用开发上机

13、实验指导书软件学院软件工程教研室2011 版 13 rootlocalhost 4# gcc 4-6.c -o 4-6 -lm rootlocalhost 4# ./4-6 请输入一个大于 2 的数:30 2 3 5 7 11 13 17 19 23 29 2n 用 时 38 毫秒 2 3 5 7 11 13 17 19 23 29 2sqrt(n)用 时 11 毫秒 4-7: #include #include int paixu(const void *a,const void *b) int *aa=(int *)a; int *bb=(int *)b; if(*aa*bb)return

14、 1; if(*aa=*bb)return 0; if(*aa #include #include int main() int fd,fd1; fd=open(“pass“,O_RDONLY); if(fd0) printf(“创建成功!n“); else printf(“创建失败!n“); return 0; rootlocalhost 4# gcc 5-1.c -o 5-1 rootlocalhost 4# ./5-1 没有这个文件 正在创建这个文件 创建成功! rootlocalhost 4# ./5-1 文件已打开! 5-2: #include #include #include #

15、include int main() int fd; char buf20=“Linux 下 c 软件设计“; fd=open(“hello.c“,O_CREAT|O_WRONLY); write(fd,buf,sizeof(buf); close(fd); printf(“写入成功/n“); return 0; rootlocalhost 5# gcc 5-2.c -o 5-2 rootlocalhost 5# ./5-2 写入成功 5-3: #include #include #include int main() Linux 应用开发上机实验指导书软件学院软件工程教研室2011 版 17 int fd; char buf40; fd=open(“/etc/passwd“,O_RDONLY); read(fd,buf,sizeof(buf); close(fd); printf(“%sn“,buf); rootlocalhost 5# gcc 5-3.c -o 5-3 rootlocalhost 5# ./5-3 root:x:0:0:root:/root:/bin/bash bin:x:1: 5-4: #include #include #include int main() int fd,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号