<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[slgcsdn的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/slgcsdn</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; slgcsdn]]></copyright><item><title><![CDATA[CRC(循环冗余校验码的校验方法)]]></title><link>https://blog.youkuaiyun.com/slgcsdn/article/details/132892420</link><guid>https://blog.youkuaiyun.com/slgcsdn/article/details/132892420</guid><author>slgcsdn</author><pubDate>Thu, 14 Sep 2023 23:02:58 +0800</pubDate><description><![CDATA[2.生成多项式：一般多项式会给，从最高位的指数位数就可以得到有几个校验码；如果没给多项式，肯定会给个多项式二进制码，根据它来推就行（具体推的规律，下面会讲）5.取余：由信息码除以多项式对应的二进制数进行取余，余到最后的值就是算出来的校验位的值。4.多项式对应二进制数：由多项式对应得出二进制数。3.校验位：由多项式的最高位指数得出。最后把校验位的值加在信息码后面就行。1.信息码：即给出要校验的二进制码。]]></description><category></category></item><item><title><![CDATA[海明码校验方法和检错方法]]></title><link>https://blog.youkuaiyun.com/slgcsdn/article/details/132891934</link><guid>https://blog.youkuaiyun.com/slgcsdn/article/details/132891934</guid><author>slgcsdn</author><pubDate>Thu, 14 Sep 2023 22:32:23 +0800</pubDate><description><![CDATA[前言：大家有没有和我一样，对海明码怎么校验和检错很感兴趣，下面我来说说它是怎么校验的。D0，D1，D2，D3，D4，D5，D6，D7是二进制码。奇校验把偶校验的值取反就行。注意：上述公式P和D之间都是用的异或运算。注意：上述公式D之间都是用的异或运算。至于有多少个校验值的数目，根据公式。P1，P2，P3，P4是校验码。]]></description><category></category></item><item><title><![CDATA[十进制小数转换为单双精度浮点数方法]]></title><link>https://blog.youkuaiyun.com/slgcsdn/article/details/132842277</link><guid>https://blog.youkuaiyun.com/slgcsdn/article/details/132842277</guid><author>slgcsdn</author><pubDate>Thu, 14 Sep 2023 21:59:06 +0800</pubDate><description><![CDATA[和单精度浮点值转换一样。]]></description><category></category></item><item><title><![CDATA[Linux ipc通信（消息对列）]]></title><link>https://blog.youkuaiyun.com/slgcsdn/article/details/132793132</link><guid>https://blog.youkuaiyun.com/slgcsdn/article/details/132793132</guid><author>slgcsdn</author><pubDate>Sun, 10 Sep 2023 21:27:22 +0800</pubDate><description><![CDATA[EPERM(IPC_SET或者IPC_RMID命令被使用，但调用程序没有写的权限)这个结构体的作用是用来管理消息队列的，通过cmd指令来设置这结构体中的值，进而达到控制消息队列的目的。IPC_SET：设置消息队列的数据结构msqid_ds中的ipc_perm元素的值。我们再说一下队列的msqid_ds结构体，对于每一个队列都有一个msqid_ds来描述队列当前的状态。IPC_STAT：读取消息队列的数据结构msqid_ds，并将其存储在buf指定的地址中。msgsz - 消息的长度，指的消息数据的长度。]]></description><category></category></item><item><title><![CDATA[linux共享内存（ipc通信）]]></title><link>https://blog.youkuaiyun.com/slgcsdn/article/details/132702364</link><guid>https://blog.youkuaiyun.com/slgcsdn/article/details/132702364</guid><author>slgcsdn</author><pubDate>Wed, 06 Sep 2023 22:44:56 +0800</pubDate><description><![CDATA[例如，如果你只是想获取一个已经存在的共享内存段，那么你可以使用 IPC_STAT 标志。如果你想测试并创建一个新的共享内存段（如果已经存在，则不创建），那么你可以使用 IPC_EXCL 和 IPC_CREAT 标志。**控制共享内存段的行为。**作用是根据文件名和第二个参数工程序号进行组合，申请一个键值key_t，它能保证不同的进程在创建ipc对象时得到互不干扰的键值。key值只是唯一标识这个共享内存，size是这个共享内存最小的空间，如果创建新的共享内存段，则必须指定其size，反之，可以指定为0。]]></description><category></category></item><item><title><![CDATA[linux中的/dev/null]]></title><link>https://blog.youkuaiyun.com/slgcsdn/article/details/132308986</link><guid>https://blog.youkuaiyun.com/slgcsdn/article/details/132308986</guid><author>slgcsdn</author><pubDate>Tue, 15 Aug 2023 23:05:07 +0800</pubDate><description><![CDATA[应用程序可以从这些设备获取数据，但该数据不是来自物理设备，而是来自 fra/dev/null，它是一种特殊的虚拟设备，用于写入而不是读取。如您所见，没有输出。例如，/dev/sda 可能是您的主硬盘驱动器，/dev/sdb 可能是您现在正在使用的笔记本驱动器的文件。通过重定向到/dev/null，来丢弃对应的内容，把正确的输出重定向到/dev/null.意思是只打印错误的信息。把标准错误重定向到标准输出，和标准输出一样，接着标准输出重定向了a.a文件，所以最终是把标准错误以及标准输出重定向到了a.a文件。]]></description><category></category></item><item><title><![CDATA[linux中的ifconfig和ip addr]]></title><link>https://blog.youkuaiyun.com/slgcsdn/article/details/132255471</link><guid>https://blog.youkuaiyun.com/slgcsdn/article/details/132255471</guid><author>slgcsdn</author><pubDate>Sun, 13 Aug 2023 00:01:03 +0800</pubDate><description><![CDATA[写下自己的困惑，ip addr和ifconfig到底有什么不同]]></description><category></category></item><item><title><![CDATA[Linux系统编程（续）]]></title><link>https://blog.youkuaiyun.com/slgcsdn/article/details/128140372</link><guid>https://blog.youkuaiyun.com/slgcsdn/article/details/128140372</guid><author>slgcsdn</author><pubDate>Sun, 18 Dec 2022 22:04:04 +0800</pubDate><description><![CDATA[linux系统编程续]]></description><category></category></item><item><title><![CDATA[Linux系统编程]]></title><link>https://blog.youkuaiyun.com/slgcsdn/article/details/127973998</link><guid>https://blog.youkuaiyun.com/slgcsdn/article/details/127973998</guid><author>slgcsdn</author><pubDate>Thu, 01 Dec 2022 21:47:09 +0800</pubDate><description><![CDATA[linux系统编程基本内容记录。]]></description><category></category></item><item><title><![CDATA[C++信号概念]]></title><link>https://blog.youkuaiyun.com/slgcsdn/article/details/127929933</link><guid>https://blog.youkuaiyun.com/slgcsdn/article/details/127929933</guid><author>slgcsdn</author><pubDate>Fri, 18 Nov 2022 21:31:28 +0800</pubDate><description><![CDATA[C++信号函数，还有在linux下的信号处理及其区别。]]></description><category></category></item><item><title><![CDATA[unordered_map 的bucket(桶接口)]]></title><link>https://blog.youkuaiyun.com/slgcsdn/article/details/127593758</link><guid>https://blog.youkuaiyun.com/slgcsdn/article/details/127593758</guid><author>slgcsdn</author><pubDate>Sun, 30 Oct 2022 19:10:39 +0800</pubDate><description><![CDATA[C++ unordered_map(桶接口)]]></description><category></category></item><item><title><![CDATA[UDP（数据报通信）]]></title><link>https://blog.youkuaiyun.com/slgcsdn/article/details/126335646</link><guid>https://blog.youkuaiyun.com/slgcsdn/article/details/126335646</guid><author>slgcsdn</author><pubDate>Mon, 12 Sep 2022 16:20:53 +0800</pubDate><description><![CDATA[UDP数据报通信，是linux网络通信的模式之一，得清楚。]]></description><category></category></item><item><title><![CDATA[进程间通信]]></title><link>https://blog.youkuaiyun.com/slgcsdn/article/details/125250896</link><guid>https://blog.youkuaiyun.com/slgcsdn/article/details/125250896</guid><author>slgcsdn</author><pubDate>Fri, 29 Jul 2022 01:02:30 +0800</pubDate><description><![CDATA[本文主要是介绍linux开发中的进程间通信的几种方式。]]></description><category></category></item><item><title><![CDATA[Linux多任务编程]]></title><link>https://blog.youkuaiyun.com/slgcsdn/article/details/125130447</link><guid>https://blog.youkuaiyun.com/slgcsdn/article/details/125130447</guid><author>slgcsdn</author><pubDate>Sun, 12 Jun 2022 19:21:46 +0800</pubDate><description><![CDATA[进程的控制
1.进程的创建
任何一个用户进程的创建都是由现有的一个进程完成的，进程的创建要经过fork和exec两个过程。
fork是为新进程分配相应的数据结构，并将父进程的相应上下文信息复制过来。
exec是将可执行文件的正文和数据转入内存覆盖它原来的（从父进程复制过来的），并开始执行正文段。（把当前进程替换为一个新进程），在使用这些系统调用的程序中要加入以下头文件和外部变量：
#include 
extern char **environ;
参数表的传递有关（l表示（list）,v表...]]></description><category></category></item><item><title><![CDATA[Linux串口编程]]></title><link>https://blog.youkuaiyun.com/slgcsdn/article/details/125034566</link><guid>https://blog.youkuaiyun.com/slgcsdn/article/details/125034566</guid><author>slgcsdn</author><pubDate>Sun, 29 May 2022 22:24:56 +0800</pubDate><description><![CDATA[1.打开串口
在Linux下串口文件是位于	/dev下的
串口一为  /dev/ttyS0
串口二为  /dev/ttyS1
打开串口是通过使用标准的文件打开函数操作
例如：
int fd;//以读写的方式打开串口
fd = open(“/dev/ttyS0”,O_RDWR);
2.设置串口
最基本的设置串口包括波特率设置，效验位和停止位设置。
串口的设置主要是设置struct  termios  结构体的成员值。
struct termio
{
unsigned short c_iflag;//输入模式标]]></description><category></category></item><item><title><![CDATA[Linux进程管理命令]]></title><link>https://blog.youkuaiyun.com/slgcsdn/article/details/124946872</link><guid>https://blog.youkuaiyun.com/slgcsdn/article/details/124946872</guid><author>slgcsdn</author><pubDate>Tue, 24 May 2022 17:17:39 +0800</pubDate><description><![CDATA[1.ps命令
ps aux：查看系统中的所有进程，使用BS操作系统格式
ps -le：查看系统中的所有进程，使用LINUX标准命令格式
选项：a：显示一个终端的所有进程，除会话引线外；
u：显示进程的归属用户及内存的使用情况；
x：显示没有控制终端的进程；
-l：长格式显示更加详细的信息；
-e：显示所有进程；
常用的命令：ps aux：可以查看系统中所有的进程
ps -le：可以查看系统中所有的进程，而且还能看到进程额父进程的PID和进程优先级；
ps -l：只能看到当前shell产生的进程；

僵尸进程]]></description><category></category></item><item><title><![CDATA[Linux文件读写和定位函数]]></title><link>https://blog.youkuaiyun.com/slgcsdn/article/details/124918737</link><guid>https://blog.youkuaiyun.com/slgcsdn/article/details/124918737</guid><author>slgcsdn</author><pubDate>Mon, 23 May 2022 17:33:10 +0800</pubDate><description><![CDATA[1.数据块I/O：fread与fwrite
函数原型：
size_t fread(void *buffer,size_t size,size_t count,FILE *fp)
size_t fwrite(void *buffer,size_t size,size_t count,FILE *fp)
功能：读/写数据块
返回值：成功，返回读/写的块数；出错或文件尾，返回0
说明：
typedef	unsigned size_t;
buffer:指向要输入/输出数据块的首地址的指针
size：每个要读/写的数]]></description><category></category></item><item><title><![CDATA[Linux文件编程基础]]></title><link>https://blog.youkuaiyun.com/slgcsdn/article/details/124918151</link><guid>https://blog.youkuaiyun.com/slgcsdn/article/details/124918151</guid><author>slgcsdn</author><pubDate>Sun, 22 May 2022 23:25:13 +0800</pubDate><description><![CDATA[二进制文件特点：
存储量小，速度快，便于存放中间结果
文本文件特点：
存储量大，速度慢，便于对字符操作
1.文件使用方式
r/rb（只读）：为输入打开一个文本/二进制文件
w/wb（只写）：为输出打开或建立一个文本/二进制文件
a/ab（追加）：向文本/二进制文件尾追加数据
r+/rb+（读写）：为读/写打开一个文本/二进制文件
w+/wb+（读写）：为读/写建立一个文本/二进制文件
a+/ab+（读写）：为读/写打开或建立一个文本/二进制文件
2.文件的读写
字符I/O:fputc与fgetc
fputc]]></description><category></category></item><item><title><![CDATA[Linux Makefile]]></title><link>https://blog.youkuaiyun.com/slgcsdn/article/details/124641511</link><guid>https://blog.youkuaiyun.com/slgcsdn/article/details/124641511</guid><author>slgcsdn</author><pubDate>Fri, 13 May 2022 17:06:55 +0800</pubDate><description><![CDATA[Makefile基本概念
GNU make工作流程
①：查找当前目录下的Makefile文件
②：初始化文件中的变量
③：分析Makefile中的所有规则
④：为所有的目标文件创建依赖关系
⑤：根据依赖关系，决定哪些目标文件要重新生成
⑥：执行生成命令
Makefile规则语法
一个Makefile文件主要含有一系列的规则，每条规则包含以下内容。
一个目标（target）,即make最终需要创建的文件，如可执行文件和目标文件；目标也可以是要执行的动作，如“clean”
一个或多个依赖文件（dependenc]]></description><category></category></item><item><title><![CDATA[GDB调试器]]></title><link>https://blog.youkuaiyun.com/slgcsdn/article/details/124640380</link><guid>https://blog.youkuaiyun.com/slgcsdn/article/details/124640380</guid><author>slgcsdn</author><pubDate>Sat, 07 May 2022 22:14:55 +0800</pubDate><description><![CDATA[GDB调试器的功能
1.启动程序，并且可以设置运行环境和参数来运行指定程序。
2.让程序在指定断点处停止执行
3.对程序做出相应的调整，这样就能纠正一个错误后继续调试
调试分析选项
-g选项：生成调试信息，GNU调试器可利用该信息。GCC编译器使用该选项进行编译时，将调试信息加入到目标文件当中，这样gdb调试器就可以根据这些调试信息来跟踪程序的执行状态。
-pg选项：编译完成之后，额外产生一个性能分析所需的信息。
gdb调试命令
file：		指定要调试的可执行程序
kill：		终止正在调试的可执行程序
]]></description><category></category></item></channel></rss>