c语言中的宏的妙用

news/2024/11/7 16:38:57/

文章背景

前段时间,为了做一个项目中的程序,大致是实现SQL类似功能的索引功能,需要建立一张索引表,分析后,该表是在程序运行前就存在的,在参考优秀代码后,自己还是决定用宏来写这样一个功能的实现代码。

C语言中宏的功能

1) 替换功能,the basic function is knowed by all programers,I think;

就是这个小小的功能,却能够使程序看起来高深莫测许多,同时简化代码的复杂度O( )。

2)条件编译。
该功能的作用最能体现在系统移植的代码上,如果一想到用一个条件编译,你的代码就能在不同的平台上运行,那是一件多么美妙的事情。


这是我认为宏的最主要的两个功能。


宏的编译

在代码编写完毕后,在编译软件编译时,准确是在编译之前,宏声明的内容就被替换。也就是说,在程序运行或者初始化之前,宏 已经干了没有付钱的工作了。

 

宏高级用法举例
1) 用宏的黏贴功能,能够实现一个宏定义声明多个不同名称的变量;
2) 用带参数的宏,能够实现简单函数的功能;
 

#define CREATE_RAM_DATA   

#include "xx.h"

#undef CREATE_RAM_DATA

 

#defineCREATE_ROM_DATA  

#include"xx.h"

#undef CREATE_ROM_DATA

 

xx.h 文件中调用yy.h文件,该文件声明具体的宏;xx.h 文件中运用声明的宏根据不同的 开关,实现不同的功能。

也就是说,用相同的宏,yy.h中定义,在不同的开关作用下,实现了不同的功能。

可能各位这个看起来很容易,但是实际的运用中可能是相当的复杂,也许你的代码99%的实现是在.h 文件中来实现,而相应的.c 文件中石油一行,那就是包含该文件对应的.h文件。

例如:

xxx.c文件中的代码:

#include "xxx.h"

然后就没有了,其实功能都在xxx.h中实现了。

 

 

 


http://www.ppmy.cn/news/674037.html

相关文章

【C语言进阶】宏

🚀write in front🚀 📜所属专栏:> c语言学习 🛰️博客主页:睿睿的博客主页 🛰️代码仓库:🎉VS2022_C语言仓库 🎡您的点赞、关注、收藏、评论,是…

Centos开放端口以及查看端口和防火墙配置命令

查看防火墙某个端口是否开放 firewall-cmd --query-port8080/tcp 开放防火墙端口 8080 firewall-cmd --add-port8080/tcp --permanent 开启端口后需执行 firewall-cmd --reload 使其生效 重新加载防火墙规则 firewall-cmd --reload 关闭防火墙端口 firewall-cmd --remove-port8…

智慧园区平台建设解决方案

智慧园区是指利用现代互联网物联网技术,对园区内的设施、设备和人员进行高效管理和智能化运营的一种模式。越来越多的城市开始致力于发展智慧园区,实现园区内的资源共享和高效利用。为了让智慧园区达到最佳的效果,我们需要从平台建设方面入手…

gta5怎么设置画质最好_GTA5:如何让你的游戏画质更好,游戏更顺手,一波设置教给大家!...

GTA5:如何让你的游戏画质更好,游戏更顺手,一波设置教给大家! 大家都知道GTA5这个游戏,这个游戏无疑最受玩家瞩目热门游戏之一,但是因为这款游戏对配置的要求比较高,如果想达到完美的平衡以及游戏…

win10鼠标灵敏度怎么调_刺激战场:吃鸡灵敏度怎么调最科学?大神主播手把手教学诀窍!...

各位热爱吃鸡的小伙伴们,大家好,这里是由无双为大家带来的一手刺激战场资讯! 不少玩家都曾思考过技术是否和设备或者游戏设置挂钩,刺激战场作为一款手游难免会让玩家引起这些思考。但是无双认为设备对游戏的影响肯定是有&#xff…

绝地求生——PUBG吃鸡游戏模糊,画质很差

如果不是配置低,那就是没有开启全屏模式 打开设置在里面找到一个选项,把游戏从无边框改为全屏显示

灵敏度上下左右抖动怎么调_不求人:主播跟大神的灵敏度不适合自己?手把手教你调《和平精英》灵敏度...

玩《和平精英》这种钢枪游戏,手不抖、压枪亚得稳非常重要。但是度对很多玩家来说即使看了无数个主播大神的教学视频、甚至把主播的灵敏度直接照搬过来还是压不住枪,这究竟是什么原因呢? 其实每部手机的灵敏度跟个人的指法、操作习惯都不是完全一样的。而有的玩家自己用的平板…

Android吃鸡 3dtouch,绝地求生刺激战场3Dtouch怎么用 3Dtouch设置攻略

相信很多小伙伴都已经看到刺激战场最近爆料了很多内容,其中就包含了苹果手机知名的操作技术,那么绝地求生刺激战场3Dtouch怎么用呢,来随小编看看吧。 绝地求生刺激战场3Dtouch怎么设置: Q:绝地求生刺激战场3dtouch怎么…