版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Linux实验报告实验十:UNIX gcc用与编程环境Linux Linux 操作系统实验报告计算机与数据科学学院一、实验目的gccg+的用法;了解目标代码、库函数的使用;(4)(5)掌握 make 命令和 Makefile 文件的使用。二、实验环境WindowsPCVMWare,VMWareLinux三、实验内容与实验过程及分析一、C/C+编程1、C 语言版“Hello World”用 vi 编辑一个名为 hello.c 的文件,其内容为#includemain()printf(”Hello World! Cn”);编译并执行程序。编译方法为:cchello.c/ 生成可执行程序 a.out
2、cco hello hello.c/ 生成可执行程序 helloccc hello.c/生成目标文件 hello.occS hello.c/hello.s执行程序:./a.out#a.out程序./hello#hello程序Linux 操作系统实验报告Linux 操作系统实验报告计算机与数据科学学院2、组合编程Cf1.c,#include f1(int arg)printf(”f1: you passed %dn”,arg);C语言文件f2.c。内容为: #includef2(char*arg)printf(”f2: you passed %sn”,arg);C语言文件m.c。内容为: #in
3、cludemain()f1(16);f2(”Hello World!”);vi程序:cc cf1.cf2.c#生成 f1.o和 f2.occ Sf1.cf2.c生成 f1.s和 vicat查看它们的内容ccomp m.c f1.c f2.c # mp,执行方法为:./mpcc o m m.cf1.of2.om,执行方法为:./m构造自己的静态库cc o f1.c f2.c/生成目标文件f1.o,f2.o ar crv libmyl.af1.of2.o/生成库libmyl.aranliblibmyl.a/使用自己的库cc o mp m.c libmyl.a libmyl.acc o mp m.o
4、libmyl.a/libmyl.am.o cco mp m.c -L.lmyl/myl3、构造可共享库cc -c f1.c f2.c/生成目标文件cc -shared -o libmy.so f1.o f2.o/由目标文件生成共享库或cc -shared o libmy.so cf1.cf2.c/由源文件生成共享库4、使用共享库/f3.c,f1.cf2.c如前#include #include #define SO_FILE ./libmy.so/libmy.solddldconfig处理main()void*sfp;char *err; int tmpi=16;int (*f1)(int),
5、(*f2)(char*);/定义函数指针sfp=dlopen(SO_FILE,RTLD_LAZY);/if(sfp=NULL)fprintf(stderr,dlerror(); exit(1);f1=dlsym(sfp,f1);/f1入口地址(指针)err=dlerror();/if(err)fprintf(stderr,err); exit(2);f2=dlsym(sfp,f2);/f2入口地址(指针)err=dlerror();/if(err)fprintf(stderr,err); exit(3);fprintf(stderr,-beginen);f2(TestString);/f2f1
6、(tmpi);/f1fprintf(stderr,+end+n);dlclose(sfp); exit(0);/关闭共享库5、Makefile的编写与使用(1)2)Makefile文件a.Makefile文件的构造f: f1.o f2.o f3.ogcc -o f f1.o f2.o f3.o f1.o:f1.cgcc c f1.c f2.o:f2.cgcc c f2.c f3.o:f3.cgcc c f3.cb.Makefile的使用make#生成默认(第一个)目makef#生成目标fmake f1.o #生成目标 f1.o四、实验总结makefile makefile makefile 的不熟悉,理解不透彻解决方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑幕墙工程排水系统疏通方法选择原则
- 智能监测系统实现方法课程设计
- 《实践是检验真理的唯一标准》课件
- 导管相关血流感染预防与控制
- 再生障碍性贫血支持疗法护理细则
- 课件设计说明
- 绿化设计前期跟进
- 物流设计产品介绍
- 中医儿科常用外治法
- 肝内科肝硬化疾病管理措施
- 河北省2024版《建筑施工安全风险管控与隐患排查治理指导手册》附400余项危险源辨识清单
- 宫颈后装放疗相关知识
- 现代临床整骨疗法
- 《破产法讲义》课件
- 现代政治学原理(第四版)课件汇 石永义 第6-10章 政治权力 - 政治发展
- 导数中的同构问题【八大题型】解析版-2025年新高考数学一轮复习
- 红色经典影片与近现代中国发展学习通超星期末考试答案章节答案2024年
- 国家开放大学《Web开发基础》形考任务实验1-5参考答案
- 房子抵押个人欠款协议书2024年
- 抖音运营拍摄合作合同范本2024年
- 近十年云南省中考数学真题及答案2024
评论
0/150
提交评论