Perl背包客日记(1):为源码文件所有函数添加 access log
发布时间:2020-12-15 21:00:48 所属栏目:大数据 来源:网络整理
导读:Perl背包客日记(1):为源码文件所有函数添加 access log 作者:苏 原文链接:blog.csdn.net/prevention ~ 如果你有一系列 C 源文件,想为每个函数添加一句 access log,来方便的知道函数执行流程的话,这篇文章会告诉你一个特定范例下的实践方式。 下面是
Perl背包客日记(1):为源码文件所有函数添加 access log
~ 如果你有一系列 C 源文件,想为每个函数添加一句 access log,来方便的知道函数执行流程的话,这篇文章会告诉你一个特定范例下的实践方式。 下面是本文中的 C 源文件格式范例: void function1(int a,int b) { ... } static int _function2() { ... } static char* function3(char b,int x,double z) { ... } typedef struct{ int x; int y; char z; } some_type; (本文来自:blog.csdn.net/prevention)简单地说,就是类似于 Nginx 等优秀 C 开源项目的源文件书写风格。加上一句 access log 后变为: int b) {//printf("zc: function1n") ... } static int _function2() {//printf("zc: _function2n") ... } static char* function3(char b,double z) {//printf("zc: function3n") ... } typedef struct{ int x; int y; char z; } some_type; 如何实现呢?肯定要用到:
@files = glob "*.c"; foreach $arg (@files) { open SRCFILE,"<:encoding(UTF-8)",$arg; open DSTFILE,0)">">:encoding(UTF-8)",0)">"../" . $arg; $ready = !!0; select DSTFILE; foreach (<SRCFILE>) { if (!$ready && /A(.+)(.*)n/s) { $funcname = $1;# . "n"; $ready = !!1; print $_; } elsif (/A{n/s) { print "{//printf("zc: " . $funcname . "n")" . "n"; # write this string into the dst file $ready = !!0; } else { print $_; } } $| = 1; select STDOUT; close DSTFILE; close SRCFILE; } 上面的知识点有:
原文链接:blog.csdn.net/prevention ~ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |