<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq13955的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq13955</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq13955]]></copyright><item><title><![CDATA[观察者模式]]></title><link>https://blog.youkuaiyun.com/qq13955/article/details/117912623</link><guid>https://blog.youkuaiyun.com/qq13955/article/details/117912623</guid><author>qq13955</author><pubDate>Mon, 14 Jun 2021 20:51:20 +0800</pubDate><description><![CDATA[#pragma once
#include &lt;string&gt;
#include &lt;list&gt;
#include &lt;iostream&gt;
using namespace std;

//抽象观察者
class Observer {
public:
	virtual void update(string message) = 0;

};

class ConcreteObserverOne :public Observer
{
public:
	ConcreteObserv.]]></description><category></category></item><item><title><![CDATA[C#调用Win32 C++动态链接库那些事]]></title><link>https://blog.youkuaiyun.com/qq13955/article/details/112974085</link><guid>https://blog.youkuaiyun.com/qq13955/article/details/112974085</guid><author>qq13955</author><pubDate>Thu, 21 Jan 2021 22:42:46 +0800</pubDate><description><![CDATA[利用C#设计前端显示界面，C++完成后台算法和功能，是现在比较流行的一种桌面软件研发搭配。通常的做法就是C++封装成动态链接库接口，供C#来调用。这种做法最麻烦的是两者之间数据传递的问题，因为C#和C++之间的数据类型是不一样的，而且在实际应用中还存在一些未知的坑。下面就对C#调用C++动态链接库过程中我遇到的部分问题以及解决方案做下小结，分享给大家。

1 C++封装DLL

C++代码做字符串加密，然后返回加密后的字符串，代码结构如下：



EncryptString.h


#ifndef _Enc]]></description><category></category></item><item><title><![CDATA[C语言实现简单状态机]]></title><link>https://blog.youkuaiyun.com/qq13955/article/details/112724526</link><guid>https://blog.youkuaiyun.com/qq13955/article/details/112724526</guid><author>qq13955</author><pubDate>Sat, 16 Jan 2021 20:52:56 +0800</pubDate><description><![CDATA[有限状态机（finite state machine）简称FSM，表示有限个状态及在这些状态之间的转移和动作等行为的数学模型，在计算机领域有着广泛的应用。FSM是一种逻辑单元内部的一种高效编程方法，在服务器编程中，服务器可以根据不同状态或者消息类型进行相应的处理逻辑，使得程序逻辑清晰易懂。
状态机实现的方式有多种，下面讲述三种.

1.使用if/else if语句实现的FSM

使用if/else if语句是实现的FSM最简单最易懂的方法，我们只需要通过大量的if /else if语句来判断状态值来执行相应]]></description><category></category></item><item><title><![CDATA[mmap映射区和shm共享内存的区别总结]]></title><link>https://blog.youkuaiyun.com/qq13955/article/details/112503876</link><guid>https://blog.youkuaiyun.com/qq13955/article/details/112503876</guid><author>qq13955</author><pubDate>Mon, 11 Jan 2021 23:41:52 +0800</pubDate><description><![CDATA[linux中的两种共享内存。一种是我们的IPC通信System V版本的共享内存，另外的一种就是我们今天提到的存储映射I/O（mmap函数）

在说mmap之前我们先说一下普通的读写文件的原理，进程调用read或是write后会陷入内核，因为这两个函数都是系统调用，进入系统调用后，内核开始读写文件，假设内核在读取文件，内核首先把文件读入自己的内核空间，读完之后进程在内核回归用户态，内核把读入内核内存的数据再copy进入进程的用户态内存空间。实际上我们同一份文件内容相当于读了两次，先读入内核空间，再从内核空间]]></description><category></category></item><item><title><![CDATA[mysql学习]]></title><link>https://blog.youkuaiyun.com/qq13955/article/details/110728889</link><guid>https://blog.youkuaiyun.com/qq13955/article/details/110728889</guid><author>qq13955</author><pubDate>Sat, 05 Dec 2020 23:03:18 +0800</pubDate><description><![CDATA[在 Ubuntu 上安装 MySQL

https://blog.youkuaiyun.com/liang19890820/article/details/105071479
]]></description><category></category></item><item><title><![CDATA[浅谈C++多态]]></title><link>https://blog.youkuaiyun.com/qq13955/article/details/109904561</link><guid>https://blog.youkuaiyun.com/qq13955/article/details/109904561</guid><author>qq13955</author><pubDate>Sat, 21 Nov 2020 18:39:49 +0800</pubDate><description><![CDATA[什么是多态？

