fjstcmcu
发表于 2023-12-24 09:47:07
BL51LX51效果有什么不一样?
380091044
发表于 2023-12-24 10:40:36
不错
LAOXU
发表于 2023-12-24 11:59:17
fjstcmcu 发表于 2023-12-24 09:47
BL51LX51效果有什么不一样?
BL51 是标准连接器 ,LX51是扩展连接器, 功能更强, 语法描述更严谨, 要求更高.
很多 BL51 能通过的 不是很标准的 C 代码,LX51 通不过.
hualuo1987
发表于 2023-12-24 15:42:21
get新知识!
fjstcmcu
发表于 2023-12-25 14:38:12
LAOXU 发表于 2023-12-24 11:59
BL51 是标准连接器 ,LX51是扩展连接器, 功能更强, 语法描述更严谨, 要求更高.
很多 BL51 能通过的...
我想知道他们编译后的目标文件有哪些不一样?
LAOXU
发表于 2023-12-25 17:05:04
fjstcmcu 发表于 2023-12-25 14:38
我想知道他们编译后的目标文件有哪些不一样?
BL51 和 LX51连接器, 不等同 C编译器, C编译器 的好坏, 优化级别的不同, 生成的代码长度明显差别很大.
连接器 的作用, 仅仅 把C编译器 生成的 obj 文件(半成品), 和 相关 LIB 库文件 , 串联组合起来, 生成可执行文件.
假如 编写的 C 程序 非常正规 , BL51 和LX51 连接 后 白目标执行文件, 无差别 (可能内部 C模块的前后位置略有差异) , 效果一样.
LAOXU
发表于 2023-12-25 17:08:31
但 LX51是扩展连接器, 功能更强,比如 编写的 C 程序 不是很正规 , 里面有 未用到的 C函数(子程序),LX51可通过命令, 移除 未使用的 C函数, 缩减程序代码长度, 而 BL51无此项功能.
wpppmlah
发表于 2023-12-26 14:17:24
学习到了,这就是经验啊。{:4_165:}
pangshijz
发表于 2023-12-26 15:22:20
学习了
zhangzhonghua
发表于 2023-12-26 17:27:10
LAOXU 发表于 2023-12-23 06:14
使用说明:
在任意一个 C文件中开始处, 加入以下两个头文件(注意前后次序), 连接器任意, BL51 和 LX51 都 ...
我project中有多个c文件包含了stc8h.h,按此修改为包含stc8h.h之后再包含stc8hm.h,链接错误,提示有重复定义。怎么解决?