请教用MDK编译出现dfa.axf: Error: L6218E: Undefined symbol

请教用MDK编译出现dfa.axf: Error: L6218E: Undefined symbol,第1张

出现Target not created,原因主要有:

编译时出错,语法错误,变量未定义。

连接时出错,调用外部函数,而由缺少相应的OBJ文件。

其他原因,用Demo版,限制是程序不能大于4K,结果你超过了4k。

Target not created:意思就是编译没有成功。这是因为程序中有错误。

编译语言:是一种以编译器来实现的编程语言。它不像直译语言一样,由解释器将代码一句一句运行,而是以编译器,先将代码编译为机器码,再加以运行。理论上,任何编程语言都可以是编译式,或直译式的。它们之间的区别稿御察,仅与程序的应用有关。

【编译程序】:

1、词法分析的任务是对由字符组成的单词进行处理,从左至右逐个字符地对源程序进行扫描,产生一个个的单词符号,把作为字符串的源程序改造成为单词符号串的中间程序。执行词法分析的程序称为词拆喊法分析程序或扫描器。

2、源程序中的单词符号经扫描器分析,一般产生二元式:单词种别;单词自身的值。单词种别通常用整数编码,如果一个种别只含一个单词符号,那么对这个单词符号,种别编码就完全代表它自身的值了。

3、词法分析器一般来说有两种方法构造:手工构造和自动生成。手工构造可使用状态图进行工作,自动生成使用确定的有限自动机来实现。

4、编译程序的语法分析器以单词符号作为输入,分析单词符号串是否形成符合语法规则的语法单位,如表达式、赋值、循环等,最后看是否构成一个符合要求的程序,按该语言使用的语法规则分析检查每条语句是否有正确的键茄逻辑结构,程序是最终的一个语法单位。

5、中间代码是源程序的一种内部表示,或称中间语言。中间代码的作用是可使编译程序的结构在逻辑上更为简单明确,特别是可使目标代码的优化比较容易实现中间代码,即为中间语言程序,中间语言的复杂性介于源程序语言和机器语言之间。

看你使用的开发软件平台,有没有这个功能,Keil是没有这个功能的,如果桐盯需要塌轮拍的话,你在网上查一下资料看有没有生成此种文件的可执行文团羡件及说明,Keil里面是可以通过配置命令来完成的。

看你问的是C51还明稿是MDK?

C51,你可以去网上下一个Hex2Bin.exe(也可以自己写一个,非常简单的小程序),添加到项目的User

Command里,每次编译后将生成的hex文件转换为余皮bin文件。

MDK自身带有fromelf.exe,可以将输出的axf文件直接生成bin文件。激毁孝


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12268994.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存