| Issue 14: | CB_CCBRANCH_6623_patched 的问题 | |
| 1 person starred this issue and may be notified of changes. | Back to list |
老邓好
我下载你提供的CB_CCBRANCH_6623_patched.7z
在环境 winxp sp2,mingw gcc4.4.4试用,发现如下问题:
有光头文件的paser会导致codeblocks无法运行,就像进入死循环。
比如输入如下代码:
#include < 此时正常应该有提示,但是CB_CCBRANCH_6623_patched不但没有提示,还会使得codeblocks无法继续运行。
Sep 23, 2010
#1
xxy...@sohu.com
Sep 23, 2010
你提供的代码完成插件还有一个问题就是对源文件中的宏parse有问题:
比如:
源文件代码如下:
宏GAUSSIAN_KERNEL_FUNCS_IMP声明:
#define GAUSSIAN_KERNEL_FUNCS_IMP(VALUE_TYPE,\
MAT_TYPE,MAT_NEW,MAT_DELETE,\
VEC_TYPE,VEC_NEW,VEC_DELETE,\
END_PIX)\
void MAKE_FUN_NAME(calculateHermitePolynomial,END_PIX)(const int *order,const VALUE_TYPE *sigma,VEC_TYPE *hermit_coef)\
{\
register int i,j;\
\
if(order== 0)\
................
宏GAUSSIAN_KERNEL_FUNCS_IMP应用:
GAUSSIAN_KERNEL_FUNCS_IMP(double,
mat_dbl,mat_dbl_new,
mat_dbl_delete,vec_dbl,
vec_dbl_new,vec_dbl_delete,
dbl)
GAUSSIAN_KERNEL_FUNCS_IMP(float,
mat_float,mat_float_new,
mat_float_delete,vec_float,
vec_float_new,vec_float_delete,
float)
宏GAUSSIAN_KERNEL_FUNCS_IMP屏蔽:
#undef GAUSSIAN_KERNEL_FUNCS_IMP
问题描述:
操作A:光标指向GAUSSIAN_KERNEL_FUNCS_IMP,然后右键,选择find declaration of 'GAUSSIAN_KERNEL_FUNCS_IMP'
情况一:保留代码: #undef GAUSSIAN_KERNEL_FUNCS_IMP
操作A会得到GAUSSIAN_KERNEL_FUNCS_IMP声明位置列表:
GAUSSIAN_KERNEL_FUNCS_IMP(double,.....
GAUSSIAN_KERNEL_FUNCS_IMP(float,.....
可见位置列表中无正确位置:#define GAUSSIAN_KERNEL_FUNCS_IMP ...
情况二:注释掉代码:#undef GAUSSIAN_KERNEL_FUNCS_IMP,
操作A也可得到GAUSSIAN_KERNEL_FUNCS_IMP的声明位置列表,列表如下:
#define GAUSSIAN_KERNEL_FUNCS_IMP ...
GAUSSIAN_KERNEL_FUNCS_IMP(double,.....
GAUSSIAN_KERNEL_FUNCS_IMP(float,.....
此列列表中有真正确位置:#define GAUSSIAN_KERNEL_FUNCS_IMP ...
以上两种情况均不能精确指向:#define GAUSSIAN_KERNEL_FUNCS_IMP ...
Sep 23, 2010
你提供的代码完成插件另外一个问题是,对函数参数变量、宏参数变量均的定位均不准确,还有就是对#include 头文件parse太慢(如果IDE中的预搜索头文件太多的话)。
个人的一点小建议:
我想对于系统头文件的parse一次就够了,parse结果以文件形式保留在codeblocks的安装目录下,对于该文件的修改可以随codeblocks的有关设置变化。对于工程中的文件完整parse一次也应该可以,结果也可以文件的形式保存在工程文件目录下,再随相关操作进行对parse文件的修改,这样应该会加快对 “头文件”的自完成工能,而且在打开工程文件的时候也会加快parse速度。否则如果工程中包含文件太多的话,发现打开速度非常慢,而且会发生codeblocks崩溃的状况。
Sep 23, 2010
不过总体来说,你提供的这一插件,相较原来的插件已经有很大的改进,试用很舒服,对你的工作表示感谢 |