ARMCLANG: L6218E: Undefined Symbol __aeabi_assert

2024-02-28 13:32

本文主要是介绍ARMCLANG: L6218E: Undefined Symbol __aeabi_assert,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这个报错一般常见于在keil中开启了microlib的情况,参考资料来自ARM官网的说明 :

https://developer.arm.com/documentation/ka004216/latest

文中描述的解决解决方法有三个思路:

  1. 不用 microlib。但是重定向的 printf 就需要自己写更多代码才能实现了。
  2. 不需要使用 assert() 函数,在编译选项中增加 “NDEBUG” 的定义。
  3. 重写 assert() 函数。在文档中也有说明,如果一定要 assert() 这个功能,那就直接复制文档中的代码吧。
__attribute__((weak,noreturn))
void __aeabi_assert (const char *expr, const char *file, int line) {char str[12], *p;fputs("*** assertion failed: ", stderr);fputs(expr, stderr);fputs(", file ", stderr);fputs(file, stderr);fputs(", line ", stderr);p = str + sizeof(str);*--p = '\0';*--p = '\n';while (line > 0) {*--p = '0' + (line % 10);line /= 10;}fputs(p, stderr);abort();
}__attribute__((weak))
void abort(void) {for (;;);
}
  • END

这篇关于ARMCLANG: L6218E: Undefined Symbol __aeabi_assert的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/755635

相关文章

vue 父组件调用子组件的方法报错,“TypeError: Cannot read property ‘subDialogRef‘ of undefined“

vue 父组件调用子组件的方法报错,“TypeError: Cannot read property ‘subDialogRef’ of undefined” 最近用vue做的一个界面,引入了一个子组件,在父组件中调用子组件的方法时,报错提示: [Vue warn]: Error in v-on handler: “TypeError: Cannot read property ‘methods

C/C++ 中的assert()宏 断言机制

ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误。   原型定义: #include <assert.h> void assert( int expre

运行PHP程序时提示“Notice: Undefined index”的解决办法

最近在调试网站程序的时候,不知道怎么经常出现“Notice:Undefined index”的提示,程序又可以正常运行,就是看到这个提示感觉有点不爽,把模板搞乱了,经查其实这个不是错误,是警告。如果服务器不能改,那每个变量使用前应当先定义。怎么样解决呢?很多网友的说法不一致,程序不一样你也根本没办法照着解决,要是自己慢慢研究的话一大堆代码得半天试,在这里提供一个最简单有效经本人测试有效的办法给大家

uniapp微信小程序开发踩坑日记:Pinia持久化报错Cannot read property ‘localStorage‘ of undefined

插件默认使用 localStorage 实现持久化,小程序端不兼容,需要替换持久化 API import { defineStore } from 'pinia'   export const useCommonStore = defineStore('pack-store', {state: (): State => ({wwInfo: {},globalData: {},timerLoc

duplicate symbol _OBJC_IVAR

今天该死的SVN又TMD出问题,update之后出现了下面这种问题: duplicate symbol _OBJC_IVAR_$_BDConversationCell._userNameLabel in: 某路径 该错误是一种链接错误,令人头疼的是Xcode不会直接定位到问题具体位置。 但其仍有一定的规律,大概是以下原因:   1.检查是否误导入了问题中类的 .m 文件; 报错:

前段百科---JS中形如(function(window, undefined) {})(window)写法的理解

在Web开发过程中,往往会看到有人这样编写JS脚本: (function(window, undefined) {//do something})(window);可能有人会问: 卧槽,这是什么鬼? OK,且听我慢慢道来: 首先,(function(window, undefined) {})(window)可以简化看成这样()();而()()就是一个匿名函数自执行的写法.

JS中的【Symbol】全面讲解

1. 什么是 Symbol? Symbol 是 ES6 引入的一种新的原始数据类型(Primitive Data Type)。与 string、number、boolean、null 和 undefined 一样,Symbol 是不可变的原始值。Symbol 的特殊之处在于它是唯一的,即使两个 Symbol 的描述相同,它们的值也不相等。 2. Symbol 的创建 Symbol 通过 Sy

JavaScript学习(二):原始数据类型-字符串、数字、布尔值、null、undefined

数据类型 --- 能够表示并操作值的类型,编程语言的最基本特性就是能够支持多种数据类型。 JavaScript的数据类型分为两种: 原始类型 (primitive type)  对象类型(object type) 原始数据类型包括:  数字   字符串  布尔值   , 特殊的原始值:null  undefined,不是数字、字符串和布尔值,代表了各自特殊类型

Junit、Assert、内省、Properties类与配置文件的使用

Junit Junit有什么用 可以不写main方法直接对方法进行测试 怎么使用 1、导入junit.jar包 2、加入@Test注释 3、例子如下 import org.junit.Test;public class Demo1 {@Testpublic void fun(){System.out.println("Junit测试");}} 使用规范 一个类如果需要测试,那

关于GDB运行时No symbol table is loaded. Use the “file“ command.的解决方法

最近有同学问GDB使用的问题,对此做一个整理。 首先,GDB已经报错file找不到了,那可以运行file test检测一下 (gdb) file testReading symbols from test...(no debugging symbols found)...done. 发现找不到可执行文件,所以问题应该在于编译时候没有加上ggdb3,重新编译一下 ty@ubuntu: