当前位置:首页 > 单片机 > 程序喵大人
[导读]Part1一、让自己习惯C条款01:视C为一个语言联邦C并不是一个带有一组守则的一体语言:他是从四个次语言(C、Object-OrientedC、Template、STL) 组成的联邦政府,每个次语言都有自己的规约。记住这四个次于语言你就会发现C容易了解得多。条款02:尽量以co...


Part1一、让自己习惯C

条款01:视C 为一个语言联邦

C 并不是一个带有一组守则的一体语言:他是从四个次语言( C、Object-Oriented C 、Template、STL )  组成的联邦政府,每个次语言都有自己的规约。记住这四个次于语言你就会发现C 容易了解得多。

条款02:尽量以const,enum,inline替换 #define

 #define ASPECT_RATIO 1.653

以上句为例,是通过预处理器处理而不是编译器处理,有可能ASPECT_RATIO 没进入记号表内,于是如果出现了编译错误,那么编译器会提示错误信息是 1.653  而不是 ASPECT_RATIO ,你会感到非常困惑。解决方法是用常量替换宏const double AspectRatio = 1.653这样编译器就可以看到ASPECT_RATIO ,而且使用常量会使代码量较小,因为预处理器只会盲目的替换而出现多份 1.653string对象通常比char* 更好一点对于class的专属常量,为了限制作用域在class内,并且防止产生多个实体,最好使用static    1. 如果你的编译器支持在类内对const static 整数类型声明时获初值,则使用
    2. 如果不支持,则在类内定义,在对应的实现文件中赋值

如果你需要在编译器就使用一个class常量值,则应最好改用枚举类型enum,且枚举不能用来取地址,不会为它分配额外的存储空间对于形似函数的宏,最好改用inline的模板函数

条款 03:尽可能使用const

const出现在星号左边目标是指物是常量,出现在星号右边表示指针本身是常量,如果出现在两边,则指针和物都是常量void f1(const Widget* pw)和void f2(Widget const* pw)两种写法意义相同,都表示被指物是常量 对于STL迭代器来说,如果你希望迭代器所指的动科不可改动,你需要的是const_iterator 令函数返回一个常量值,往往可以降低因客户错误而造成的意外(例如把一个值赋值给一个返回值) 将const实施与成员函数的目的是为了明确该成员函数可作用于const对象:    1. 他们使class接口比较容易理解
    2. 他们使得可以操作const对象

const成员函数和no-const成员函数可重载,即可以同时出现,在传入不同的参数时候会调用不同的版本,但是有时我们需要这样,但是又不想代码重复,我们可以在no-const成员调用const成员函数来处理这个代码重复问题 例如:const_cast
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在C语言编程中,结构体内存对齐是一个容易被忽视却影响深远的关键问题。它不仅关乎程序性能,更直接影响到内存占用效率,尤其在嵌入式系统等资源受限环境中显得尤为重要。本文将深入探讨结构体内存对齐的原理,并分享手动调整与编译器优...

关键字: C语言 内存对齐 编译器

编译器不仅是连接硬件与软件的桥梁,还直接影响MCU的性能优化与功能安全。面对汽车行业对高可靠性、低功耗和高算力的需求,编译器需在确保ASIL-D等严格标准的同时,最大化发挥RISC-V芯片的潜力。

关键字: 车规MCU RISC-V 编译器 HighTec

国内电子信息产业内的厂商正在全球嵌入式系统的发展浪潮中扮演着越来越重要的角色,但随之而来的是国内嵌入式系统和相关芯片企业在出海时也面临越来越多的合规要求,尤其是在保障用户、设备和周边人与物安全的功能安全领域内的合规要求。...

关键字: 嵌入式系统 智能网联 编译器

【2025年4月11日, 德国慕尼黑讯】全球功率系统和物联网领域的半导体领导者英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)推出用于AURIX™、TRAVEO™和PSOC™的可扩展软件包产品组合...

关键字: PSOC 物联网 编译器

瑞典乌普萨拉,2025年3月11日 — 全球领先的嵌入式系统开发软件解决方案供应商IAR在德国纽伦堡举办的embedded world 2025展会上重磅发布全新云端平台。该平台为嵌入式软件开发人员提供前所未有的自由度与...

关键字: 编译器 嵌入式 RISC-V

该统一解决方案为Microchip编译器产品线提供灵活且经济高效的许可选项

关键字: 编译器 嵌入式

当安全标准相互契合:意法半导体 (ST) Stellar MCU取得了风险管理安全标准等级最高的ISO 26262 ASIL D 级认证,现在更有达到同等安全级别的 HighTec Rust 编译器的加持

关键字: 微控制器 编译器

在STM32的开发过程中,开发者可能会遇到各种编译错误,其中“Program file does not exist”是一个较为常见且可能由多种原因引起的错误。这个错误通常意味着编译器在预期的路径下没有找到可执行文件(如...

关键字: STM32 编译器

基于ARM内核的芯片在我们的世界中无处不在,从简单的MCU到高端的应用处理器,各行各业中都有它们的身影。 如今ARM生态系统非常繁荣,在这繁荣的背后编译器的作用功不可没。

关键字: ARM 编译器

台湾新竹-2024 年 11 月 5 日-新唐科技正式推出免费版 Arm® Keil® MDK Nuvoton Edition,成为全球首家提供 Keil MDK 完整版的公司。此专业工具适用于开发基于Arm Corte...

关键字: 编译器 微控制器 嵌入式
关闭