<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Kernel_Heart的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Kernel_Heart</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Kernel_Heart]]></copyright><item><title><![CDATA[linux系统下载安装nvidia显卡驱动]]></title><link>https://blog.youkuaiyun.com/Kernel_Heart/article/details/143194567</link><guid>https://blog.youkuaiyun.com/Kernel_Heart/article/details/143194567</guid><author>Kernel_Heart</author><pubDate>Wed, 23 Oct 2024 21:58:46 +0800</pubDate><description><![CDATA[打开PCI设备查询网站：help=pci输入：设备型号代码：1eb1。]]></description><category></category></item><item><title><![CDATA[关于GLibC]]></title><link>https://blog.youkuaiyun.com/Kernel_Heart/article/details/134207036</link><guid>https://blog.youkuaiyun.com/Kernel_Heart/article/details/134207036</guid><author>Kernel_Heart</author><pubDate>Fri, 03 Nov 2023 17:00:50 +0800</pubDate><description><![CDATA[【代码】关于GLibC。]]></description><category></category></item><item><title><![CDATA[类的右值构造函数和右值赋值运算符函数写法]]></title><link>https://blog.youkuaiyun.com/Kernel_Heart/article/details/130567739</link><guid>https://blog.youkuaiyun.com/Kernel_Heart/article/details/130567739</guid><author>Kernel_Heart</author><pubDate>Mon, 08 May 2023 21:31:55 +0800</pubDate><description><![CDATA[类的右值构造函数和右值赋值运算符函数写法]]></description><category></category></item><item><title><![CDATA[拥抱c++ chrono 抛弃 c time]]></title><link>https://blog.youkuaiyun.com/Kernel_Heart/article/details/129436679</link><guid>https://blog.youkuaiyun.com/Kernel_Heart/article/details/129436679</guid><author>Kernel_Heart</author><pubDate>Fri, 10 Mar 2023 10:47:41 +0800</pubDate><description><![CDATA[C++ chrono时间戳的一些操作]]></description><category></category></item><item><title><![CDATA[shell脚本：实现监控进程内存]]></title><link>https://blog.youkuaiyun.com/Kernel_Heart/article/details/129363648</link><guid>https://blog.youkuaiyun.com/Kernel_Heart/article/details/129363648</guid><author>Kernel_Heart</author><pubDate>Mon, 06 Mar 2023 15:33:49 +0800</pubDate><description><![CDATA[shell实现进程内存监控]]></description><category></category></item><item><title><![CDATA[CMakeList的proto文件处理为CPP]]></title><link>https://blog.youkuaiyun.com/Kernel_Heart/article/details/129139937</link><guid>https://blog.youkuaiyun.com/Kernel_Heart/article/details/129139937</guid><author>Kernel_Heart</author><pubDate>Tue, 21 Feb 2023 11:52:21 +0800</pubDate><description><![CDATA[CMakelist中将proto文件编译为c++源文件]]></description><category></category></item><item><title><![CDATA[VSCode代码格式GoogleStyle]]></title><link>https://blog.youkuaiyun.com/Kernel_Heart/article/details/127685462</link><guid>https://blog.youkuaiyun.com/Kernel_Heart/article/details/127685462</guid><author>Kernel_Heart</author><pubDate>Fri, 04 Nov 2022 11:35:29 +0800</pubDate><description><![CDATA[VSCode配置GoogleStyle]]></description><category></category></item><item><title><![CDATA[C++11 shared_ptr unique_ptr weak_ptr]]></title><link>https://blog.youkuaiyun.com/Kernel_Heart/article/details/126362972</link><guid>https://blog.youkuaiyun.com/Kernel_Heart/article/details/126362972</guid><author>Kernel_Heart</author><pubDate>Tue, 16 Aug 2022 12:01:48 +0800</pubDate><description><![CDATA[C++11 智能指针]]></description><category></category></item><item><title><![CDATA[ubuntu1804换清华源]]></title><link>https://blog.youkuaiyun.com/Kernel_Heart/article/details/126271831</link><guid>https://blog.youkuaiyun.com/Kernel_Heart/article/details/126271831</guid><author>Kernel_Heart</author><pubDate>Wed, 10 Aug 2022 18:16:40 +0800</pubDate><description><![CDATA[ubuntu1804清华源]]></description><category></category></item><item><title><![CDATA[Shell：遍历当前目录下的指定文件]]></title><link>https://blog.youkuaiyun.com/Kernel_Heart/article/details/126245960</link><guid>https://blog.youkuaiyun.com/Kernel_Heart/article/details/126245960</guid><author>Kernel_Heart</author><pubDate>Tue, 09 Aug 2022 13:41:09 +0800</pubDate><description><![CDATA[find命令遍历当前目录下的文件]]></description><category></category></item><item><title><![CDATA[Ubuntu1804安装rabbitmq服务]]></title><link>https://blog.youkuaiyun.com/Kernel_Heart/article/details/125897265</link><guid>https://blog.youkuaiyun.com/Kernel_Heart/article/details/125897265</guid><author>Kernel_Heart</author><pubDate>Wed, 20 Jul 2022 17:43:47 +0800</pubDate><description><![CDATA[RabbitMQ安装]]></description><category></category></item><item><title><![CDATA[libcurl 的 curl_easy_setopt()]]></title><link>https://blog.youkuaiyun.com/Kernel_Heart/article/details/124971948</link><guid>https://blog.youkuaiyun.com/Kernel_Heart/article/details/124971948</guid><author>Kernel_Heart</author><pubDate>Wed, 25 May 2022 19:17:13 +0800</pubDate><description><![CDATA[CURL *hCurl = curl_easy_init();
curl_easy_setopt(hCurl, CURLOPT_SSL_VERIFYPEER, 1L);
curl_easy_setopt(hCurl, CURLOPT_SSL_VERIFYHOST, 2L);

1、HTTPS相关

（1）CURL_VERIFY_PEER

默认值为1，该参数表示是否验证HTTPS证书的合法性，就是用第三方证书机构颁发的CA数字证书来解密服务端返回的证书，来验证其合法性。可在编译时就将CA数字证书编译进去，.]]></description><category></category></item><item><title><![CDATA[python和c/c++两者的变量区别]]></title><link>https://blog.youkuaiyun.com/Kernel_Heart/article/details/123628401</link><guid>https://blog.youkuaiyun.com/Kernel_Heart/article/details/123628401</guid><author>Kernel_Heart</author><pubDate>Mon, 21 Mar 2022 10:56:27 +0800</pubDate><description><![CDATA[程序是由变量和函数组成的，变量是数据的载体，通过变量传入函数，完成对数据的处理后，返回新的变量。



对于C/C++而言，程序员可以明确指定传递方式的，主要有：值传递、指针传递、引用传递。

对于python而言，不允许程序员选择采用传值还是传引用，参数传递采用的是“传对象引用”的方式。这种方式相当于传值和传引用的一种综合。如果函数收到的是一个可变对象（dict、list、set、bytearry）的引用，就能修改对象的原始值，相当于‘传引用’来传递对象。如果函数收到的是一个不可变对象（int、doubl]]></description><category></category></item><item><title><![CDATA[C/C++ 常见的内存泄露案例]]></title><link>https://blog.youkuaiyun.com/Kernel_Heart/article/details/123627731</link><guid>https://blog.youkuaiyun.com/Kernel_Heart/article/details/123627731</guid><author>Kernel_Heart</author><pubDate>Mon, 21 Mar 2022 09:58:53 +0800</pubDate><description><![CDATA[在编程工作生涯中本人亲自写出的的或者见过的内存泄露案例记录。

（1）使用三方C语言库错误

情景分析：

例如一些三方开源的C语言动态库，如：openssl等，API使用比较复杂，完成一个完整的逻辑需要调用多个API函数，其中会传入一些指针，由库提供的API函数帮用户完成对象的创建，同时也会提供相应的释放或销毁API函数，但往往再用完后就会忘记主动调用释放函数，来释放这些指针，造成内存的泄露。

避坑指南：

在使用三方不熟悉的库时，一定要自己先写一个死循环的Demo程序，运行起来之后，观看内存的变化。确]]></description><category></category></item><item><title><![CDATA[ubuntu apt-get update 出错]]></title><link>https://blog.youkuaiyun.com/Kernel_Heart/article/details/123274248</link><guid>https://blog.youkuaiyun.com/Kernel_Heart/article/details/123274248</guid><author>Kernel_Heart</author><pubDate>Fri, 04 Mar 2022 12:51:55 +0800</pubDate><description><![CDATA[ubuntu apt-get update 出错]]></description><category></category></item><item><title><![CDATA[linux select函数陷阱]]></title><link>https://blog.youkuaiyun.com/Kernel_Heart/article/details/120969315</link><guid>https://blog.youkuaiyun.com/Kernel_Heart/article/details/120969315</guid><author>Kernel_Heart</author><pubDate>Tue, 26 Oct 2021 11:56:09 +0800</pubDate><description><![CDATA[代码样例一（正确用法）：


