Keil编程不同驱动文件引用同一个常量的处理方法

news2025/1/18 21:02:16

基础不牢,地动山摇,最近单片机编程又遇到一个基础问题。

我在头文件中定义了一个常量同时给两个驱动文件使用,封装的时候编译没问题,但是在main函数中引用驱动函数的时候就出现了重定义的问题,如下如所示。

解决方法很多,例如放弃包含头文件,在驱动中extern常量等等。但是最规范的方法是使用C语言定义复用的规范:即在 C文件中定义,在头文件中extern声明,需要使用的地方引用这个头文件。

如下图所示:

某些头文件内部定义了变量(比如屏幕字库),一般只由一个C文件引用的话问题不大,懂具体编译原理的大佬还请不吝赐教。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1674412.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java modbus 实现RTU串口作为slave(服务端)读写数据

这里要了解下modbus的RTU和TCP 的几个名称关系: Modbus/RTU:主站 和从站 关系 Modbus/TCP:客户端和服务端关系 关系 主站主动找从站读写数据 客户端主动找服务端读写数据 所以当使用Modbus/TCP时,主站一般作为客户端&#xff…

C/C++:Windows动态链接库

动态链接库(Dynamic Link Library,简称DLL)是在运行时加载的库,它们的代码和数据在内存中与目标程序共享;这意味着多个程序可以共享相同的库实例,并且库的代码可以在不重新编译目标程序的情况下更新。 工作…

怎么转换音频?看这3款音频转换器

随着数字媒体的发展,音频文件在我们的日常生活中占据了越来越重要的地位。有时候在不同的应用场景里,无论是音乐、语音还是其他类型的音频内容,我们都需要对其进行转换以满足不同的需求。 本文将为您介绍3款常用的音频转换器,帮助…

基于.NetCore和ABP.VNext的项目实战一:abp cli 搭建项目

学习了阿星Plus的博客项目,自己也试着搭建自己的博客。 ABP和ABP.VNext的主要区别在于核心库的精简、对领域驱动设计(DDD)的关注、以及使用的技术栈。 1、ABP VNext的核心库相比ABP更加精简,它将原有许多组件从核心库中抽离成独立的组件,这使得开发者可以更灵活地选择需要…

Github新手入门使用方法

**存在问题:**新手如何快速入门github,能够下载开源文件,并且修改后更新远程github仓库; 解决方案: 参考: http://www.360doc.com/content/24/0301/12/60419_1115656653.shtml https://blog.csdn.net/gongd…

Python环境变量的访问:从入门到精通

环境变量是操作系统中的一种特殊变量,它允许用户在不修改程序的情况下,通过配置文件来改变程序的行为。在Python中,访问环境变量是一个常见的需求,无论是为了读取配置信息、获取系统信息,还是进行程序调试。本文将详细…

荆州科技局副局长乔梁莅临湖北点赋网络科技公司参观调研

近日,荆州科技局副局长乔梁,莅临湖北点赋网络科技公司进行参观调研。点赋科技总经理崔梦娇亲自陪同,向副局长介绍了公司的D咖智能饮品机器人经营状况和研发进展情况。 在参观过程中,副局长乔梁对点赋科技的创新能力和技术成果给予…

商业模式都验证不了,还搞APP,莫非想早死早投胎。

有几个原因可以解释为什么大部分互联网创业者选择先开发小程序而不是直接做App: 低成本和快速开发:相比于开发一个完整的App,开发小程序的成本更低且开发周期更短。小程序可以在现有的移动平台上运行,无需独立的安装和更新&#…

地产人的福音!VR全景分屏对比,让装修施工一目了然

现如今,VR全景已成为地产行业不可或缺的应用工具,从地产直播到楼市VR地图,从效果图到水电家装施工记录,可以说整个地产行业的上下游生态中都可以看到720云VR全景的身影。 以720云VR全景作为直播载体 VR全景高清矩阵地图等多种内容…

干部民主测评:深化管理智慧,凝聚团队力量

