Ubuntu下的gcc编译器操作
- 一、用gcc生成静态库和动态库
- 二、gcc常用命令的操作及as汇编编译器的操作
- 三、Linux第三方库函数的使用
- 1.部分curses函数的功能
- 2.通过telnet访问BBS
- 3.curses库的安装
- 4.Linux 环境下C语言编译实现贪吃蛇游戏
- 总结
一、用gcc生成静态库和动态库
1.建立sub2.c
2.进入sub2.c
3.编写代码保存退出
int x2y(int c,int d)
{
int e;
e=c*d;
return e;
}
4.进入main.c
5.修改main1.c,保存退出
6.用gcc分别编译为3个.o 目标文件
7.用ls命令查看是否生成.o文件
8.将x2x、x2y目标文件用 ar工具生成1个 .a 静态库文件
10.用 gcc将 main函数的目标文件与此静态库文件进行链接
11.用ls查看是否生成可执行文件main
12.运行main
13.在文件夹中查看main的大小
14.建立动态库libsub.so并用ls查看
15.连接动态库并用ls查看是否生成可执行文件main1
16.运行main1,报错
17.将libsub.so移动到/usr/lib后,再执行main1,正常执行
18.在文件夹中查看main1的大小
注:经对比,大小无明显差别。
二、gcc常用命令的操作及as汇编编译器的操作
1.新建test.c,进入test.c
2.输入代码
#include<stdio.h>
int main(void)
{
printf("Hello World\n");
return ;
}
3.用gcc命令直接编译
4.预处理
5.编译为汇编代码
6.汇编为.o文件
7.链接为可执行文件
8.执行可执行文件test
9.三种检错命令
10.编译为目标文件
11.将目标文件与动态库链接
12.运用size命令查看大小
13.运用ldd命令查看动态库链接
14.静态库链接
15.查看静态库大小
16.查看动态链接库
17.反汇编操作
18.新建一个asm文件
19.进入asm文件
20.输入代码
21.编译nasm
22.执行可执行文件hello
23.比较可执行文件的大小
注:上图为nasm的可执行文件,下图为C代码编译生成的可执行文件。
三、Linux第三方库函数的使用
1.部分curses函数的功能
int insch(chtype ch); //插入ch,右移
int insertln(void); //插入空白行,下移
int delch(void); //删除光标位置字符,左移
int deleteln(void) //删除当前行,上移
int beep(void); //发声
int flash(void); //闪屏
int clrtobot(void);//清除光标位置到屏幕结尾的内容
int clrtoeol(void);//清除光标位置到该行行尾的内容
2.通过telnet访问BBS
1.打开控制面板
2.点击“程序”,点击“启用或关闭Windows功能”
3.在"telnet client" 和"适用于Linux的Windows子系统"前面打钩,确定后重启计算机
4.打开cmd
5.在cmd中输入telnet bbs.newsmth.net
6.访问界面如下
3.curses库的安装
1.在ubuntu命令行中输入sudo apt-get install libncurses5-dev
2.头文件和库文件安装的目录
头文件和库文件分别安装在/usr/include/和/usr/lib/中。
4.Linux 环境下C语言编译实现贪吃蛇游戏
1.新建一个tcs.c文件
2.进入tcs.c
3.输入代码
代码来源:
4.编译tcs.c
5.执行可执行文件tcs
6.执行结果如图
总结
这次的实验让我熟悉了Linux下的gcc的各种基本操作,跟着指导书走,一切操作都还是比较顺利,学到了很多知识。