自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 问答 (1)
  • 收藏
  • 关注

原创 makefile生成*.d依赖文件,解决“只修改.h头文件,包含了该头文件的.c文件不重新编译的问题”

但在我们前面的makefile中,main.o的依赖文件只有main.c(makefile的9~10行),config.h并没有体现在我们的依赖关系中,所以编译器识别不了config.h的修改。我们可以看到,在只更改了config.h后,运行make时,编译器重新生成了main.o目标文件,所以我们对.h文件的修改,就更新到了最后的可执行文件中。在接下来的操作中,我会通过改动config.h中的宏定义,来控制main.c中的输出。-MD所输出的关于main.c的依赖关系的文件,输出在main.d中。

2022-10-29 17:59:57 2319

原创 .bat批处理setlocal enabledelayedexpansion与变量延迟

setlocal enabledelayedexpansion的运用详解

2022-09-30 16:39:15 2186

原创 IIC协议详解

IIC(Inter-Integrated Circuit)总线是一种由 NXP(原 PHILIPS)公司开发的两线式串行总线, 用于连接微控制器及其外围设备。多用于主控制器和从器件间的主从通信,在小数据量场合 使用,传输距离短,任意时刻只能有一个主机等特性。在 CPU 与被控 IC 之间、IC 与 IC 之间进行双向传送,高速 IIC 总线一般可达 400kbps 以上。PS: 这里要注意 IIC 是为了与低速设备通信而发明的,所以 IIC 的传输速率比不上 SPI。图1 IIC总线物理拓扑图。

2022-09-02 20:50:27 6093 3

原创 C语言extern和static关键字详解

在讲extern和static关键字前,先讲几点相关的基础知识——作用域、存储类型、链接属性。这是几个相关性强,且容易混淆的概念。如果这几个概念理解了,再理解extern和static关键字的用法,就很容易。...

2022-07-17 21:43:37 601

转载 RC振荡器和晶体振荡器简介

    振荡器(oscillator)是一种能量装换装置——将直流电能转换为具有一定频率的交流电能。这里介绍两种常见的振荡器:RC振荡器和晶体振荡器。RC振荡器(Resistance & Capacitance)    在振荡电路中的频率选择部分可以只用电阻(resistance)和电容(capacitance)构成。这种只用电阻和电容构成的振荡器称为RC振荡器。优点:    实现成本较低,毕竟就是一个电阻电容。缺点:    由于电阻电容的精度问题所以RC振荡器的振荡频率会有误差,同时受到温度、湿

2022-06-24 21:05:29 2819

原创 DES-CBC加密详解以及C实现

DES-CBC加密详解以及C实现文章目录前言1 DES概述1.1 什么是DES1.2 加密和解密1.3 DES结构(Feistel网络)2分组密码的模式2.1分组密码和模式2.2 ECB模式2.2 CBC模式2.2.1 CBC概述2.2.2 初始化向量3 具体实现3.1 DES算法步骤3.2 IP置换3.3 秘钥置换3.4 生成子秘钥3.5 扩展置换3.6 S盒替代3.7 P盒置换3.8 IP-1末置换4 源代码前言    本文章主要介绍加密算法DES-CBC的原理及C语言实现。DES概述部分是节选的

2022-05-06 21:07:21 2297

原创 PN结相关知识点(PN结原理)

分三个部分阐述:一、半导体、本征半导体二、P型半导体、N型半导体三、PN结的形成四、PN结的单项导电性一、半导体、本征半导体1、半导体:导电性介于导体和绝缘体之间的物质,如硅(Si),锗(Ge)。硅和锗都是四价元素,原子的最外层轨道上有四个价电子。2、本征半导体:纯净的半导体晶体。原子与原子之间通过共价键紧密结合在一起。3、自由电子和空穴:室温下,由于热运动,少数价电子挣脱共价键的束缚成为自由电子,同时在共价键上留下一个空位,这个空位成为“空穴”。失去价电子的原子成为正离子,就好像空穴带

2020-08-31 08:26:09 9101 5

原创 VC++6.0中取消Ctrl+F的查找标记

Ctrl+Shift+F2

2019-07-11 19:11:21 1360

原创 用memset()初始化非字符内存

