<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lbd321的博客]]></title><description><![CDATA[人前显贵需人后受罪！]]></description><link>https://blog.youkuaiyun.com/lbd321</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lbd321]]></copyright><item><title><![CDATA[牛客网C++专项练习20200717]]></title><link>https://blog.youkuaiyun.com/lbd321/article/details/107409418</link><guid>https://blog.youkuaiyun.com/lbd321/article/details/107409418</guid><author>lbd321</author><pubDate>Fri, 17 Jul 2020 15:24:22 +0800</pubDate><description><![CDATA[1、%取余运算符只能用于整型

2、

1) malloc 函数： void *malloc(unsigned int size)

在内存的动态分配区域中分配一个长度为size的连续空间，如果分配成功，则返回所分配内存空间的首地址，否则返回NULL，申请的内存不会进行初始化。

2）calloc 函数： void *calloc(unsigned int num, unsigned int size)

按照所给的数据个数和数据类型所占字节数，分配一个 num * size 连续的空间...]]></description><category></category></item><item><title><![CDATA[牛客网C++练习题经验整理20200707]]></title><link>https://blog.youkuaiyun.com/lbd321/article/details/107182152</link><guid>https://blog.youkuaiyun.com/lbd321/article/details/107182152</guid><author>lbd321</author><pubDate>Tue, 07 Jul 2020 15:15:55 +0800</pubDate><description><![CDATA[1、"%5d"表示至少5个字符，如果不够五个字符，左侧用空格补齐；

2、Interrupted Exception异常被捕获，线程调用了wait方法，会导致线程中断或停止运行。
]]></description><category></category></item><item><title><![CDATA[C++类的静态成员变量]]></title><link>https://blog.youkuaiyun.com/lbd321/article/details/107152826</link><guid>https://blog.youkuaiyun.com/lbd321/article/details/107152826</guid><author>lbd321</author><pubDate>Mon, 06 Jul 2020 11:12:32 +0800</pubDate><description><![CDATA[1、静态成员变量类内声明，类外初始化；

2、没有this指针，属于类域，所有对象共享。
]]></description><category></category></item><item><title><![CDATA[牛客网C++练习笔记20200701]]></title><link>https://blog.youkuaiyun.com/lbd321/article/details/107059079</link><guid>https://blog.youkuaiyun.com/lbd321/article/details/107059079</guid><author>lbd321</author><pubDate>Wed, 01 Jul 2020 11:07:42 +0800</pubDate><description><![CDATA[1、如果一个类class A{}没有构造函数定义，那么当这个类的Object被创建时，编译器会为这个类提供默认构造函数去创建Objects；

2、内联可能会导致二进制可执行文件内存变大；

3、x是int型，当x被赋值为1.2浮点型时，x实际赋值为1，所以4.8/5.0由于/是整除，结果为小于1的小数，所以y被赋值为0

4、比如 class Base{};
Base w1; //构造函数
Base w2(w1); //拷贝构造函数
w1 = w2; //赋值运算符
Base w3 =...]]></description><category></category></item><item><title><![CDATA[C++中不能被重载的运算符]]></title><link>https://blog.youkuaiyun.com/lbd321/article/details/106916300</link><guid>https://blog.youkuaiyun.com/lbd321/article/details/106916300</guid><author>lbd321</author><pubDate>Tue, 23 Jun 2020 09:37:36 +0800</pubDate><description><![CDATA[C++中不能被重载的运算符只有5个，分别是：

1、 . （成员访问运算符）

2、* （成员指针访问运算符）

3、:: （域运算符）

4、sizeof （长度运算法）

5、? : （条件运算符）



前两个运算符不能重载是为了保证访问成员的功能不被改变，域运算符和sizeof运算符的运算对象是类型而不是变量或者一般表达式，不具备重载的特征。
...]]></description><category></category></item><item><title><![CDATA[C++变量类型auto和decltype]]></title><link>https://blog.youkuaiyun.com/lbd321/article/details/106916013</link><guid>https://blog.youkuaiyun.com/lbd321/article/details/106916013</guid><author>lbd321</author><pubDate>Tue, 23 Jun 2020 09:29:45 +0800</pubDate><description><![CDATA[int i = 0;

const int ci = i;

auto b = ci;//auto会忽略顶层const，所以b的类型为int

int *p = &amp;i;

decltype (*p) c = i;//c的类型int &amp;

decltype和auto都可以推断类型，但是二者有几处明显的差异：

1、auto忽略顶层const，decltype保留顶层const；

2、对引用操作，auto推断出原有类型，decltype推断出引用；

3、auto推断时会实际执行，declty]]></description><category></category></item><item><title><![CDATA[intel CPU，多线程对int型变量x的操作]]></title><link>https://blog.youkuaiyun.com/lbd321/article/details/106902867</link><guid>https://blog.youkuaiyun.com/lbd321/article/details/106902867</guid><author>lbd321</author><pubDate>Mon, 22 Jun 2020 15:29:07 +0800</pubDate><description><![CDATA[X++ ++X为原子操作

