C
条件编译——在C跨平台时的作用

1、c/c++程序如何实现跨平台c/c++属于典型的编译型语言,跨平台时大致分两种情况。第一种:跨平台时不需要修改源码直接换一个针对另一个环境的编译器来重新编译即可。第二种:需要修改源代码先修改源代码,然后再换编译器实现重新编译。(a)第一种:不需要修改源码,直接换一个环境的编译器重新编译什么样的C......

李庆林  0 浏览   0 喜欢   0 评论

什么程序的跨平台

条件编译作用2————帮助我们的程序(c/c++)实现跨环境(平台)我们在正式介绍之前,我们先了解下有关“跨平台”是怎么回事。1)什么是跨平台所谓的跨平台,就是让“同一个程序”能够应对多个环境,可以在多个环境下运行,这就好比两栖战车,既能在水上环境跑,又能在陆地跑,能够适应不同环境。这个“环境”主要......

李庆林  3 浏览   0 喜欢   0 评论

条件编译——防止头文件重复包含

1、具体是什么时候会用到条件编译呢?前面介绍过,大致用在三类地方:(1)文件内容被重复include时,去掉重包含的内容(2)帮助我们的程序的跨平台(3)辅助调试程序1.1文件内容被重复include时,去掉重包含的内容我们以include头文件来举例介绍,当一个C/C++工程文件写复杂后,在一个.......

李庆林  8 浏览   0 喜欢   0 评论

条件编译的书写排版

1、条件编译书写时的排版问题1.1什么是条件编译的排版就是#if、#elif、#else、#endif关键字的对齐、缩进等等,这些就是“条件编译”的排版。1.2为什么介绍条件编译的书写排版两个原因:(1)写出更容易阅读的条件编译。与{...}的这种书写方式对比起来,条件编译的#if...#endif......

李庆林  4 浏览   0 喜欢   0 评论

条件编译关键字——#if

1#if(1)基本格式#if表达式...#endif表达式为真:保留代码表达式为假:不保留代码#if后的“表达式”有两种:第一种:为整形常量,或者整形常量表达式第二种:为由defined、!defined组建表达式1)第一种:表达式为整形常量(a)格式#if整形常量,或者整形常量表达式...#end......

李庆林  17 浏览   0 喜欢   0 评论

条件编译关键字——#ifdef、#ifndef

1#ifdef、#ifndef(1)基本格式1)格式·#ifdef#ifdef宏...#endif#ifdef是以宏存不存在(有没有定义)来判断真假的,如果宏存在:真,保留代码不存在:假,不保留代码·#ifndef#ifndef宏...#endif情况刚好与#ifdef相反,如果宏不存在:为真,保留......

李庆林  12 浏览   0 喜欢   0 评论

条件编译初认识

1.条件编译由于C++兼容C语法,所以我们这里介绍的虽然是C的条件编译,但是在C++中也是这样的。1.1条件编译的作用其实是从“条件编译”这个名字上就能看出,所谓“条件编译”其实就是“按照条件去编译”。也就是“预编译”时,预编译器处理“条件编译”时,可以通过“条件编译”帮你保留某些代码、以及帮你去掉......

李庆林  14 浏览   0 喜欢   0 评论

宏深入用法——对类型进行自定义命名

1、回顾module_init()的作用两个:·第一个:告诉内核,驱动程序的入口函数的地址·第二个:设置相应的属性·第一个:告诉内核,驱动程序的入口函数的地址做法是定义一个函数指针变量,然后将入口函数地址保存到里面,内核即可通过这个指针变量来调用。指针变量的名字中有一部分就是入口函数名字。stati......

李庆林  12 浏览   0 喜欢   0 评论

宏深入用法——分析module_init()宏

分析module_init()宏module_init是一个带参宏,只不过Linux内核把它写成了小写的,不过我们说过,在我们在自己的代码中应该尽量将宏写成大写。为什么内核喜欢将好些带参宏写成小写?就是想让你把它看成是一个函数,或者说就是希望你把它理解为一个函数,当成一个函数来用,不过它其实是一个宏......

李庆林  22 浏览   0 喜欢   0 评论

宏深入用法——Linux驱动中的真实案例module_init()带参宏

Linux驱动中的真实案例——module_init()带参宏不过为了讲清楚这个例子,我们需要先做一些知识铺垫。当然我们这里讲Linux驱动中的这个案例,实际上也是在为后面Linux驱动的课程打基础,有一定的知识铺垫后,对于大家后面学习驱动的课程,也是非常有帮助的。(1)入口函数1)什么是入口函数入......

李庆林  22 浏览   0 喜欢   0 评论

Total 32
  • 1
  • 2
  • 3
  • 4