函数原型: void memset(void *s, int ch, size_t n);函数描述:将s中当前位置后面的n个字节用ch替换,并返回s。注意:由于memset是按字节对内存进行初始化的(按字节的意思就是,要替换n个字节,就要用ch去替换n次,也就是ch只取一个字节(8位二进制位), 对s的后n个字节,逐个替换)。正因为这样的工作方式,导致ch的取值范围为:0~255。所以对in...

2019-03-25 18:56:20 380

原创 杭电oj2046

骨牌铺方格Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 72434 Accepted Submission(s): 34718Problem Description在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输...

2019-03-23 00:10:19 305

原创 杭电2045

不容易系列之(3)—— LELE的RPG难题Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 72231 Accepted Submission(s): 28610Problem Description人称“AC女之杀手”的超级...

2019-03-22 23:18:07 310

原创 杭电oj2044(递推)

一只小蜜蜂…Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 107252 Accepted Submission(s): 37891Problem Description有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行...

2019-03-22 22:06:17 407

原创 杭电2048

HDU 2006’10 ACM contest的颁奖晚会隆重开始了!为了活跃气氛,组织者举行了一个别开生面、奖品丰厚的抽奖活动,这个活动的具体要求是这样的:首先,所有参加晚会的人员都将一张写有自己名字的字条放入抽奖箱中;然后,待所有字条加入完毕,每人从箱中取一个字条;最后,如果取得的字条上写的就是自己的名字,那么“恭喜你,中奖了!”大家可以想象一下当时的气氛之热烈,毕竟中奖者的奖品是大家...

2019-03-22 21:28:25 166

原创 指针作为参数的常见错误

注意(指针传递的误区):通过指针传递参数时,最大的忌讳就是以为 只要参数是指针就万事大吉了。实际上,应该首先确定要修改的变量的类型,然后在将其地址作为参数。如果要修改的变量本身就是指针,就应该将该指针的地址作为参数,此时的形参类型是指向指针的指针。

2019-02-28 18:16:50 752

原创 杭电oj2058

The sum problemTime Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 32853 Accepted Submission(s): 9775Problem DescriptionGiven a sequence 1,2,...

2019-01-17 11:28:43 735

原创 杭电oj2050——折线分割平面

我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示。Input输入数据的第一行是一个整数C,表示测试实例的个数,然后是C 行数据,每行包含一个整数n(0<n<=10000),表示折线的数量。Output对于每个测试实例,请输出平面的最大分割数,每...

2019-01-11 16:50:21 462

原创 有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?

Problem Description有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?Input输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。n=0表示输入数据的结束,不做处理。Output对于每个测试实例,输出在第n年的时候母牛的数量。...

2019-01-03 15:31:51 21379 2

原创 vc++6.0 中出现Error spawning cl.exe的解决办法

虽然网上一大堆的解决办法,我刚刚遇到了,并且也按着那些办法解决了我的问题,这里我分享一下我在解决过程中的遇到的问题,并且最后成功解决问题。这个过程有一点点繁琐,不过耐心弄完就等解决问题,所以一定要有耐心。 下面开始展示: 首先打开vc++6.0 tools->options->Directories 为了避免过程中有单词输错我们这就选取目录就是。 这是以我安...

2018-05-18 00:02:13 21249 2

原创 sscanf和sprintf的用法

