博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pgbouncer中增加消息格式解析和调试信息后,导致链接失败的问题
阅读量:6697 次
发布时间:2019-06-25

本文共 587 字,大约阅读时间需要 1 分钟。

hot3.png

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

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

12133842_6kTE.jpglog_debug修改后的代码如下:

12133842_RA2y.jpg其中LOG_TRACE_RUN宏就是新增加的打印location的宏。定义如下:

12133843_J06w.jpg

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

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

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

转载于:https://my.oschina.net/u/918218/blog/477537

你可能感兴趣的文章
linux下访问ftp服务器和文件传输
查看>>
极力推荐python初学者使用wingIDE
查看>>
[NOIP2014] 普及组
查看>>
iOS开发那些事--创建基于故事板的iOS 6的HelloWorld
查看>>
业界重磅新书《UNIX/Linux网络日志分析与流量监控》首发
查看>>
iTunes“解决方案”发展历程及研究(上)
查看>>
Jconsole查看Weblogic自定义MBean
查看>>
扫盲:php session缓存至memcached中的方法
查看>>
SQL Server 视图设计器
查看>>
RHCS集群原理概述
查看>>
redis的密码验证,及哨兵的相关配置
查看>>
网站故障排查几个简单步骤
查看>>
Android开发实践:掌握Camera的预览方向和拍照方向
查看>>
公司网络搭建及×××到公司配置
查看>>
从传统运维到云运维演进历程之软件定义存储(一)
查看>>
Photoshop绘制植物大战僵尸中的食人花
查看>>
入行后第二份工作的一些感悟
查看>>
创建单IP的***网络
查看>>
服务器最小化安装后的优化脚本
查看>>
SCCM2012 R2集成WSUS服务器-4:部署软件更新组
查看>>