`

centos7编写一个C语言的tarball软件包

 
阅读更多
前言
    以c语言编写一条排序和求平均数的命令为例
    实现输入sort-average命令的三个参数
      s 的功能分别为排序输入的十个数
      a 求输入的五个数的平均数
      q 退出sort-average命令
    将所有源代码和makefile文件均放在/usr/local/src/sort-average下
1.编写源代码main.c,sort.c,average.c
2.编写makefile文件
3.编译安装测试sort-average命令
4.卸载sort-average命令所有相关文件

一.编写源代码main.c,sort.c,average.c,编写三个源码文件如下
    mkdir /usr/local/src/sort-average
    cd /usr/local/src/sort-average
    1.vi main.c
    我的main.c源码大概是这样:
#include<stdio.h>

int main(void)
{
void inputcommand(void);
char ch='\0';
inputcommand();
for(;;)
{
scanf("%c",&ch);
if(ch=='s')
{
sort();
inputcommand();
}
else if(ch=='a')
{
average();
inputcommand();
}
else if(ch=='q')
{
printf("exit...\n");
return 0;
}
}
}

void inputcommand(void)
{
printf("Please input 's' or 'a or 'q':");
}
   
    2.vi sort.c
    我的sort.c源码大概是这样:
#include<stdio.h>

void sort(void)
{
int num[10];
int i;
int j;
int temp;
printf("Please input 10 integers to sort:\n");
for(i=0;i<10;i++)
{
scanf("%d",&num[i]);
}
for(i=0;i<10;i++)
{
for(j=i+1;j<10;j++)
{
if(num[i]>num[j])
{
temp=num[i];
num[i]=num[j];
num[j]=temp;
}
}
}
printf("after sort:\n");
for(i=0;i<10;i++)
{
printf("%d ",num[i]);
}
printf("\n");
}

    3.vi average.c
    我的average.c源码大概是这样:
#include<stdio.h>

void average(void)
{
int num[5];
int average=0;
int i;
printf("Please input 5 integers to average:\n");
for(i=0;i<5;i++)
{
scanf("%d",&num[i]);
}
printf("average:\n");
for(i=0;i<5;i++)
{
average = average + num[i];
}
printf("%d\n",average/5);
}

二.编写makefile文件
    vi makefile
    makefile文件里面的代码大概是这样:
LIBS = -lm
OBJS =  main.o sort.o average.o
main: ${OBJS}
gcc -o sort-average ${OBJS}
clean:
rm -f sort-average ${OBJS}
install:
install -m 755 sort-average $(RPM INSTALL ROOT) /usr/local/bin/sort-average

三.编译安装测试sort-average命令
    1.根据makefile文件编译sort-average命令
      make
    2.安装sort-average命令
      make install
    3.测试sort-average命令
      sort-average
      Please input 's' or 'a or 'q':a
      Please input 5 integers to average:
      1 2 3 4 5
      average:
      3
      Please input 's' or 'a or 'q':s
      Please input 10 integers to sort:
      5 6 4 3 2 1 54 6 3 4
      after sort:
      1 2 3 3 4 4 5 6 6 54
      Please input 's' or 'a or 'q':q
      exit...
   
四.卸载sort-average命令相关的文件
    因为安装是只写了一个二进制文件sort-average到/usr/local/bin里面,所以我们只需要删掉这个文件即可
      rm -f /usr/local/bin/sort-average
   

   
分享到:
评论

相关推荐

    Centos7 gcc相关的rpm软件包

    【CentOS7 GCC相关的RPM软件包】 在Linux操作系统中,GCC(GNU Compiler Collection)是开发者最常用的编译器套件,它支持多种编程语言,如C、C++、Fortran等。在CentOS 7环境下,为了构建、调试和优化程序,我们...

    rhel8/centos8下openssh9.0的rpm软件包,用于漏洞修复,提高安全性

    rhel8/centos8下openssh9.0的rpm软件包,用于漏洞修复,提高安全性。

    CentOS7.2离线安装openssh8.6p1软件包-步骤及依赖.rar

    以下是一个详细的步骤指南,教你如何在CentOS7.2上离线安装OpenSSH 8.6p1。 首先,你需要获取OpenSSH 8.6p1的源码包。这通常可以通过访问OpenSSH官方网站或通过其他有网络连接的机器下载得到。文件名可能是`openssh...

    Centos7的gcc依赖

    最小安装版的centos7系统会缺少很多依赖,gcc是其中的一个。centos7安装bzip2时会报错说缺少gcc,安装这些rpm即可。压缩包里面包含了centos7安装gcc所需要的依赖包,按说明安装即可。

    CentOS6.5离线安装openssh8.6p1软件包-步骤及依赖.rar

    离线安装openssh 8.6p1在CentOS 6.5上是一个涉及多个步骤的过程,每个步骤都需要谨慎操作。确保备份并正确处理依赖关系,以免导致系统不稳定。此外,保持SSH软件的及时更新是保持服务器安全的重要环节,因为新的版本...

    centos7离线安装vim

    在没有网络连接的情况下,为CentOS 7安装Vim需要通过手动下载所需软件包并使用本地安装方法。以下是离线安装Vim在CentOS 7中的详细步骤。 首先,你需要确保拥有一个包含所有必要依赖的软件仓库。CentOS 7的默认软件...

    VMware安装CentOS7教程

    VMware安装CentOS7教程是一个详尽的指南,旨在帮助初次使用者或需要在VMware上设置CentOS7虚拟机的用户。本教程覆盖了从下载必要的软件到成功安装和配置系统的全过程。 首先,你需要从官方或镜像站点下载CentOS7的...

    Centos7上安装虚拟化软件包

    ### CentOS 7上安装虚拟化软件包 #### 知识点概述 本文主要介绍如何在已存在的CentOS 7系统上安装虚拟化软件包,包括KVM(Kernel-based Virtual Machine)相关的工具集,以实现虚拟机环境的搭建与管理。通过安装...

    CentOS7.3离线安装openssh8.6p1软件包-步骤及依赖.rar

    本文将详细讲解如何在CentOS 7.3上离线安装openssh 8.6p1软件包的步骤,以及所需的依赖项。 首先,离线安装意味着我们需要在有网络的环境中下载所需的软件包和依赖文件,然后将其传输到没有网络连接的目标机器上...

    CentOS7.4离线安装openssh8.6p1软件包-步骤及依赖.rar

    在Linux系统管理中,安全通信是至关重要的,OpenSSH(Open Source Secure Shell)是一个用于远程登录和其他安全网络服务的开源软件包。本文将详细介绍如何在CentOS 7.4上离线安装OpenSSH 8.6p1及其依赖包。由于这是...

    compat-libstdc++-33-3.2.3-47.3.i386.rpm Centos7 安装oracle 所需软件包

    compat-libstdc++-33-3.2.3-47.3.i386.rpm Centos7 安装oracle 所需软件包

    centos7.docx CentOS 7是一个基于Red Hat Enterprise Linux(RHEL)源代码构建的自由

    centos7 CentOS 7是一个基于Red Hat Enterprise Linux(RHEL)源代码构建的自由开源Linux发行版,它是企业级操作系统的一个稳定、可靠和功能丰富的版本。以下是一些关于CentOS 7的主要特点和信息: 1. **稳定性和...

    CentOS7 安装gcc 软件包

    在Linux系统中,GCC(GNU Compiler Collection)是一个关键的开源编译器套件,它用于将源代码编译成可执行程序。对于CentOS 7这样的操作系统,GCC是开发环境的基础,尤其对于C、C++、Fortran和其他编程语言的开发者...

    CentOS 7 系列iso镜像

    CentOS 7 系列作为该系列中的一个重要版本,广泛应用于服务器环境和个人学习之中。本文将围绕 CentOS 7 系列 ISO 镜像进行详细介绍,包括其架构、不同版本的区别以及适用场景等。 #### 二、ISO 镜像介绍 ISO 镜像...

    9.CentOS 6.5软件包的安装与管理

    YUM安装软件有一个最大弊端,就是软件包之间有一定的依赖关系,这是一个比较麻烦的事情。而YUM源安装就可以解决这个问题。 这里只用光盘作为YUM源为例讲解软件的安装,这是平时安装软件用得最多的。

    CentOS6.6离线安装openssh8.6p1软件包-步骤及依赖.rar

    通常,这会是一个.tar.gz格式的文件,例如`openssh-8.6p1.tar.gz`。 2. **准备依赖包**:安装OpenSSH可能需要一些依赖库,如`ncurses`, `zlib`, `openssl`, `glibc`, `pam`等。你需要确保这些依赖已经准备好,可以...

    树莓派centos之C语言自建web服务器网页控制RGB灯.zip

    在本项目中,我们主要探讨如何使用树莓派运行CentOS操作系统,并利用C语言构建一个支持多线程的Web服务器,以便通过网页来控制RGB(红绿蓝)LED灯。这个项目结合了嵌入式系统、网络编程和硬件接口技术,具有较高的...

    centos7.tar.gz

    1. `9f38484d220fa527b1fb19747638497179500a1bed8bf0498eb788229229e6e1.json`:这是一个JSON文件,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。...

    mesos-deb-packaging, 用于 Debian,Ubuntu,CentOS,RHEL和Fedora的Mesos软件包.zip

    mesos-deb-packaging, 用于 Debian,Ubuntu,CentOS,RHEL和Fedora的Mesos软件包 Mesos Debian封装构建脚本,用创建一个Mesos软件包,以便在集群中简单安装。Mesos是一个集群管理器,它可以跨分布式应用程序或者框架...

    centos7 crontab 安装包

    这将打开一个编辑器,可以在这里编写定时任务的规则。 3. `crontab`语法: `crontab`的每一行由五个字段组成,分别代表分钟、小时、日期、月份和星期,后面跟上要执行的命令。例如,每小时的第一分钟执行`/path/to/...

Global site tag (gtag.js) - Google Analytics