linux编译

一、请说明可执行程序是如何被组装的

1.用gcc生成静态库和动态库.pdf和静态库.a与.so库文件的生成与使用.pdf

创建一个文件test1
在这里插入图片描述
生成静态库libmyhello.a

在这里插入图片描述
生成动态库libmyhello.so
在这里插入图片描述
程序运行结果
在这里插入图片描述

2.用 gcc将 main函数的目标文件与此静态库文件进行链接

创建一个文件test,然后用vim创建元文件

在这里插入图片描述
代码如下

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

用gcc把源文件编译成.o文件
在这里插入图片描述

用ar把先sub1,sub2生产一个libsub.a

在这里插入图片描述
运行main函数

在这里插入图片描述

main函数的大小
在这里插入图片描述

3.用 gcc将 main函数的目标文件与此动态库文件进行链接

创建一个动态文件libsub.so

在这里插入图片描述

用gcc把main函数和libsub.so链接成main1并运行

在这里插入图片描述

内存

在这里插入图片描述

二、gcc编译工具集中各软件的用途,了解EFF文件格式,汇编语言格式。

1.gcc的使用

编译
在这里插入图片描述

预处理

在这里插入图片描述

编译为汇编代码

在这里插入图片描述

汇编为目标文件

在这里插入图片描述

连接

在这里插入图片描述

2.nasn的使用

创建.asm文件
在这里插入图片描述

运行

在这里插入图片描述

三、

1.了解Linux 系统中终端程序最常用的光标库(curses)的主要函数功能

初始化和重置函数
  所有curses程序必须以initscr函数开始,以endwin函数结束。
管理屏幕的函数
  在curses程序中输出字符的过程如下所示:
  (1):使用curses函数刷新逻辑屏幕。
  (2):要求curses用refresh函数来刷新物理屏幕。

2.以游客身份体验一下即将绝迹的远古时代的 BBS

在这里插入图片描述

在这里插入图片描述

3.在ubuntu安装libncurses5

在这里插入图片描述

4.gcc编译生成一个终端游戏,体会curses库如何被链接和使用

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值