X=Y和X=1很可能被中断
]]></description><category></category></item><item><title><![CDATA[C++程序中，变量频繁使用定义类型]]></title><link>https://blog.youkuaiyun.com/lbd321/article/details/106902763</link><guid>https://blog.youkuaiyun.com/lbd321/article/details/106902763</guid><author>lbd321</author><pubDate>Mon, 22 Jun 2020 15:26:50 +0800</pubDate><description><![CDATA[如果一个变量被频繁使用，需保存在寄存器中，因为寄存器的速度要比内存快的许多。在早期的编译器中需要手动定义为register型，但是后来编译器可以自动将调用次数多的变量放入寄存器中。

auto：给变量动态分配内存，默认的分配类型。一般不需要手动声明；

static：静态分配内存。变量在整个作用域内的全局变量；

extern：声明为外部变量；在函数的外部定义变量。
...]]></description><category></category></item><item><title><![CDATA[C++静态使用注意事项]]></title><link>https://blog.youkuaiyun.com/lbd321/article/details/106902549</link><guid>https://blog.youkuaiyun.com/lbd321/article/details/106902549</guid><author>lbd321</author><pubDate>Mon, 22 Jun 2020 15:21:46 +0800</pubDate><description><![CDATA[1、静态方法只能访问静态成员（包括成员变量和成员方法），非静态方法可以访问静态也可以访问非静态。

2、静态方法中不可以定义this、super关键字。因为一个类中，一个static只会有一个内存空间，虽然有多个类实例，但这些类实例中的这个static变量会共享同一个内存空间。静态方法在优先于对象存在，所以静态方法中不可以出现this、super关键字。

3、主函数是静态的。

1）只有类的成员函数才能说明为虚函数；

2）静态成员函数不能是虚函数；

3）内联函数不能为虚函数；

4）构造函数不能是虚函]]></description><category></category></item><item><title><![CDATA[系统调用与库函数的区别？]]></title><link>https://blog.youkuaiyun.com/lbd321/article/details/76861224</link><guid>https://blog.youkuaiyun.com/lbd321/article/details/76861224</guid><author>lbd321</author><pubDate>Mon, 07 Aug 2017 20:50:35 +0800</pubDate><description><![CDATA[一. 概念

系统调用（英语：system call），指运行在用户空间的应用程序向操作系统内核请求某些服务的调用过程。 系统调用提供了用户程序与操作系统之间的接口。一般来说，系统调用都在内核态执行。由于系统调用不考虑平台差异性，由内核直接提供，因而移植性较差（几乎无移植性）。

库函数（library function），是由用户或组织自己开发的，具有一定功能的函数集合，一般具有较好平台]]></description><category></category></item><item><title><![CDATA[为什么ARM的启动代码是汇编？]]></title><link>https://blog.youkuaiyun.com/lbd321/article/details/76795236</link><guid>https://blog.youkuaiyun.com/lbd321/article/details/76795236</guid><author>lbd321</author><pubDate>Sun, 06 Aug 2017 22:33:03 +0800</pubDate><description><![CDATA[启动代码
为什么启动代码一定一要用汇编语言编写，启动代码的主要功能是什么？单片机不用启动代码，为什么arm要用启动代码？

------解决方案--------------------------------------------------------
最开始的几行代码要完成初始化中断向量，堆栈什么的。这些只能用汇编做。
------解决方案---------------------]]></description><category></category></item><item><title><![CDATA[C#中修改exe图标]]></title><link>https://blog.youkuaiyun.com/lbd321/article/details/76795161</link><guid>https://blog.youkuaiyun.com/lbd321/article/details/76795161</guid><author>lbd321</author><pubDate>Sun, 06 Aug 2017 22:27:17 +0800</pubDate><description><![CDATA[第一步选Release

第二部右击工程名点击属性

第三部去网上下载ico格式的图片


第四部：重新生成工程
在工程文件夹obj中即可找到带图标的exe]]></description><category></category></item><item><title><![CDATA[C#中获取系统时间的一种方法]]></title><link>https://blog.youkuaiyun.com/lbd321/article/details/76758411</link><guid>https://blog.youkuaiyun.com/lbd321/article/details/76758411</guid><author>lbd321</author><pubDate>Sun, 06 Aug 2017 10:58:29 +0800</pubDate><description><![CDATA[//获取当前电脑时间 ClockFunction[3] = Convert.ToByte(DateTime.Now.Year % 100); ClockFunction[4] = Convert.ToByte(DateTime.Now.Month); ClockFunction[5] = Convert.ToByte(DateTime.Now.Day); ClockFunction[6] = Co]]></description><category></category></item><item><title><![CDATA[C#中如何获取numericUpDown中的数字]]></title><link>https://blog.youkuaiyun.com/lbd321/article/details/76752066</link><guid>https://blog.youkuaiyun.com/lbd321/article/details/76752066</guid><author>lbd321</author><pubDate>Sun, 06 Aug 2017 10:29:41 +0800</pubDate><description><![CDATA[AlbumFunction[4] = Convert.ToByte(numericUpDown10.Value);//将框中的值转换为byte
AlbumFunction数组为byte类型，用上述方法就可以获取上下拉框的值。]]></description><category></category></item><item><title><![CDATA[UART、SPI、IIC]]></title><link>https://blog.youkuaiyun.com/lbd321/article/details/76686117</link><guid>https://blog.youkuaiyun.com/lbd321/article/details/76686117</guid><author>lbd321</author><pubDate>Fri, 04 Aug 2017 15:31:59 +0800</pubDate><description><![CDATA[1、UART, SPI, IIC的详解