多态性（polymorphism）据说最早源自希腊语，从字面上理解就是多种形态，多种形式。具体到C++这种面向对象（OOP）的语言中，其实就是“一种接口，多种实现（方法）”。
多态可分为静态多态和动态多态，具体的分类情况如下：



静态多态和动态多态的区别其实只是在什么时候将函数实现和函数调用关联起来，是在编译时期还是运行时期，即函数地址是早绑定还是晚绑定的？
静态多态是指在编译期间就可以确定函数的调用地址，并生产代码，这就是静态的，也就是说地址是早早绑定的，静态多态也往往被叫做静态联编。]]></description><category></category></item><item><title><![CDATA[Linux下头文件搜索路径]]></title><link>https://blog.youkuaiyun.com/qq13955/article/details/106041017</link><guid>https://blog.youkuaiyun.com/qq13955/article/details/106041017</guid><author>qq13955</author><pubDate>Sun, 10 May 2020 19:54:14 +0800</pubDate><description><![CDATA[本文转自：https://blog.youkuaiyun.com/weiyuefei/article/details/78115424

C++编译时，教科书中写道:#include “headfile.h”优先在当前目录查找头文件；#include &lt; headfile.h &gt;从系统默认路径查找头文件。先前以为系统默认路径是环境变量$PATH指定的路径，在系统上一查，傻了眼：

-bash-3.2$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/sbin:/usr/s.]]></description><category></category></item><item><title><![CDATA[meson + ninja 源码编译libfuse3.9.1]]></title><link>https://blog.youkuaiyun.com/qq13955/article/details/106036594</link><guid>https://blog.youkuaiyun.com/qq13955/article/details/106036594</guid><author>qq13955</author><pubDate>Sun, 10 May 2020 15:42:38 +0800</pubDate><description><![CDATA[​​​​​​​​​​​​​​使用开源框架libfuse时,需要meson+ninja

libfuse：https://github.com/libfuse/libfuse

meson：https://github.com/mesonbuild/meson

ninja：https://github.com/ninja-build/ninja/releases


	ninja 我是直接用的released
	
先查找以前的ninja 老版本：whereis ninja

替换成新版本，...]]></description><category></category></item><item><title><![CDATA[2、linux命令学习 打包压缩解包 tar]]></title><link>https://blog.youkuaiyun.com/qq13955/article/details/102644540</link><guid>https://blog.youkuaiyun.com/qq13955/article/details/102644540</guid><author>qq13955</author><pubDate>Sat, 19 Oct 2019 23:21:02 +0800</pubDate><description><![CDATA[只是用tar打包的话，有10K，压缩的话有gz，bz2两种方式



2、解压




]]></description><category></category></item><item><title><![CDATA[1、linux学习  提升权限到root]]></title><link>https://blog.youkuaiyun.com/qq13955/article/details/102637634</link><guid>https://blog.youkuaiyun.com/qq13955/article/details/102637634</guid><author>qq13955</author><pubDate>Sat, 19 Oct 2019 13:33:37 +0800</pubDate><description><![CDATA[安装完Ubuntu系统，Ubuntu默认的root密码在每次重启后都是随机生成的。类似的还有RedHat、CentOS等系统。

登录你所创建的任意用户，输入sudo passwd，然后输入当前用户密码，即可设置root固定密码了

然后 su root 切换到root用户即可


...]]></description><category></category></item><item><title><![CDATA[C++   Lambda表达式[]里面参数详解]]></title><link>https://blog.youkuaiyun.com/qq13955/article/details/98880804</link><guid>https://blog.youkuaiyun.com/qq13955/article/details/98880804</guid><author>qq13955</author><pubDate>Thu, 08 Aug 2019 18:03:13 +0800</pubDate><description><![CDATA[Lambda是C++11新特性的东西：

一般形式为

[函数对象参数] (参数) mutable -&gt;返回值

{

  .........

}

[]，标识一个Lambda的开始，不能省略。函数对象参数有以下形式：

1,、空，没有使用任何函数对象参数。

2、=。按值传递

3、&amp;。引用传递方式

4、this。函数体内可以使用Lambda所在类中的成员变量.。

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