首页 > 其他分享 >KeilC51不编译未调用的函数

KeilC51不编译未调用的函数

时间:2024-11-08 15:57:13浏览次数:3  
标签:调用 选项卡 函数 编译 设置 KeilC51

KeilC51不编译未调用的函数

在用 Keil C51 做开发时,难免会增删功能,出现定义了的函数未调用的情况。编译时会发出“UNCALLED SEGMENT,IGNORED FOR OVERLAY PROCESS”的警告,还会浪费程序存储空间。

有一个办法,可以不用手动去删除,也不会将这部分代码编译链接进最终的程序。方法如下:

第一步:打开 Options 窗口的 Device 选项卡,勾选“Use Extended Linker (LX51) instead of BL51”。如下图:

第二步:打开 LX51 Misc 选项卡,在 Misc controls 栏输入 REMOVEUSED。如下图:

最后放一个对比效果,设置后比设置前小了1K多。

设置前:

设置后:

标签:调用,选项卡,函数,编译,设置,KeilC51
From: https://www.cnblogs.com/lyn17/p/18535267

相关文章

  • VS Code/Code-Runner编译C语言遇到undefined reference to XXX的一种解决办法
    背景用VSCode编译一个C语言编写的项目文件,这个项目除main文件外还有些被引用的C文件,如果不做相关配置的话,运行会报错:即编译时找不到被引用的这些文件,从而报错。解决办法我是使用code-runner这个插件跑的,所以这里只写关于用这种方式运行代码的解决办法。首先查看.vscode/配......
  • Sqlsugar调用Oracle的存储过程
    前段时间在搬迁项目的时候,遇到一个问题,就是用sqlsugar调用oracle的存储过程的时候调用不了;当时卡了一整天,现在有空了把这个问题记录分享一下。先去nuget上安装一下sqlsugar的包:再安装一个oracle的驱动:添加一下Json包:再去创建一下连接 再创建一个测试用的存储过程crea......
  • 交叉编译工具链命名规则、以及如何生成交叉编译工具链步骤
    交叉编译工具链的命名规则和生成过程至关重要,因为它直接影响编译过程的可移植性和目标平台的适配性。以下是交叉编译工具链的详细介绍,包括工具链的组成、命名规则、生成工具和使用。1.交叉编译工具链的基本组成交叉编译工具链的主要组成部分包括:Binutils:提供汇编、链......
  • 帝国CMS相关信息为空时调用其它信息方法
    增加自定义函数:functiondp_GetKeyboard($num=100){global$empire,$public_r,$class_r,$fun_r,$dbtbpre,$class_r,$navinfor;$keyid=$navinfor['keyid'];$classid=$navinfor['classid'];$id=$navinfor['id']......
  • 帝国CMS列表页模板list.var中调用栏目名称非栏目别名的方法
    方法一:勾选“使用程序代码”。在list.var中添加以下代码:$listtemp='<li>【'.$class_r[$r['classid']]['classname'].'】<ahref="[!--titleurl--]">[!--title--]</a>[!--newstime--]</li>';......
  • 最简单的定制openwrt,用在线编译来做一个不怕恢复出厂设置的rom
    简介:这两天在调试一些openwrt设备,但是调错了怎么办?恢复出厂设置是最简单的。可是一顿操作猛如虎,远程调试openwrt,这么恢复出厂设置呢?连pppoe拨号都没有了,动态域名也没有了,怎么办?定制rom是唯一的出路。官方说明:[OpenWrtWiki]UCI默认设置官方示例:cat<<"EOF">/etc/uci-d......
  • Ubuntu交叉编译环境配置
    Ubuntu交叉编译环境配置近期遇到了一些交叉编译相关的问题,这里以Ubuntu24.04上的arm32的交叉编译为例,介绍下如何在Linux中配置交叉编译环境。1.准备交叉编译工具链交叉编译工具链是指可以在宿主机上运行但编译目标平台不同的编译工具链。交叉编译工具可以使用包管理器直接安......
  • GDB交叉编译
    GDB交叉编译1.环境编译环境:Ubuntu20.04目标平台:RK35662.下载gdb源码,我选择使用10.1版本https://ftp.gnu.org/gnu/gdb/?spm=a2c6h.12873639.article-detail.7.96081599YGoRcW3.解压$tar-xvfgdb-10.1.tar.gz4.configure配置--prefix指定编译输出路径CC指定......
  • futex系统调用分析
    futex- fastuser-spacelockingfutex是一个内核态和用户态共同参与实现的锁。它基于一个观察,大多数情况下可能并没有锁的争抢,所以没有必要每次都陷入内核态,可以首先在用户态查询一下锁是否被其他进程/线程占用,如果没有占用可直接返回,无需调用futexsyscall。用户态这一部分实......
  • 系统调用
    系统调用‍​​‍系统调用的概念和作用操作系统作为用户和计算机硬件之间的接口,需要向上提供一些简单易用的服务。主要包括命令接口和程序接口。其中,程序接口由一组系统调用组成。应用程序可通过系统调用来请求获得操作系统内核的服务。‍——系统调用与库函数的区别​​......