消除c源码中的注释的方法

[复制链接]
3740|10
 楼主| 寒秋亭 发表于 2009-4-20 17:04 | 显示全部楼层 |阅读模式



读入
遇到//,就走到
遇到/*,就走到*/

这个算法有没有漏洞
hyhjjg 发表于 2009-4-20 18:41 | 显示全部楼层

这作有实际意义嘛?

mohanwei 发表于 2009-4-20 21:18 | 显示全部楼层

搞笑……消注释哪有这么简单的……

纯C风格或者纯C++风格都很简单……而两者混合起来甚至都不是一条正则表达式可以轻松搞定的……更麻烦的是不同编译器对于两种风格混用的语法是不同的。
 楼主| 寒秋亭 发表于 2009-4-20 21:30 | 显示全部楼层

实际意义

偶要提取源码里面的汉字,做个小字库,不希望注释干扰
McuPlayer 发表于 2009-4-20 21:38 | 显示全部楼层

小马过河

自己试验一下不就知道了
mohanwei 发表于 2009-4-20 21:56 | 显示全部楼层

自己写的一般会比较规范的,无所谓了

但是,像如下的代码:

void main(void)
{

//asdf /*111
//*22222
printf("
/* long2hex */
转换结果:%08X",//8位
i
);


}
……

我以前写过类似功能的小软件:
1-读取整个Keil工程里的C文件和头文件
2-删除所有注释
3-提取字符串
4-提取汉字
5-删除重复汉字
6-汉字排序
7-根据设定的TTF字体,取模
8-生成字库和字库接口函数

这样做了以后,我就可以很轻松的在无字库的液晶上编写菜单了:
只需执行类似这样的代码:
disp(line0,colum0,"电压显示:");
sprintf(buff,"电压:%.3fV",Voltage);
disp(line1,colum0,buff);
……
真爽……

可惜电脑被偷了一次,后来只恢复了一些早期代码
如果感兴趣明天找找发部分上来,删除注释是用状态机实现的,好像这事也就状态机能干的比较好了……
王紫豪 发表于 2009-4-20 23:02 | 显示全部楼层

良好的程序风格、命名方法就等于注视了

雁舞白沙 发表于 2009-4-20 23:47 | 显示全部楼层

注释是给自己看的,也就是说你自己看董就可以啊!

何必注释掉呢?
dragon_hn 发表于 2009-4-21 03:11 | 显示全部楼层

有个优先级的问题

删除注释时要注意优先级的问题
例如下面的:
/*

  .....
  .....      //  ....   */


还有
 .....    
 .....    

的问题.


删注释有时有用.

例如有些项目代码不得不交给别人,但又想拖延一下时间,这时就
1.删除注释.
2.对函数名字/变量名字批量改名等等.




 楼主| 寒秋亭 发表于 2009-4-21 09:32 | 显示全部楼层

8楼的东西,我已经快做好了

比你还多一样东西
keil下 12864的液晶和外挂字库的仿真
HWM 发表于 2009-4-21 09:40 | 显示全部楼层

别玩这种小儿科的东西,既没技量又没肚量。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

31

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部