函数原型:int sscanf(const char *str, const char *format, …);sscanf()与scanf()作用相似,只不过后者是从键盘中输入,而前者则是从指定的字符串中提取数据。 buffer参数:存储的数据format窗体控件字符串。argument可选自变量sscanf()的返回值是它成功读取的字符串的个数(不过一般不...

2018-04-26 23:31:27 385

原创 C语言 浅谈数组和字符指针的赋值问题

在学习C语言的过程中,总是会遇到很多问题,不管它简单与否,了解到其本质问题就迎刃而解。一下我阐述的知识点,我在编程学习中遇到问题,并查阅资料料所总结的一点东西,可能会有不严谨或错误的地方,希望指出改正。错误一:char str[10];str = "hello";以上代码,是绝对不被允许的,因为数组除了在声明时的初始化可以成块的把数据赋值给数组。其他任何时候都只能是单个的元素对其...

2018-04-24 08:58:28 2887

原创 C语言 实现两张图片的拼接

在Linux中用gcc编译这个代码的逻辑其实蛮简单的,就是用read()函数将对应的要拼接的部分,读入到一块儿缓存中(定义一个数组就行),最后用write()函数将切出来的对应的部分输出到要拼接的图片文件就大功告成。 值得注意的有两点:1、图片在必须用.bmp格式 2、注意你的电脑的图片扫描方式是由上往下的还是由下往上...

2018-04-22 19:59:22 5234

原创 C语言 将字符串反序输出

#include <stdio.h>#include <string.h>void rev(char *buf, int size){ int i = 0; int temp; for(;i<size/2; i++) { temp = buf[i]; ...

2018-04-22 19:42:23 21188

原创 C语言 函数实现字符串互换

要利用函数实现字符串的互换,首先得弄懂一个概念,看看下面的代码:char *str1 = "hello";char *str2 = "world";第一行代码的意思是定义了一个char*类型的指针,我们将关注的是代码的存储问题,这里str变量是存储于栈区的,而”hello”, 则是存放在字符串常量区,我们应该知道,字符串常量区的数据是不可更改的。所以无法直接更改“hello”和“worl...

2018-04-19 23:14:47 33912 5

原创 C语言指针(其实指针没那么神秘)

刚刚开始学习C语言的时候,每当听到指针二字,总是觉得它既复杂又难懂,今天这里看看指针的本质。这里指针的理论概念就不在赘述;首先,为了便于讲解,这里定义了一个全局的整型变量a,定义全局变量是因为它的内存位置固定,方便后面有地址赋值。#include <stdio.h>int a = 100;int main(){ printf("%p\n", &...

2018-04-19 01:02:43 370 1

原创 C语言——printf打印字符串(关于数据在内存中存储格式的体现)

PS:本篇文章,是笔者在C语言学习过程中的所产生疑惑的地方,经过查阅相关资料得出的结论,如有错误的地方,还望指出改正。int 占4个字节, 这里输入的8位16进制数每相邻两位数代表一个字节。如:44,43,42,41int b = 0x41424344;printf("string: %s\n", &b);注意:%s打印字符串的时候,必须要求printf所传参数必须是一...

2018-04-17 00:14:13 34791 6

原创 数据结构——栈的应用(表达式求值)(C语言)

char Precede(char t1, char t2)函数用于输出t1,t2两个运算符的优先级(t1为先出现的运算符(已经压入栈OPTR中),t2为后出现的运算符)char Precede(char t1, char t2){ int i,j; char pre[][7]={ //运算符之间的优先级制作成一张表格 {'>

2018-04-16 00:13:13 24825 6

原创 数据结构——栈(C语言)

#include <stdio.h>#include <stdlib.h>#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1 #define OVERFLOW -2#define STACK_INIT_SIZE 100 //存储空间初始分配量#d...

2018-04-09 21:16:09 329

翻译 数据结构——一元多项式的表示及相加(C语言)

//一元多项式的表示及相加#include <stdio.h>#include <stdlib.h>#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1 #define OVERFLOW -2typedef struct //项的表示,多项式的...

2018-04-07 23:24:03 14196 2

原创 数据结构——双向链表简单操作(C语言)

#include <stdio.h>#include <stdlib.h>#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1 #define OVERFLOW -2//Status是函数的类型,其值是函数结果状态码typedef int Stat...

2018-04-06 19:54:14 255

原创 win10 JDK环境变量配置以及记事本编写java注意事项(新手入门)

1.JDK下载点击打开链接2.环境变量配置

2018-04-03 23:24:46 1168

原创 数据结构——单链表实现及操作(c语言)

#include <stdio.h>#include <stdlib.h>#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1 #define OVERFLOW -2typedef int Status;typedef int ElemType;...

2018-04-01 23:04:23 417

原创 数据结构——线性表的顺序表示和实现(c语言)

PS:数据结构(C语言版)——清华大学出版社, 2.1节代码实现#include <stdio.h>#include <stdlib.h>#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1 #define OVERFLOW -2#define LIST...

2018-03-27 23:09:07 5717 2

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除