日期:2014-05-16  浏览次数:20654 次

函数调用
在一个函数处break,但是并没有但不进入函数执行,先说gdb调试信息
Single stepping until exit from function init_data,
which has no line number information.

结构:main.c 调用 deal.c 和 mr.c中函数
deal.c中有deal()函数,该函数有调用了另外一个文件中的函数get,break deal可知进入但不执行,但是break get就不行,出现上述调试信息
mr.c中有mr()函数,该函数没有调用任何函数,只是该文件中另外定义了两个函数a和b被main()调用了,break a和break b无法但不执行,也出现上述调试信息

根据程序后边的执行结果,出现上述调试信息的函数根本没有进去函数中执行

最开始没有任何问题,但是后边不知怎么的就出现问题了

求解释?

------解决方案--------------------
建议楼主贴出代码 这样解释别人很难懂
------解决方案--------------------
随着 getopt 的执行,optarg 是会变的

case 'i':
csv = optarg;
break;

用指针指向这个optarg不稳妥,建议定义数组,并strcpy
------解决方案--------------------
看看libc atof的实现就知道了
http://bbs.lzu.edu.cn/pc/pccon.php?id=26&nid=146