2016年7月

lex快速入门


起步

lex是用C语言开发的词法分析自动生成工具,它接受正规表示的词法描述,生成识别输入语言词法的词法分析器。

lex所规定的格式说明文件(一般以.l为扩展名)经过处理后,输出该词法分析程序lex.yy.c

该程序含有一个词法分析总控程序yylex(),但通常不含主函数main(),用户要自己编写main()和调用yylex()进行此法识别的主函数


Windows 下快捷启动应用的小技巧


测试: Win7 其实Win 10就有这个功能

桌面应用太多,找半天?

1.D盘下创建path目录 2.然后将D:/path加入path环境变量 3.把要用的快捷启动拉进该目录,要用的时候就win+r 运行输入快捷启动名

一般快捷启动名就弄短的好记的就ok了


mysql 5.7重置root密码与以往有点不同


遇到问题

新安装的MySQL5.7,登录时提示密码错误,安装的时候并没有更改密码,后来通过免密码登录的方式更改密码,输入update mysql.user set password=password('root') where user='root'时提示ERROR 1054 (42S22): Unknown column 'password' in 'field list'

原因

原来是mysql数据库下已经没有password这个字段了,password字段改成了 authentication_string


开发编程语言(三):源码结构


模块构成

Origin源码主要有3个模块构成:

  • 主程序(ORG)
  • 内存管理模块(MEM)
  • Debug模块(DBG)

每个模块基本都会包含多个.c文件,MEM与DBG是通用模块,为了避免命名冲突,有如下规范:

  • 模块名必须有前缀字母开头,如:ORG
  • 类型名,以大写字母开始
  • 变量名/函数名,全部使用小写,单词间用_链接
  • 宏的定义都用大写
  • 对外公开的函数ORG开头,不对外公开org开头
  • 全局变量以org_开头