在现代化组织管理的广阔舞台上,干部民主测评扮演着举足轻重的角色。它不仅是评价干部工作实绩、能力素质的有力工具,更是推动组织向民主化、科学化、规范化迈进的强大引擎。通过民主测评,我们能够深入洞察每位干部的工作表现、群众基础和领导…

好物分享类视频带货怎么做?萤瓴优选开启爆款视频领取模式!千万不要错过!

好物分享类视频带货,作为当下热门的电商营销方式,正以其独特的魅力和效果吸引着越来越多的 keJ0277 商家和消费者。在这个充满机遇和挑战的时代,如何成功打造一款爆款好物分享视频,成为了众多商家关注的焦点。萤瓴优选&#xff0c…

【js刷题:数据结构链表篇之移除链表元素】

移除链表元素 一、定义链表节点(面试时要自己写)二、题目三、移除头节点1、直接在原链表中操作移除2、设置一个虚拟头结点在再进行删除操作 四、解题代码 一、定义链表节点(面试时要自己写) class ListNode {val;next null;cons…

最新VS code配置C/C++环境(tasks.json, launch.json,c_cpp_properties.json)及运行多个文件、配置Cmake

目录 一、VScode配置C/C环境,需设置tasks.json, launch.json文件 二、安装C/C扩展,配置tasks.json、launch.json、c_cpp_properties.json文件 (1)安装c/c扩展 (2)配置tasks.json文件 (3)配置launch.json文件 (4)配置中的参数(属性)说明 (5)运行程序(运行…

JINGWHALE 数字科学艺术创新中心

使命宗旨 JINGWHALE 数字科学艺术创新中心 以人文思想,结合自然科学,知行合一的践行人类数字化共产事业!凝聚创造智慧,指导引领创建更美好的物质世界,获得更好的精神体验! JINGWHALE 全人类数字共产主义理…

Oracle sqlnet.ora配置文件

一、作用 这里可以看官网解释Parameters for the sqlnet.ora File (oracle.com) 该文件是配置文件配置文件。它驻留在客户端计算机和数据库服务器上。配置文件使用此文件进行存储和实现。可以使用文件中的访问控制参数配置数据库服务器。这些参数根据协议.sqlnet.orasqlnet.o…

59.基于SSM实现的网上花店系统(项目 + 论文)

项目介绍 本站是一个B/S模式系统,网上花店是在MySQL中建立数据表保存信息,运用SSMVue框架和Java语言编写。并按照软件设计开发流程进行设计实现充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得基于SSM的网…

宝兰德成为中国信通院政企信创促进中心成员 共谱信创产业新篇章

近日,中国信通院云计算标准和开源推进委员会2024年第一次全体工作会议圆满结束。会上,宝兰德获得由中国信通院和EDCC政企信息技术应用创新促进中心授予的荣誉证书,成为政企信创促进中心成员单位。 关于政企信创促进中心 中国信通院政企信创促…

langchain_community切分各种文档数据;加载向量模型;使用向量库

参考: https://github.com/langchain-ai/langchain https://api.python.langchain.com/en/latest/community_api_reference.html https://github.com/shibing624/ChatPilot/blob/384f18e4f10f87e10f104f9ff57f02c655588035/chatpilot/apps/rag_app.py 安装: pip instal…

视频号小店怎么做?详细步骤分享,简单易学!

哈喽,大家好,我是醒醒团队的电商花花。 视频号小店电商最近我们应该也听到过不少,这个项目作为一个新平台电商项目,有着很大的流量和市场,值得我们去投资去深入。 而且视频号小店项目我们不用囤货,发货&a…

全球量子计算已开始商业化!应用最多的行业你一定想不到

内容来源:量子前哨(ID:Qforepost) 文丨卉可 排版丨沛贤 深度好文:2600字丨5 分钟阅读 01 量子计算是一场高风险的游戏 近日,PsiQuantum从澳大利亚联邦政府和地方政府获得了10亿澳元资金,这…