我参照这篇文章配置了一个UBUNTU下的最精简开发环境
打造ubuntu下精简版的oracle客户端及pro*c编译环境(http://blog.csdn.net/cinience/article/details/6201690)
但是有一个问题始终让我很头疼,就是在自己写的文件中打印出来的日志__LINE__总是不正确的,请教一下该如何正确显示出来呢?
我采用的方式是一个宏定义:
#define CheckError() do{printf("[file]:%s[line]:%d",__FILE__,__LINE__);sqlerror();}while(0);在线挂着等。

解决方案 »

  1.   

    我自己的代码没有定义成宏,我就是在某些判断可能出错的地方这样写的:
    sprintf(buff, "FILE:%s,LINE:%d", __FILE__, __LINE__);
    WriteLog(cur_port, cur_serial, OUT_ULOG, buffer);--是我自己封装的写日志的函数和你的没啥区别啊。你说说你打印出来的__LINE__错在哪里了?行号对不上么?差很多么?还是差得比较有规律?
      

  2.   

    我也是这么用的啊,只是没定义成宏而已:
    sprintf(buff, "FILE:%s,LINE:%d", __FILE__, __LINE__);
    WriteLog(cur_port, cur_serial, OUT_ULOG, buff); --自定义函数你说你的__LINE__不对,打出来的行号不对么?差多少呢?