1.Flex的二义性模式语法分析器匹配输入时匹配尽可能多的字符串如果两个模式都可以匹配的话,匹配在程序中更早出的模式。针对这一点的理解,在语法分析文件当中,token的识别,应从特殊到一般的过程来编写(同时为了可以加入日志来打印当前拆分的token来debug这种情况),例如,实现语法分析过程中,遇... Read More
今天将Go 的websocket集成到已有的http中时也遇到以下一个问题:其中主要是接口类型转换转载自[http://www.cnblogs.com/ghj1976/archive/2013/04/23/3037914.html]我们用Golang做网站时,必然会有这样的代码:http.Handle("/", http.FileServer(http.Dir(".")))注意这里的http.Handle( 函数的第二个参数,Golang的源码中这个函数的描述如下:// Handle registers the handler for the given Read More
1.Scan error on column index 4: converting string "" to a int: strconv.ParseInt: parsing "": invalid syntax。这是由于使用MySQL go 驱动时,对应表字段int 为空时(未填值),Scan(&intVal)时(intVal 为int类型)时会报此错。另go转换index 从0开始。2. range 使用时,注意使用的是值拷贝。 pictures := make([]Picture, 8) for index,picture := rang Read More
最近遇到一个莫名的问题,在HP-UX B.11.31 U ia64平台下,程序PetriService在接收到产品化退出或Ctrl-C时,程序在main函数返回后析构全局的CTQueue(继承自标准库list) 时程序core掉。 初步考虑主线程退出时,其他线程还在使用此全局变量所致。但在程序返回退出前,停掉其他线程,仍在main返回后析构时挂掉。于是将所有相当代码行注释掉,发现只要此入CTQueue就会挂掉,gdb调试,及在查看标准库list文件及CTQueue.h实现后,未发现问题。 将CTQueue改成CTQueue,发现程序依然core在CTQueue当中。 此时想起别外一个... Read More
1.warning C4996: 'setmode': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _setmode. See online help for details.增加宏定义去掉这种类似的警告:_CRT_NONSTDC_NO_DEPRECATE2. 去掉线程安全警告,定义宏:_CRT_SECURE_NO_WARNINGS Read More