C语言代码:去除源文件中的注释

作者:Chilau 发布于:2012-7-7 18:22 分类:c/c++

昨天试图使用PCRE库,结果发现匹配不了 // 格式的注释,看了很久文档也没有解决。
Google后,也未解决。最终还是选择不使用任何库进行操作,于是就有了下面的36行代码。
0.jpg 
这里需要特别说明的是,先处理  // 格式的注释的重要性。
//**/  这样的注释代码解析器是算作//的注释处理的,要是先处理了/**/格式,剩下的代码就是错误的。
代码中的substr,str_replace函数可以参见PHP源码:ext/standrad/string.c 。

 32-34行是处理代码开始和结束的空行,严格地来说要是处理C代码,34行应该注释掉,因为有的GCC要求在文件最后有一个空行。

另:括号内的注释此版本内并没有判断!!



« 记给apache加php支持 | 一些特殊的MD5»

发表评论: