`

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
   

   
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics