GNU C函数统计

我是根据GNU C文档的附录B来统计的:
    file:///usr/share/doc/glibc-doc/html/libc_36.html

统计结果如下:
      1 ISO/Amend1
      1 Sun
      1 SunOS
      1 Unknown
      1 vtimes.h
      1 XOPEN
      1 XPG4
      2 BSD/SVID
      2 Unix
      3 LFS
      3 X/Open
      3 XPG2
      4 SUNRPC
      5 ???
      7 IPv6
      7 stdlib.h
      8 POSIX.1c
      8 XPG4.2
     12 POSIX.1b
     13 POSIX.2
     15 XPG
     35 Unix98
     90 POSIX
     95 SVID
    105 POSIX.1
    205 BSD
    239 GNU
    443 ISO
总计:1309个函数,上面的值加起来大于1309是因为有的函数同时属于多个标准

使用的awk程序如下:

BEGIN{
counter=0;
b_func=0
}

{
if(b_func==1){
    if($0 ~ /\):/){
      b_func=0;
      leng = split($2,a,"[^A-Za-z.0-9?/]+");
      for(i=1;i<=leng;i++){
        if(a[i]!=""){
          print a[i];
        }
      }
    }
}
# 匹配函数的()
if($0 ~ /^.*\)[^:]*$/){
    counter++;
    b_func=1;
}
}

END{
if(count){
    print counter;
}
}

在命令行如下处理:
awk -f libc_count.awk libc_36.txt |sort|uniq -c|sort -n

要得到总计:
awk -f libc_count.awk libc_36.txt count=true

关于awk的使用有一个比较有趣的例子:
http://lifehacker.com/software/unix/review-your-most-oft+used-unix-commands-202712.php
发布了0 篇原创文章 · 获赞 0 · 访问量 1871
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览