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

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

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

什么程序的跨平台

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

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

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

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

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

条件编译的书写排版

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

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

条件编译关键字——#if

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

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

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

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

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

条件编译初认识

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

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

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

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

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

原码,反码,补码的深入理解与原理

本文从原码讲起。通过简述原码,反码和补码存在的作用,加深对补码的认识。力争让你对补码的概念不再局限于:负数的补码等于反码加一。接触过计算机或电子信息相关课程的同学,应该都或多或少看过补码这哥仨。每次都是在课本的最前几页,来上这么一段:什么反码是原码除符号位,按位取反。补码等于反码加一。然后给整得莫名......

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

一篇文章看懂二进制、八进制、十进制、十六进制数据转换

进制转换是人们利用符号来计数的方法。进制转换由一组数码符号和两个基本因素“基数”与“位权”构成。基数是指,进位计数制中所采用的数码(数制中用来表示“量”的符号)的个数。位权是指,进位制中每一固定位置对应的单位值。进制也就是进制位,对于接触过电脑的人来说应该都不陌生,我们常用的进制包括:二进制、八进制......

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

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

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

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

IDEA中xml出现URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs)爆红

IDEA中xml出现URIisnotregistered(Settings|Languages&Frameworks|SchemasandDTDs)爆红解决方式:1、进入设置【IntelliJIDEA】->【Preferences...】2、依次点击【Languages&Fra......

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

git报错the remote end hung up unexpectedlyMiB解决方法

git下载一半报错theremoteendhungupunexpectedlyMiBfatal:theremoteendhungupunexpectedlyMiB|8.00KiB/sfatal:earlyEOFfatal:index-packfailed解决办法,修改git配置//httpBuffe......

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

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

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

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

宏深入用法——减少函数定义,简化函数调用

1使用宏来减少函数定义,简化函数调用recode_lock.h#ifndef___RECODE_LOCK__#define___RECODE_LOCK__#include<unistd.h>#include<fcntl.h>#include<stdlib.h>/*......

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

一部全网最全的 JDK 发展历史轨迹图

Java语言的相关组织和规范(其他语言也有类似的组织):JCP:(JavaCommunityProcess)由世界上各个为Java发展操心的人士组成的社区,参与定义Java新特性和新版本制定标准的组织。JSR:(JavaSpecificationRequests)Java语言规范请求文档,你可以对J......

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

Vert.x借助AsyncResult优雅处理异常

说起java的异常处理,大家首先想到的是简单粗暴的try.....catch...finally.但在Vert.x中,Vert.x为我们封装了更加优雅的异常处理方式,大多数情况下不需要我们手写try....catch。Vert.x中,大多数Handler接口都是Handler<AsyncRes......

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

Vert.x优雅异步编程——Future+Promise

之前我们为了保持课程的紧凑性与连贯性,直接从官网上粘贴了很多不优雅的代码(顺便吐槽一下官网的示例代码,Vert.x明明有更优雅的方案,但大多数示例代码却并没有按照优雅的方式去写)之前的代码有好多都是lambda表达式里面再套lamdba表达式,以及lambda表达式中.套.........同,时........

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

Vert.x中外部化参数配置

Vert.xConfig提供了一种配置Vert.x应用程序的方法。它:提供多种配置语法(JSON,属性,Yaml(扩展名),Hocon(扩展名)...提供多种配置存储,例如文件,目录,HTTP,git(扩展名),Redis(扩展名),系统属性和环境属性。让您定义处理顺序和重载支持运行时重新配置Ver......

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

Vert.x中的日志处理

我们之前在启动项目的时候,会有log4j的警告,那是因为我们没有加入日志信息。加入日志信息我们需要进行下面操作:1、首先在resources的根目录创建log4j.properties文件###设置###log4j.rootLogger=debug,stdout,D,E###输出信息到控制抬###l......

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