【zig指标源码】【租房管理源码】【lede 源码编译固件】98vip源码

2024-11-15 07:04:08 来源:国外私有云源码 分类:热点

1.stm32和if的区别

98vip源码

stm32和if的区别

       STM程序中if和#if的区别

       ï¼ˆ1)⾸先,if是条件语句,#if是预处理指令,功能相同,执⾏的时期不同

       ï¼ˆ2)举例1:

       #define A 2

       #if A==2

       void foo()

       {

       printf("A == 2");

       }

       #else

       void foo()

       {

       printf("A != 2");

       }

       #endif

       int main()

       {

       foo();

       }

       ä¸¾ä¾‹2:

       è¿™æ ·ä¼šè¾“出 A == 2

       å¦‚果改变#define A 2就可能会输出A != 2

       #if.

       a

       #else

       b

       #endif,其实这个就是选择编译那部分,和if-else的区别就是:编译的时候进⾏选择的,如果是a的话,b那么就根本不去编译,⽽if-else是全部编译好的,然后再去运⾏

       é‚£ä¹ˆé—®é¢˜æ¥äº†ï¼Œ⽤#if #else的预处理⽅式,如果是a的话,那么在程序运⾏中,条件满⾜else了,那么会执⾏b吗??

       ç­”案是:不会,原因在(3)中解释

       ï¼ˆ3)#if的作⽤:有些程序在调试、兼容性、平台移植等情况下可能想要通过简单地设置⼀些参数就⽣成⼀个不同的软件,这当然可以通过变量设置,把所有可能⽤到的代码都写进去,在初始化时配置,但在不同的情况下可能只⽤到⼀部分代码,就没必要把所有的代码都写进去,就可以⽤条件编译,通过预编译指令设置编译条件,在不同的需要时编译不同的代码。

       æ‰€ä»¥ï¼Œ⼀旦预处理条件部分编译后,在运⾏中只执⾏符合条件的部分代码块

       å³å¯ä»¥è®¾ç½®ä¸åŒçš„条件,在编译时编译不同的代码,预编译指令中的表达式与C语⾔本⾝的表达式基本⼀⾄如逻辑运算、算术运算、位运算等均可以在预编译指令中使⽤。之所以能够实现条件编译是因为预编译指令是在编译之前进⾏处理的,通过预编译进⾏宏替换、条件选择代码段,然后⽣成最后的待编译代码,最后进⾏编译。

       #if 的⼀般含义是如果#if 后⾯的常量表达式为true,则编译它所控制的代码,如条件1成⽴时就代码段1,条件1不成⽴再看条件2是否成⽴,如果条件2成⽴则编译代码段2,否则再依次类推判断其它条件,如果条件1-N都不成⼒则会编译最后的代码段n+1。

       ï¼ˆ4)#if的好处: 系统裁剪

       ç³»ç»Ÿè£å‰ªæ˜¯é’ˆå¯¹ç³»ç»Ÿçš„⽤途,对系统的源代码进⾏⼀下优化,减少不必要的功能。

       /*--------------------------------------------------------------------*/

       #include“stdio.h”

       #define TEST_2 1

       int main()

       {

       int a=;

       #if TEST_2

       int *b=&a;

       *b = ;

       #endif

       a++;

       }

       /*----------------------------------------------------------------------*/

       å¦‚上⾯的例⼦,对于某些功能不需要,我们只需对于的功能TEST_2的宏定义改成0,然后重新编译就⾏了。当然⼀般宏定义是放在⼀个特定的⽂件(这⾥为了简单就写在⼀起),这样外⾯的⼈只需要更改那个⽂件所对应的值就⾏对系统进⾏裁剪⽽不需要关⼼具体代码,就⾏实现裁剪。

       ï¿¥

       5.9

       ç™¾åº¦æ–‡åº“VIP限时优惠现在开通,zig指标源码立享6亿+VIP内容

       ç«‹å³èŽ·å–

       STM程序中if和#if的区别

       STM程序中if和#if的区别

       ï¼ˆ1)⾸先,if是条件语句,#if是预处理指令,功能相同,执⾏的时期不同

       ï¼ˆ2)举例1:

       #define A 2

       #if A==2

       void foo()

       {

       printf("A == 2");

       }

       ç¬¬ 1 页

       #else

       void foo()

       {

       printf("A != 2");

       }

       #endif

       int main()

       {

       foo();

       }

       ç¬¬ 2 页

       ä¸¾ä¾‹2:

       è¿™æ ·ä¼šè¾“出 A == 2

       å¦‚果改变#define A 2就可能会输出A != 2

       #if.

       a

       #else

       b

       #endif,其实这个就是选择编译那部分,和if-else的区别就是:编译的时候进⾏选择的,如果是a的话,b那么就根本不去编译,⽽if-else是全部编译好的,然后再去运⾏

       ç¬¬ 3 页

       é‚£ä¹ˆé—®é¢˜æ¥äº†ï¼Œ⽤#if #else的预处理⽅式,如果是a的话,那么在程序运⾏中,条件满⾜else了,那么会执⾏b吗??

       ç­”案是:不会,原因在(3)中解释

       ï¼ˆ3)#if的作⽤:有些程序在调试、兼容性、平台移植等情况下可能想要通过简单地设置⼀些参数就⽣成⼀个不同的软件,这当然可以通过变量设置,把所有可能⽤到的代码都写进去,在初始化时配置,但在不同的情况下可能只⽤到⼀部分代码,就没必要把所有的代码都写进去,就可以⽤条件编译,通过预编译指令设置编译条件,在不同的需要时编译不同的代码。

       ç¬¬ 4 页

       æ‰€ä»¥ï¼Œ⼀旦预处理条件部分编译后,在运⾏中只执⾏符合条件的部分代码块

       å³å¯ä»¥è®¾ç½®ä¸åŒçš„条件,在编译时编译不同的代码,预编译指令中的表达式与C语⾔本⾝的表达式基本⼀⾄如逻辑运算、算术运算、位运算等均可以在预编译指令中使⽤。之所以能够实现条件编译是因为预编译指令是在编译之前进⾏处理的,通过预编译进⾏宏替换、条件选择代码段,然后⽣成最后的待编译代码,最后进⾏编译。

       #if 的⼀般含义是如果#if 后⾯的常量表达式为true,则编译它所控制的代码,如条件1成⽴时就代码段1,条件1不成⽴再看条件2是否成⽴,如果条件2成⽴则编译代码段2,否则再依次类推判断其它条件,如果条件1-N都不成⼒则会编译最后的代码段n+1。

       ç¬¬ 5 页

       ï¼ˆ4)#if的好处: 系统裁剪

       ç³»ç»Ÿè£å‰ªæ˜¯é’ˆå¯¹ç³»ç»Ÿçš„⽤途,对系统的源代码进⾏⼀下优化,减少不必要的功能。

       /*--------------------------------------------------------------------*/

       #include“stdio.h”

       #define TEST_2 1

       int main()

       {

       int a=;

       ç¬¬ 6 页

       #if TEST_2

       int *b=&a;

       *b = ;

       #endif

       a++;

       }

       /*----------------------------------------------------------------------*/

更多资讯请点击:热点

推荐资讯

抖音批量下载视频源码_抖音批量下载视频源码怎么弄

1.��������������ƵԴ��2.Python代码爬取抖音无水印视频并下载-附源代码3.制作一款仿抖音的短视频源码多少钱4.Python工具TikTokDownloader抖音下载神器5.视

个人云系统源码_个人云系统源码怎么用

1.如何用源代码建立一个网站2.红盟云卡发卡系统零基础搭建 + 最简单易用的个人发卡系统 详细教程 + 网站源码)3.源码交易哪个好?4.2023最新彩虹易支付搭建系统网站源码免签约5.搭建nextc

该怎么阅读项目源码_如何阅读项目源码

1.如何轻松阅读github上的项目源码?2.怎么看源码?3.如何快速读懂项目源码javaWeb4.如何阅读spring源码?如何轻松阅读github上的项目源码? 在探索GitHub上的项目源码