作者:良知犹存

转载授权以及围观:欢迎添加微信公众号:Conscience_Remains

总述

    这是之前ST芯片载keil下开发时候总结的一些代码文件options配置小笔记,虽然不是很复杂但是在使用的过程中很方便,这里给大家介绍一下。一个是一个bug介绍,第二个是多个同名代码文件的条件编译,第三个是“文件的解锁/开锁”。

一、bug解释

keil编译遇到这样的提示

FCARM - Output Name not specified,please check 'Options for Target - Utilities'

 

一般是原因是加载文件时为了选择.md .TXT等非.c.h.lib说明文件,而且在配置选项选择了代码文件被一同编译。

解决方法如下:

将工程目录里面非程序的文件,右键并选择第一项Options

file Type选项中,将文件设置为Text文本属性,问题解决。

二、多个同名的代码文件的选择编译设置

我们经常可以在group里面看到一些有红色横杠或者雪花一样的图标,而且一般这些文件都是同样的作用,我们不禁想问,同样作用甚至相同名称的文件为什么可以在一个group下可以编译通过。

下面我就教大家如何把相同的文件进行不同条件的编译:

和第一个技巧的操作类似,第一步先选择文件,右键选择Options选项,这个时候如果是正常显示的文件,则在Properties一栏的右上角,Include in Target Build 和 Always Build是灰色勾选的状态,代表此文件在keil下编译是否会被视作需要编译的文件,否则该文件不被编译。

下面我就选择了system_stm32f0xx.c的文件进行去掉被编译的选项,然后在groups一栏中文件显示红色禁止横杠,显示该文件待会编译的时候不进入编译。

使用场景:一般我们代码进行条件编译会用#if #endif,但是有时候出现不同条件下代码差异巨大,必须用文件来进行区分的时候,我们就可以用这样的配置进行条件编译,我之前底层代码有些用STD库,有些用LL库,我为了方便就选择了使用批量设置文件不进入编译选择。

三、文件的解锁与开锁

我们在开发的时候有时候会遇到groups下面的文件上方有一个小锁的标志,那么这个锁意思是什么呢?

这个在keil的实时环境配置(因为这些文件都来自keil安装目录下,一旦修改所有调用的代码都被更改)的文件中很常见,是为了防止使用者修改代码。说白了,就是该文件只可被读,不可被写,这样使用者就无法修改文件里面的内容了。

但是有些时候我们使用的时候也需要修改,甚至我们也想把代码给其他人使用的时候提前设置成只读模式(还有lib文件,这个以后再说),这样给别人使用就比较安全。

解决方法:这个也很简单,就是找到该文件的存放目录,选择右键属性,取消设置只读即可。

这就是我分享的几种开发小技巧,如果大家有什么更好的思路,欢迎分享交流哈。

更多分享,扫码关注我

最新文章

  1. bzoj2243
  2. CentOS 7部署Node.js+MongoDB:在VPS上从安装到Hello world
  3. 复利程序(c语言)(张俊毅 周修文)
  4. 一个端口操作类PortHelper
  5. 自定义强大的C#网络操作基础类(NetHelper)
  6. 宏HASH_GET_NEXT
  7. 增加字体和颜色样式-------CSS
  8. 添加、设置tabBarItem属性
  9. MySQL flush tables with read lock
  10. python给多个发送邮件附件,参考于《python自动化运维》
  11. 点击显示子菜单,离开隐藏子菜单(onmouseout下包含a标签的js解决方法)
  12. 逆向课程第二讲,寻找main入口点
  13. Android开发之漫漫长途 Ⅷ——Android Binder(也许是最容易理解的)
  14. C#抽象类应用实例
  15. sql 用临时表时报错 "Chinese_PRC_90_CI_AI" 和 "Chinese_PRC_CI_AS" 之间的排序规则冲突
  16. 用ImageJ快速分析和处理图像
  17. 今日头条移动app广告激活数据API对接完整Java代码实现供大家参考》》》项目随记
  18. rsync 服务器搭建遇到的问题
  19. C++添加热键和捕获组合键
  20. SALALchemy Session与scoped_session的源码分析

热门文章

  1. TCP VS UDP
  2. STP、PVST、MST协议
  3. VsCode/Pycharm配合python env 使用
  4. 十八:SQL注入之堆叠及绕WAF
  5. 【Jboss】A RESOURCE POOL IS PERMANENTLY BROKEN!
  6. 【Linux】ssh互信脚本
  7. LeetCode349. 两个数组的交集
  8. 【中文】【deplearning.ai】【吴恩达课后作业目录】
  9. COLMAP简易教程(命令行模式)
  10. 不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK