<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[luochen330x的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/luochen330x</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; luochen330x]]></copyright><item><title><![CDATA[3.12ZUOY ]]></title><link>https://blog.youkuaiyun.com/luochen330x/article/details/146217337</link><guid>https://blog.youkuaiyun.com/luochen330x/article/details/146217337</guid><author>luochen330x</author><pubDate>Wed, 12 Mar 2025 22:58:44 +0800</pubDate><description><![CDATA[【代码】3.12ZUOY。]]></description><category></category></item><item><title><![CDATA[STM32u575]]></title><link>https://blog.youkuaiyun.com/luochen330x/article/details/146189083</link><guid>https://blog.youkuaiyun.com/luochen330x/article/details/146189083</guid><author>luochen330x</author><pubDate>Tue, 11 Mar 2025 21:36:54 +0800</pubDate><description><![CDATA[【代码】STM32u575。]]></description><category></category></item><item><title><![CDATA[shell脚本]]></title><link>https://blog.youkuaiyun.com/luochen330x/article/details/146056138</link><guid>https://blog.youkuaiyun.com/luochen330x/article/details/146056138</guid><author>luochen330x</author><pubDate>Thu, 06 Mar 2025 00:12:10 +0800</pubDate><description><![CDATA[【代码】shell脚本。]]></description><category></category></item><item><title><![CDATA[3.4练习]]></title><link>https://blog.youkuaiyun.com/luochen330x/article/details/146025610</link><guid>https://blog.youkuaiyun.com/luochen330x/article/details/146025610</guid><author>luochen330x</author><pubDate>Wed, 05 Mar 2025 09:03:54 +0800</pubDate><description><![CDATA[【代码】3.4练习。]]></description><category></category></item><item><title><![CDATA[软件设计基础模型]]></title><link>https://blog.youkuaiyun.com/luochen330x/article/details/145677010</link><guid>https://blog.youkuaiyun.com/luochen330x/article/details/145677010</guid><author>luochen330x</author><pubDate>Mon, 17 Feb 2025 10:40:09 +0800</pubDate><description><![CDATA[1]]></description><category></category></item><item><title><![CDATA[day5QT套接字通信]]></title><link>https://blog.youkuaiyun.com/luochen330x/article/details/145578870</link><guid>https://blog.youkuaiyun.com/luochen330x/article/details/145578870</guid><author>luochen330x</author><pubDate>Tue, 11 Feb 2025 23:00:49 +0800</pubDate><description><![CDATA[【代码】day5QT套接字通信。]]></description><category></category></item><item><title><![CDATA[day4事件处理核心机制]]></title><link>https://blog.youkuaiyun.com/luochen330x/article/details/145558549</link><guid>https://blog.youkuaiyun.com/luochen330x/article/details/145558549</guid><author>luochen330x</author><pubDate>Mon, 10 Feb 2025 21:58:16 +0800</pubDate><description><![CDATA[【代码】day4事件处理核心机制。]]></description><category></category></item><item><title><![CDATA[QTday3对话框]]></title><link>https://blog.youkuaiyun.com/luochen330x/article/details/145539142</link><guid>https://blog.youkuaiyun.com/luochen330x/article/details/145539142</guid><author>luochen330x</author><pubDate>Sun, 09 Feb 2025 23:33:26 +0800</pubDate><description><![CDATA[【代码】QTday3对话框。]]></description><category></category></item><item><title><![CDATA[day2QT核心机制]]></title><link>https://blog.youkuaiyun.com/luochen330x/article/details/145504875</link><guid>https://blog.youkuaiyun.com/luochen330x/article/details/145504875</guid><author>luochen330x</author><pubDate>Fri, 07 Feb 2025 23:53:35 +0800</pubDate><description><![CDATA[11]]></description><category></category></item><item><title><![CDATA[QT图形化界面开发]]></title><link>https://blog.youkuaiyun.com/luochen330x/article/details/145483001</link><guid>https://blog.youkuaiyun.com/luochen330x/article/details/145483001</guid><author>luochen330x</author><pubDate>Thu, 06 Feb 2025 22:42:44 +0800</pubDate><description><![CDATA[111]]></description><category></category></item><item><title><![CDATA[继承和多态]]></title><link>https://blog.youkuaiyun.com/luochen330x/article/details/145148490</link><guid>https://blog.youkuaiyun.com/luochen330x/article/details/145148490</guid><author>luochen330x</author><pubDate>Tue, 14 Jan 2025 21:55:33 +0800</pubDate><description><![CDATA[【代码】继承和多态。]]></description><category></category></item><item><title><![CDATA[面对对象特征之封装]]></title><link>https://blog.youkuaiyun.com/luochen330x/article/details/145124964</link><guid>https://blog.youkuaiyun.com/luochen330x/article/details/145124964</guid><author>luochen330x</author><pubDate>Mon, 13 Jan 2025 22:25:39 +0800</pubDate><description><![CDATA[【代码】面对对象特征之封装。]]></description><category></category></item><item><title><![CDATA[C++类的引入]]></title><link>https://blog.youkuaiyun.com/luochen330x/article/details/145041949</link><guid>https://blog.youkuaiyun.com/luochen330x/article/details/145041949</guid><author>luochen330x</author><pubDate>Thu, 09 Jan 2025 22:27:38 +0800</pubDate><description><![CDATA[公共成员函数：初始化函数：void init(int w, int h)获取宽度函数：get_w();设置宽度函数：set_w(int w);获取高度函数：get_h();设置高度函数：set_h(int h);获取周长函数：get_perimeter();获取面积函数：get_area();在主程序中实例化对象，并测试下相关函数class Rectangle //定义一个矩形类//私有成员属性private:int width;//矩形的宽度int hight;//矩形的高度。]]></description><category></category></item><item><title><![CDATA[C++对C的扩充]]></title><link>https://blog.youkuaiyun.com/luochen330x/article/details/144991997</link><guid>https://blog.youkuaiyun.com/luochen330x/article/details/144991997</guid><author>luochen330x</author><pubDate>Tue, 07 Jan 2025 23:20:13 +0800</pubDate><description><![CDATA[1> 不同的命名空间中的名字冲突时，如果两个吗，命名空间全部进行整体声明了，那么需要在使用冲突的名字前加命名空间名和作用域限定符用于区分。3> 命名空间中的名字和局部变量的名字冲突，优先使用局部变量，如果非要使用命名空间中的名字，需要加上命名空间名和作用域限定符。1> C++中的输入使用的是istream提供的一个类对象 cin， 并结合提取运算符 (>>)一起使用，用作数据的输入。练习：提示并输入一个字符，如果是大写转变成小写，如果是小写转变成大写，如果是其他字符，都转变成 * ，输出转变后的数据。]]></description><category></category></item><item><title><![CDATA[day 多点通信]]></title><link>https://blog.youkuaiyun.com/luochen330x/article/details/144833216</link><guid>https://blog.youkuaiyun.com/luochen330x/article/details/144833216</guid><author>luochen330x</author><pubDate>Wed, 01 Jan 2025 19:41:46 +0800</pubDate><description><![CDATA[1、 组播也是实现主机之间一对多的通信模型，跟广播不同的是，组播发送的消息，只有加入多播组的成员才能收到，没有加入的就无法收到，不会占用柜台的网络带宽。1、设置允许加入组播组（发送端的IP），设置加入组播组时需要（组播组IP，自己的IP，自己网卡ens33的索引号一般都是2）3、发送端不需要绑定固定的IP和端口号，只需要向固定的IP和端口号（广播地址）发送信息即可，1> 主机之间的一对多的通信模式，网络对其中的每一台主机发出的信息都进行复制并转发。3、绑定时绑定的是组播组IP和发送端IP保持一致。]]></description><category></category></item><item><title><![CDATA[day30线程]]></title><link>https://blog.youkuaiyun.com/luochen330x/article/details/144490455</link><guid>https://blog.youkuaiyun.com/luochen330x/article/details/144490455</guid><author>luochen330x</author><pubDate>Mon, 30 Dec 2024 19:53:54 +0800</pubDate><description><![CDATA[8、多线程编程时，对于临界资源访问时可能有多个线程同时访问，这样会产生数据的错乱，这种现象被称为竞态。5、多任务并发执行大多数选择多线程，而不是多进程，因为线程占用内存非常少大概8K。1、线程是轻量化的进程，一个进程内可以有多个线程，至少包含一个线程（主线程）。3、进程之间不共享资源，进程运行空间都是独立的，但是线程共享临界资源。4、线程是任务调度的最小单位，进程是资源分配的最小单位。2、线程的任务调度，创建，销毁的开销都要比进程小。临界资源：全局变量，临界区：访问临界资源的代码。]]></description><category></category></item><item><title><![CDATA[多线程并发]]></title><link>https://blog.youkuaiyun.com/luochen330x/article/details/144815606</link><guid>https://blog.youkuaiyun.com/luochen330x/article/details/144815606</guid><author>luochen330x</author><pubDate>Mon, 30 Dec 2024 09:16:04 +0800</pubDate><description><![CDATA[【代码】多线程并发。]]></description><category></category></item><item><title><![CDATA[day32 进程间通信]]></title><link>https://blog.youkuaiyun.com/luochen330x/article/details/144542093</link><guid>https://blog.youkuaiyun.com/luochen330x/article/details/144542093</guid><author>luochen330x</author><pubDate>Tue, 17 Dec 2024 20:36:51 +0800</pubDate><description><![CDATA[3、无名管道，一旦打开，就出现读端和写端，如果进行读取数据，就要先关闭写端，如果想要写数据，就要先关闭读端。原理：子进程向父进程发送一个信号（这个信号是自定义信号），父进程收到信号后，调用raise函数自杀。1、如果是同一进程下的多个线程，共享资源，所以线程之间的通信只需要注意互斥和同步即可。4、无名管道工作原理是半双工，也就是同一时刻只能是A写B读，或者A读B写。1、本质也是一个内核空间的文件，存储在内存中，读写数据都是一次性的。1、有名字的管道，相对于无名管道，可以进程非亲缘进程间的通信。]]></description><category></category></item><item><title><![CDATA[day 31 线程间的同步和互斥]]></title><link>https://blog.youkuaiyun.com/luochen330x/article/details/144515901</link><guid>https://blog.youkuaiyun.com/luochen330x/article/details/144515901</guid><author>luochen330x</author><pubDate>Tue, 17 Dec 2024 10:06:30 +0800</pubDate><description><![CDATA[死锁是指在多线程多进程环境中，两个或多个进程（或线程）互相持有对方所需资源，导致它们都无法继续执行的一种状态。避免嵌套锁：尽量避免在持有一个锁的时候去申请另一个锁，因为这样可能会导致死锁的发生。统一获取锁的顺序：如果多个线程需要获取多个锁，可以约定获取锁的顺序，这样可以避免出现死锁。设置超时时间：在获取锁的时候可以设置超时时间，如果超过一定时间还没有获取到锁，就放弃获取锁并释放已经获取的锁。死锁检测：通过检测程序的锁状态来判断是否存在死锁，并进行相应的处理。]]></description><category></category></item><item><title><![CDATA[day29 进程基础]]></title><link>https://blog.youkuaiyun.com/luochen330x/article/details/144433765</link><guid>https://blog.youkuaiyun.com/luochen330x/article/details/144433765</guid><author>luochen330x</author><pubDate>Fri, 13 Dec 2024 00:22:10 +0800</pubDate><description><![CDATA[1、创建一个孤儿进程，并修改孤儿进程的操作目录权限为根目录（对根目录某个文件具有读写权限）。2、将孤儿进程设置为会话组组长，脱离终端独立运行（该孤儿进程变成守护进程）。3、更改终端下的umask值，以便于创建的文件具有读写执行的全部权限。5、重定向所有的输入输出出错描述符到该日志文件。4、在根目录下创建一个日志文件。孤儿进程的父进程会变成号进程。]]></description><category></category></item></channel></rss>