蚂蚁文库
换一换
首页 蚂蚁文库 > 资源分类 > PDF文档下载
 

Linux操作系统试验十-UNIXgcc编译器的使用与编程环境

  • 资源ID:55602504       资源大小:492.67KB        全文页数:7页
  • 资源格式: PDF        下载权限:游客/注册会员    下载费用:10积分 【人民币10元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: 微信快捷登录 QQ登录  
下载资源需要10积分 【人民币10元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

Linux操作系统试验十-UNIXgcc编译器的使用与编程环境

LinuxLinux 操作系统操作系统 实验报告实验报告 实验十实验十UNIX gccUNIX gcc 编译器的使编译器的使 用与编程环境用与编程环境 计算机与数据科学学院Linux 操作系统实验报告 一、实验目的一、实验目的 1掌握 gcc 和 g的用法; 2了解目标代码、库函数的使用; 3掌握静态库和共享库的构造与使用; 4掌握多模块和多语言联合开发方法; 5掌握 make 命令和 Makefile 文件的使用。 二、实验环境二、实验环境 一台装有 Windows 操作系统 PC 机,上装有虚拟机系统 VMWare,实验过程通过 VMWare 系 统启 Linux 系统工作。 三、实验内容与实验过程及分析三、实验内容与实验过程及分析 一、一、C/CC/C编程编程 1、C 语言版“Hello World” 用 vi 编辑一个名为 hello.c 的文件,其内容为 include main { printf”Hello World C\n”; } 编译并执行程序。 编译方法为 cc hello.c// 生成可执行程序 a.out cc –o hello hello.c// 生成可执行程序 hello cc –c hello.c//生成目标文件 hello.o cc –S hello.c//生成汇编语言程序 hello.s 执行程序 ./a.out执行当前目录内,刚编译生成的 a.out 程序 ./hello执行当前目录内,刚编译生成的 hello 程序 计算机与数据科学学院Linux 操作系统实验报告 2、组合编程 设有 C 语言文件 f1.c,内容为 include f1int arg{ printf”f1 you passed d\n”,arg; } C 语言文件 f2.c。内容为 include f2char *arg{ printf”f2 you passed s\n”,arg; } C 语言文件 m.c。内容为 include main{ f116; f2”Hello World”; } 请使用 vi 编辑并生成以上程序,分别用以下方法编译,观察生成文件或运行生成的可执行 程序 cc –c f1.c f2.c生成 f1.o 和 f2.o cc –S f1.c f2.c 生成 f1.s 和 f2.s;可用 vi 或 cat 查看它们的内容 cc –o mp m.c f1.c f2.c 生成 mp,执行方法为./mp cc –o m m.c f1.o f2.o 生成 m,执行方法为./m 计算机与数据科学学院Linux 操作系统实验报告 构造自己的静态库 cc–o f1.c f2.c//生成目标文件 f1.o, f2.o ar crv libmyl.a f1.o f2.o//生成库 libmyl.a ranlib libmyl.a//为子函数建立内容表 使用自己的库 cc–o mp m.c libmyl.a //使用库 libmyl.a cc –o mp m.o libmyl.a// 使用库 libmyl.a 和 m.o cc –o mp m.c -L.–lmyl // 在当前目录以默认方法使用库 myl 计算机与数据科学学院Linux 操作系统实验报告 3、构造可共享库 cc -c f1.c f2.c//生成目标文件 cc -shared -o libmy.so f1.o f2.o//由目标文件生成共享库 或cc -shared –o libmy.so –c f1.c f2.c//由源文件生成共享库 4、使用共享库 //设以下程序的文件名为 f3.c,f1.c 和 f2.c 如前 include include define SO_FILE “./libmy.so“ //共享库 libmy.so 被限定在当前目录,也可放在标准位置,但要使用 ldd 和 ldconfig 处理 main { void *sfp;char *err; inttmpi16; int *f1int ,*f2char *;//定义函数指针 sfpdlopenSO_FILE,RTLD_LAZY;//打开共享库 ifsfpNULL{ fprintfstderr,dlerror; exit1; } f1dlsymsfp,“f1“;//获取函数 f1 入口地址(指 针) errdlerror;//检查是否成功 iferr{ fprintfstderr,err; exit2; } f2dlsymsfp,“f2“;//获取函数 f2 入口地址(指 针) errdlerror;//检查是否成功 iferr{ fprintfstderr,err; exit3; } fprintfstderr,“-----------begine-------------\n“; f2“Test String“;//调用函数 f2 f1tmpi;//调用函数 f1 fprintfstderr,“end\n“; 计算机与数据科学学院Linux 操作系统实验报告 } dlclosesfp; exit0; //关闭共享库 5、Makefile 的编写与使用 (1)针对 2的 Makefile 文件 a.Makefile 文件的构造 f f1.o f2.o f3.o gcc -o f f1.o f2.o f3.o f1.o f1.c gcc –c f1.c f2.o f2.c gcc –c f2.c f3.o f3.c gcc –c f3.c 计算机与数据科学学院Linux 操作系统实验报告 b.Makefile 的使用 make生成默认(第一个)目标 make f生成目标 f make f1.o 生成目标 f1.o 四、实验总结四、实验总结 存在问题存在问题 makefile 的使用和编写频繁出现问题,对 makefile 的不熟悉,理解不透彻 解决方法解决方法 多看书,从书上找到相关问题的解决办法,对于书上没有的内容上网查 询,查看各种命令的使用方法及应用 收获收获 对进程的相关应用有了一定的认识和使用,有问题要及时询问,上网查询解 决。 五、教师评语五、教师评语

注意事项

本文(Linux操作系统试验十-UNIXgcc编译器的使用与编程环境)为本站会员(wangp123)主动上传,蚂蚁文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蚂蚁文库(发送邮件至2303240369@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们


网站客服QQ:2303240369

copyright@ 2017-2027 mayiwenku.com 

网站版权所有  智慧蚂蚁网络

经营许可证号:ICP备2024020385号



收起
展开