UART、SPI、IIC是经常用到的几个数据传输标准，下面分别总结一下：

UART（Universal Asynchronous Receive Transmitter）：也就是我们经常所说的串口，基本都用于调试。

主机和从机至少要接三根线，RX、TX和GND。TX用于发送数据，RX用于接受数据（收发不是一根线，所以是全双工方式）。注意A和]]></description><category></category></item><item><title><![CDATA[51单片机中断]]></title><link>https://blog.youkuaiyun.com/lbd321/article/details/76685941</link><guid>https://blog.youkuaiyun.com/lbd321/article/details/76685941</guid><author>lbd321</author><pubDate>Fri, 04 Aug 2017 15:27:24 +0800</pubDate><description><![CDATA[一、中断的概念
CPU在处理某一事件A时，发生了另一事件B请求CPU迅速去处理（中断发生）；
CPU暂时中断当前的工作，转去处理事件B（中断响应和中断服务）；
待CPU将事件B处理完毕后，再回到原来事件A被中断的地方继续处理事件A（中断返回），这一过程称为中断
二、中断源
在51单片机中有5个中断源
中断号优先级中断源中断入口地址
0 1（最高）外部中断00003H
1 2 定时器]]></description><category></category></item><item><title><![CDATA[51单片机定时器]]></title><link>https://blog.youkuaiyun.com/lbd321/article/details/76684807</link><guid>https://blog.youkuaiyun.com/lbd321/article/details/76684807</guid><author>lbd321</author><pubDate>Fri, 04 Aug 2017 15:01:12 +0800</pubDate><description><![CDATA[sTC单片机定时器的使用可以说非常简单，只要掌握原理，有一点的C语言基础就行了。要点有以下几个：
 
1.      一定要知道英文缩写的原形，这样寄存器的名字就不用记了。
理解是最好的记忆方法。好的教材一定会给出所有英文缩写的原形。
2.      尽量用形像的方法记忆。
比如TCON和TMOD两个寄存器各位上的功能，教程一般有个图表，你就在学习中不断回忆那个图表的形像。
3.]]></description><category></category></item><item><title><![CDATA[聊天室项目问题]]></title><link>https://blog.youkuaiyun.com/lbd321/article/details/76684733</link><guid>https://blog.youkuaiyun.com/lbd321/article/details/76684733</guid><author>lbd321</author><pubDate>Fri, 04 Aug 2017 14:45:50 +0800</pubDate><description><![CDATA[1.  makefile的作用：
    makefile关系到了整个工程的编译规则。一个工程中的源文件不计数，其按类型、功能、模块分别放在若干个目录中，makefile定义了一系列的规则来指定，哪些文件需要先编译，哪些文件需要后编译，哪些文件需要重新编译，甚至于进行更复杂的功能操作，因为makefile就像一个Shell脚本一样，其中也可以执行操作系统的命令。
     makefile带来]]></description><category></category></item><item><title><![CDATA[关键字volatile有什么含义？并给出三个不同的例子。]]></title><link>https://blog.youkuaiyun.com/lbd321/article/details/76578173</link><guid>https://blog.youkuaiyun.com/lbd321/article/details/76578173</guid><author>lbd321</author><pubDate>Wed, 02 Aug 2017 15:44:45 +0800</pubDate><description><![CDATA[一个定义为volatile的变量是说这变量可能会被意想不到地改变，这样，编译器就不会去假设这个变量的值了。精确地说就是，优化器在用到这个变量时必须每次都小心地重新读取这个变量的值，而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子：
　　1). 并行设备的硬件寄存器（如：状态寄存器）
　　2). 一个中断服务子程序中会访问到的非自动变量(Non-automatic varia]]></description><category></category></item><item><title><![CDATA[友善之臂S3C2451开发板如何用MiniTools下载裸机程序]]></title><link>https://blog.youkuaiyun.com/lbd321/article/details/76374979</link><guid>https://blog.youkuaiyun.com/lbd321/article/details/76374979</guid><author>lbd321</author><pubDate>Sun, 30 Jul 2017 10:56:00 +0800</pubDate><description><![CDATA[一开始开发板接在电脑上minitools是检测不到的，因为电脑里没有对应的驱动。解决方法就是下载驱动精灵，安装好。
开发板开机按k1键进入类似bios的界面，然后打开驱动精灵开始检测驱动，安装一个Android驱动即可。]]></description><category></category></item></channel></rss>