FORTIFY_SOURCE: memset: prevented write past end of buffer. Calling abort(). Aborted 问题解决方法
2016-12-28 18:25
1956 查看
今天写了一个串口操作程序需要在android开发板上运行测试, 运行的时候报了这个错:
FORTIFY_SOURCE: memset: prevented write past end of buffer. Calling abort().
Aborted
由于之前没有遇到过这种问题, 一下就蒙蔽了, 这是啥???
经过查找资料, FORTIFY_SOURCE 是RedHat的几位软件工程师设计的 gcc 为内存和字符串函数提供一种轻量级的缓冲区溢出保护机制, _FORTIFY_SOURCE 是gcc的一个编译选项。 就说这么多吧, 想深入了解就google。
解决方法:
在你自己项目的Andriod.mk 里面为gcc添加一个编译选项: LOCAL_CFLAGS += -D_FORTIFY_SOURCE=0,就可以了。
也有可能会报 FORTIFY_SOURCE 重复定义的问题, 原因是已经有别的Android.mk 定义这个编译选项了。
解决方法是:LOCAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 这样就ok了。
FORTIFY_SOURCE: memset: prevented write past end of buffer. Calling abort().
Aborted
由于之前没有遇到过这种问题, 一下就蒙蔽了, 这是啥???
经过查找资料, FORTIFY_SOURCE 是RedHat的几位软件工程师设计的 gcc 为内存和字符串函数提供一种轻量级的缓冲区溢出保护机制, _FORTIFY_SOURCE 是gcc的一个编译选项。 就说这么多吧, 想深入了解就google。
解决方法:
在你自己项目的Andriod.mk 里面为gcc添加一个编译选项: LOCAL_CFLAGS += -D_FORTIFY_SOURCE=0,就可以了。
也有可能会报 FORTIFY_SOURCE 重复定义的问题, 原因是已经有别的Android.mk 定义这个编译选项了。
解决方法是:LOCAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 这样就ok了。
相关文章推荐
- bug解决-内核C库写保护(FORTIFY: write: prevented read past end of buffer)
- mysql Sort aborted: Out of sort memory, consider increasing server sort buffer size的解决方法
- mysql Sort aborted: Out of sort memory, consider increasing server sort buffer size的解决方法
- 出现此问题的解决方法: unexpected end of file while looking for precompiled header directive
- makeimg: FATAL ERROR: Out of buffer space 错误问题的解决方法
- 有关“CRT detect that the application wrote to memory after end of heap buffer”问题的解决
- VC++6.0中常出现的"unexpected end of file while looking for precompiled header directive"的问题解决方法
- 崩溃,source Insight显示linux代码中文注释乱码问题,以及很傻很天真的解决方法
- 如何解决unexpected end of file while looking for precompiled header directive的问题
- CRT detected that the application wrote to memory after end of heap buffer 问题(转)
- failed to lazily initialize a collection of role: no session or session was closed (Hibernate) 解决方法(延迟加载问题)
- vc++中“fatal error C1075: end of file found before the left brace '{'”错误的解决方法
- 如何解决unexpected end of file while looking for precompiled header directive的问题
- 解决InterBase中定义存储过程和触发器时报错:unexpected end of command 问题
- ASP.NET 中关于 System.OutOfMemoryException 的问题与解决方法
- 如何解决unexpected end of file问题 c++很简单的进制转换函数
- ASP.NET 中关于 System.OutOfMemoryException 的问题与解决方法
- 如何解决unexpected end of file while looking for precompiled header directive的问题
- QPainter::end: Painter ended with 2 saved states 问题解决方法 (如有新方法,不断更新)
- "Unable to get buffer of resource asset file"问题的解决