文档章节

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

harris2016
 harris2016
发布于 2015/07/12 13:38
字数 399
阅读 64
收藏 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修改成普通函数,再次编译却成功链接了。

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


© 著作权归作者所有

harris2016
粉丝 10
博文 54
码字总数 30661
作品 0
杭州
程序员
私信 提问
Voovan framework v1.0-alpha 释出

经过长时间的努力,Voovan 开源项目终于接近1.0首个版本的发布,今天放出的是 v1.0-alpha。 在这段时间内项目经历了:压力测试,性能优化,以及部分模块的重构.同时也为大家带来的基于 Voovan H...

愚民日记
2016/05/10
1K
1
喧喧发布 2.4​ 版本,新增消息撤销、聊天输入状态显示以及应用分享等功能

喧喧是由然之协同团队推出的一款轻量级的开源企业聊天软件。提供企业内部通讯交流、企业通讯录、协同办公通讯交流、企业IM解决方案。 喧喧官网: https://xuan.im/ 本次更新新增消息撤销、聊...

GavinHsueh
01/23
0
0
优秀程序员编写可调试的代码

所有的程序都需要某种形式的日志记录建立在它们之上,以便我们可以观察到它正在做什么。这尤其在程序出错时就显得非常重要。一个优秀的程序员和一个糟糕的程序员之间的一个不同之处是一个优秀...

oschina
2014/03/25
5.8K
23
weixin-java-tools 3.0.0 版本发布

本次版本更新主要对代码进行了重构和规范化,去掉了不少不合理的命名和代码结构,因此之前使用老版本进行升级的话会有可能发现大量代码错误,因此担心会带来麻烦的请慎重升级,不过需要升级的...

班纳睿
2018/03/29
3.3K
8
喧喧2.0.0版本发布,优化扩展机制,新增大量实用功能

喧喧是由然之协同团队推出的一款轻量级的开源企业聊天软件。提供企业内部通讯交流、企业通讯录、协同办公通讯交流、企业IM解决方案。喧喧官网:http://xuan.im/ 本次更新增加了大量实用功能,...

anyo007
2018/08/01
1K
6

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周五乱弹 —— 要步入《攻壳机动队》的世界了么?

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @ nnnm:说到音乐,这段一直是纯音乐在循环。每次听到久石让的Summer时心上都会莫名的感觉着轻松。《菊次郞的夏天》竟然是北野武的片子,没有...

小小编辑
29分钟前
65
4
C++ STL set::find的用法

参考: http://blog.csdn.net/lihao21/article/details/6302196 /* class for function predicate * - operator() returns whether a person is less than another person */ c......

shzwork
38分钟前
1
0
抽象同步队列AQS——AbstractQueuedSynchronizer锁详解

AQS——锁的底层支持 谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)! 类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资...

须臾之余
今天
3
0
springboot配置百度UEditor 富文本详解

富文本简介 UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码... 准备工作 ueditor需要单独文...

wotrd
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部