码迷,mamicode.com
首页 > 其他好文 > 详细

pgbouncer中增加消息格式解析和调试信息后,导致链接失败的问题

时间:2015-07-12 14:25:08      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:

由于之前增加了解析postgresQL消息的功能,为打印每个消息的内容,在另外一个protooutput.h的文件中增加了每种消息格式的inline打印函数。为了知道代码中每次采用log_debug宏打印出来的信息的location。于是修改了log_debug宏,增加打印__FILE__,__LINE__,__func__的功能。增加完成后代码的大致情况如下:

打印消息内容的protooutput.h文件中有下面的函数:

技术分享log_debug修改后的代码如下:

技术分享其中LOG_TRACE_RUN宏就是新增加的打印location的宏。定义如下:

技术分享

结果直接编译,却显示链接时提示没有定义_print_functionCallPK函数,但是把log_debug宏中新增加的LOG_TRACE_RUN宏去掉后,却能够顺利的链接完成。但是从上面的代码看完全没有错误哈,为什么链接不上呢?

后面想了想链接不上_print_functionCallPK函数,肯定是编译protooutput.h文件的时候出现了问题,多半是inline导致的。于是就把print_functionCallPK函数从inline修改成普通函数,再次编译却成功链接了。

这是为啥呢?有没有大神知道原因,请赐教?


pgbouncer中增加消息格式解析和调试信息后,导致链接失败的问题

标签:

原文地址:http://my.oschina.net/u/918218/blog/477537

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!