Linux----统计所有C语言源程序中,下列系统函数的被调用次数

本文档介绍了一个Linux作业,要求编写程序统计C语言源程序中printf、open、close、read、write、fork、signal等系统函数的调用次数。通过主程序main.c将.c文件内容整合到data.txt,然后使用shell脚本和grep命令统计并输出到myresult.txt。在虚拟机环境中执行。
摘要由CSDN通过智能技术生成

Linux作业-------有一个文件夹,下面有许多个C语言源程序。要求编写一个程序,统计所有C语言源程序中,下列系统函数的被调用次数。

printf open close read write fork signal
统计结果输出到myresult.txt文件按中,格式如下:
printf 49
open 13
close 13
read 24
write 16
fork 8
signal 0

介绍

1.主程序用来将九个.c文件中的内容统计到一个data.txt中,对八个.c文件生成一个子程序,读者可自行查看main.c源码及注释以了解细节,main.c make运行后可生成两个.txt文件,data.txt用来存储所有.c文件的文本信息,方便处理,myresult.txt用来显示最终统计结果,在main.c中主要需解决的问题是必须先创建好data.txt,这样才可重复调用rop()函数来实现每个文本的写入其中逻辑关系读者可自行查看上述main.c主函数的for循环内语句。
2. data.txt完成后再用shell编程进行结果输入到myresult.txt中,需用在输入语句sh shel,运行shel,shel中用echo的打印内容输出重定向到myresult.txt中,其中用强大的grep文本处理,-c表示仅列出包含模式的行数,由于需统计的函数均单处一行,所以此方法可行,同样输出重定向到myresult.txt中。
3. 在虚拟机中进行。

主程序—main.c

#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
#include <sys/wait.h>


void op(int fd,char s[]){
   
    fd=open(s,O_RDWR,0644);
    char buf[1024];

    int fd0;
    fd0=open("data.txt",O_CREAT | O_RDWR,0644);
    int flag;
    while(flag = read(fd
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值