IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 小白版Linux下gcc与Makefile编译 -> 正文阅读

[系统运维]小白版Linux下gcc与Makefile编译

利用C语言实现,利用gcc进行编译。同时需要利用autotools工具生成Makefile文件,并利用make工具和生成的Makefile进行编译。

准备工作

(在服务器上操作时可直接按以下步骤,没服务器时需要下载虚拟机)
1.安装vi编辑器
2.安装gcc编译环境
3.安装autotools系列工具

创建文件夹

进入指定目录,创建并进入test1

在这里插入图片描述

在终端窗口利用vi编辑器来编辑源程序,进入vi编辑器后在键盘上按A,进行编辑,编辑完成后点击键盘上的Esc进行保存,然后输入:wq退出编辑器。
在这里插入图片描述

gcc编译源程序四阶段

  • 预处理
  • 编译
  • 汇编
  • 链接
  1. gcc test.c

将test.c预处理、汇编、编译并链接形成可执行文件a.out

在这里插入图片描述

  1. ./a.out

执行文件

在这里插入图片描述

  1. gcc test.c -o test

    将test.c预处理、汇编、编译并链接生成可执行文件test。-o选项表示要求编译器输出的可执行文件名为test
    在这里插入图片描述

  2. gcc -E test.c -o test.i

    将test.c预处理输出test.i文件

在这里插入图片描述

  1. gcc -S test.i

    将预处理输出文件汇编成test.s文件

在这里插入图片描述

  1. gcc -c test.s

    将汇编输出文件编译输出test.o文件

在这里插入图片描述

  1. gcc test.o -o test

    将编译输出文件链接成最终可执行的test文件。输入./test即可运行成功。
    在这里插入图片描述

autotools

此处在以上文件基础上进行编译

  1. 使用Autoscan工具自动创建文件:autoscan.log,configure.scan
    在这里插入图片描述

  2. 将configure.scan的文件名修改为congigure.in(也可以修改为configure.ac)

在这里插入图片描述

  1. 利用vi编辑器修改configure.in文件

    (1)将AC_INIT里面的参数修改为:AC_INIT(test,1.0,pxc@163.com)

    (2) 添加宏AM_INIT_AUTOMAKE(test,1.0)

    (3) 在AC_OUTPUT后面加上([Makefile])

在这里插入图片描述

  1. 使用aclocal,生成aclocal.m4和autom4te.cache(用于处理本地的宏定义)

在这里插入图片描述

  1. 使用autoconf,生成configure脚本

在这里插入图片描述

  1. 使用autoheader,生成congig.h文件。

在这里插入图片描述

  1. 创建Makefile.am文件

Automake工具会根据configure.in中的参量把Makefile.am转换成Makefile.in文件。所以在使用automake之前我们需要自己创建Makefile.am文件

AUTOMAKE_OPTIONS=foreign      

bin_PROGRAMS=hello
hello_SOURCES=hello.c

在这里插入图片描述

8.使用Automake使其生成Makefile.in文件。这里需要使用选项–add-missing,可以让automake自动添加必需的脚本文件。

在这里插入图片描述

  1. 使用configure,运行自动配置设置文件configure,把Makefile.in变成Makefile。

在这里插入图片描述

  1. 测试

在这里插入图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-11-27 10:18:21  更:2021-11-27 10:18:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 1:30:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码