while (true) {
    FD_ZERO(&amp;readfds);
    FD_SET(socket_fd, &amp;readfds);
    time_wait.tv_sec = 0;
    time_wait.tv_usec = 500000;

    ret = select(socket_fd+1, &amp;readfds, NULL, NULL, &amp;time_wait);
    if ((ret &lt;= 0) || (!F..]]></description><category></category></item><item><title><![CDATA[linux(Ubuntu)安装(更新)cmake]]></title><link>https://blog.youkuaiyun.com/Kernel_Heart/article/details/118897456</link><guid>https://blog.youkuaiyun.com/Kernel_Heart/article/details/118897456</guid><author>Kernel_Heart</author><pubDate>Mon, 19 Jul 2021 16:01:32 +0800</pubDate><description><![CDATA[1、cmake官方下载编译好的包

cmake官方已经给你做了各个操作系统的编译安装包，找到对应的操作系统下载。

连接：https://cmake.org/files/v3.21/



我这里需要的版本是：cmake-3.21.0-linux-x86_64.tar.gz

如果需要windows或者mac的亦或是 linux64位的请找对应的版本就行。

下载：aria2c -s 4 -c https://cmake.org/files/v3.21/cmake-3.21.0-linux-x86_64..]]></description><category></category></item><item><title><![CDATA[使用 openssl 计算 base64（防止内存泄露）]]></title><link>https://blog.youkuaiyun.com/Kernel_Heart/article/details/117450266</link><guid>https://blog.youkuaiyun.com/Kernel_Heart/article/details/117450266</guid><author>Kernel_Heart</author><pubDate>Tue, 01 Jun 2021 19:32:33 +0800</pubDate><description><![CDATA[#include "openssl/bio.h"
#include "openssl/evp.h"
#include "openssl/buffer.h"

int base64(const unsigned char *src, int src_len, unsigned char *dst, int *dst_len) 
{
    BIO *bio_hnd_mem = NULL;
    BIO *bio_hnd_meth = NULL;
    BUF_MEM *buf_mem_ptr = NUL.]]></description><category></category></item><item><title><![CDATA[c/c++ 字符串string转整数int和浮点数float]]></title><link>https://blog.youkuaiyun.com/Kernel_Heart/article/details/116920226</link><guid>https://blog.youkuaiyun.com/Kernel_Heart/article/details/116920226</guid><author>Kernel_Heart</author><pubDate>Mon, 17 May 2021 15:19:11 +0800</pubDate><description><![CDATA[支持的字符串类型有：

十六进制类型，例如："0x123","0X123"

整数类型，例如："1000"，"-1000"

浮点数类型，例如："0x789"，"0X789"，"1.345"，"-1.345"，"1.23e-5", "1.23E-5"，"-1.23E+5"



#include &lt;stdio.h&gt;
#include &lt;string.h&gt;
#include &lt;stdlib.h&gt;

bool str_to_int(const char* str, con..]]></description><category></category></item><item><title><![CDATA[用docker打造一个ubuntu开发环境]]></title><link>https://blog.youkuaiyun.com/Kernel_Heart/article/details/115239525</link><guid>https://blog.youkuaiyun.com/Kernel_Heart/article/details/115239525</guid><author>Kernel_Heart</author><pubDate>Fri, 26 Mar 2021 14:22:43 +0800</pubDate><description><![CDATA[1.背景

我们在做ubuntu应用开发时，手中的开发电脑搭载的操作系统一般是windows或者macos。

大多数人都会选择安装VMware或者VirtualBox。然后下载ubuntu对应发行版本的iso镜像安装一个虚拟机。

而我们开发人员只需要借助ubuntu的编译器编译自己的代码而已，安装一个完整桌面版的ubuntu虚拟机显然太耗费个人电脑的资源了。

因此，可以选择安装一个docker容器，小巧精简。下面介绍一下我在我个人MAC电脑上搭建ubuntu开发容器的过程。

2.环境搭建

2.1.]]></description><category></category></item></channel></rss>