Linux中gcc命令编译选项、动静态、gdb调试练习题练习题(4)

题目

1 gcc命令的常用选项:-I、-c、-o 、-g、-Wall、

1)列出这些常用选项的作用

2)使用这些选项编译程序,并截图

2.分析静态链接库与动态链接库各自的优缺点

3.静态链接库与动态链接库的创建方法和使用方法

4.gdb调试程序截图(练习:列出程序清单、运行程序、设置断点、清楚断点、显示程序变量值、单步执行)

参考答案

1gcc命令的常用选项:-I、-c、-o 、-g、-Wall、

1-l参数就是用来指定程序要链接的库

在这里插入图片描述

2.-c只进行预处理、编译和汇编

在这里插入图片描述

3.-o file指定生成的输出文件名为file

在这里插入图片描述

4-g

在这里插入图片描述

5-wall

在这里插入图片描述

2.分析静态链接库与动态链接库各自的优缺点

静态链接的特点是:
优点:
对运行环境的依赖性较小,具有较好的兼容性
缺点:
生成的程序比较大,需要更多的系统资源,在装入内存时会消耗更多的时间库函数有了更新,必须重新编译应用
程序动态链接的特点:
优点:
在需要的时候才会调入对应的资源函数简化程序的升级;有着较小的程序体积实现进程之间的资源共享(避免重复拷贝)
缺点:
依赖动态库,不能独立运行动态库依赖版本问题严重 制作静态链接库:静态链链接库在linux中后缀为.a, 以lib开头如: libtestlib.a

3.静态链接库与动态链接库的创建方法和使用方法

1. 制作:#gcc -c mylib.c -o mylib.o //编译目标文件#ar rc libtestlib.a mylib.o //作静态库
2.	静态库使用:库函数、头文件均在当前目录下
3.	#gcc -o my_test mytest.c libtestlib.a
4.	库函数、头文件假设在/opt目录
5.	#gcc -o mytest mytest.c -L/opt -Itestlib -I/opt 
6.	制作静态链接库:静态链链接库在linux中后缀为.a, 以lib开头如: libtestlib.a1.#gcc -c mylib.c -o mylib.o 
7.	//编译目标文件#ar rc libtestlib.a mylib.o 
8.	//作静态库静态库使用:库函数、头文件均在当前目录下
9.	#gcc -o my_test mytest.c libtestlib.a
10.	库函数、头文件假设在/opt目录
11.	#gcc -o mytest mytest.c -L/opt -Itestlib -I/opt 
12.	 制作动态链接库:#gcc-shared mylib.c -o  libtestlib.so
13.	 //使用gcc编译、制作动态链接库动态链接库的使用1库函数、头文件均在当前目录下
14.	#gcc-o my_test mytest.c libtestlib.so2
15.	库函数、头文件假设在/opt目录 
16.	#gcc -o mytest mytest.c-L/opt -Itestlib -I/opt 

4.gdb调试程序截图(练习:列出程序清单、运行程序、设置断点、清楚断点、显示程序变量值、单步执行)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值