syslog.h和android的log系统冲突问题
来源:互联网 发布:网络研修成果 编辑:程序博客网 时间:2024/05/18 04:20
http://blog.sina.com.cn/s/blog_5532e76a0102v6ys.html
1.现象
工作中发现一个问题,c文件不能打log,说明白点,就是不能调用ALOGE ALOGD ALOGV这些函数,会报错,类似下面的错误{
}
2.解决办法
研究发现,是因为包含了头文件”syslog.h“引起的冲突,去掉就ok了。
3.原因解析
ALOE函数的实现在”system/core/include/log/log.h“文件中,实现过程如下
#ifndef ALOGE
#define ALOGE(...) ((void)ALOG(LOG_ERROR, LOG_TAG, __VA_ARGS__))
#endif
#ifndef ALOG
#define ALOG(priority, tag, ...) \
#endif
会调用到LOG_PRI,文件下半部分有LOG_PRI实现如下
#ifndef LOG_PRI
#define LOG_PRI(priority, tag, ...) \
#endif
这是正常的调用流程。
然而包含了"syslog.h"后,这个系统文件里也有对LOG_PRI的实现如下
#define LOG_PRI(x)
因为系统文件syslog.h里的实现在前,优先级高,所以优先使用了,就造成了冲突。
想使用android的LOG系统,千万不要包含”syslog.h“文件,切记!
阅读全文
1 0
- syslog.h和android的log系统冲突问题
- ndk编译 ffmpeg 1.1.1 出现libavutil/time.h 和系统的time.h 冲突问题 ;
- winsock2.h和windows.h冲突问题的解决方案
- Windows.h和Winsock2.h冲突问题
- syslog:类Unix系统常用的log服务
- Android的Log系统
- iostream 与afx.h的冲突问题
- syslog.h
- windows.h与winsock2.h冲突问题的解决
- Android系统各种稳定性问题所需要的log
- #include <Windows.h> 和 <Winsock2.h>冲突的改进解决方案
- rpcndr.h和wtypes.h冲突Bug的解决方案
- #include <Windows.h> 和 <Winsock2.h>冲突的改进解决方案
- WinSock2.h和windows.h发送冲突的解决方法
- android系统开机画面log和动画的自定义
- Android的ScrollView和ListView滑动冲突的问题
- Android 解决ListView 和 ScrollView 共存冲突的问题
- Android 解决ListView 和 ScrollView 共存冲突的问题
- js添加获取cookie无路径限制
- Web Services初窥
- Android中activity与fragment通信
- javascript--对call方法的理解
- Java获得Class实例的三种方式
- syslog.h和android的log系统冲突问题
- JOB:前端面试8
- shell动态读取文件夹下的文件和文件名并替换到页面上
- ReviveOverlay
- slf4j 和 log4j合用的(Maven)配置
- PHP并发
- 前端学习目录收藏
- python中list.insert()中出现None
- WebUploader单页多实例实现