- 博客(11)
- 资源 (6)
- 收藏
- 关注
原创 观察者模式
#pragma once#include <string>#include <list>#include <iostream>using namespace std;//抽象观察者class Observer {public: virtual void update(string message) = 0;};class ConcreteObserverOne :public Observer{public: ConcreteObserv.
2021-06-14 20:51:20
108
转载 C#调用Win32 C++动态链接库那些事
利用C#设计前端显示界面,C++完成后台算法和功能,是现在比较流行的一种桌面软件研发搭配。通常的做法就是C++封装成动态链接库接口,供C#来调用。这种做法最麻烦的是两者之间数据传递的问题,因为C#和C++之间的数据类型是不一样的,而且在实际应用中还存在一些未知的坑。下面就对C#调用C++动态链接库过程中我遇到的部分问题以及解决方案做下小结,分享给大家。1 C++封装DLLC++代码做字符串加密,然后返回加密后的字符串,代码结构如下:EncryptString.h#ifndef _Enc
2021-01-21 22:42:46
531
原创 C语言实现简单状态机
有限状态机(finite state machine)简称FSM,表示有限个状态及在这些状态之间的转移和动作等行为的数学模型,在计算机领域有着广泛的应用。FSM是一种逻辑单元内部的一种高效编程方法,在服务器编程中,服务器可以根据不同状态或者消息类型进行相应的处理逻辑,使得程序逻辑清晰易懂。状态机实现的方式有多种,下面讲述三种.1.使用if/else if语句实现的FSM使用if/else if语句是实现的FSM最简单最易懂的方法,我们只需要通过大量的if /else if语句来判断状态值来执行相应
2021-01-16 20:52:56
4378
1
原创 mmap映射区和shm共享内存的区别总结
linux中的两种共享内存。一种是我们的IPC通信System V版本的共享内存,另外的一种就是我们今天提到的存储映射I/O(mmap函数)在说mmap之前我们先说一下普通的读写文件的原理,进程调用read或是write后会陷入内核,因为这两个函数都是系统调用,进入系统调用后,内核开始读写文件,假设内核在读取文件,内核首先把文件读入自己的内核空间,读完之后进程在内核回归用户态,内核把读入内核内存的数据再copy进入进程的用户态内存空间。实际上我们同一份文件内容相当于读了两次,先读入内核空间,再从内核空间
2021-01-11 23:41:52
245
原创 mysql学习
在 Ubuntu 上安装 MySQLhttps://blog.youkuaiyun.com/liang19890820/article/details/105071479
2020-12-05 23:03:18
119
转载 浅谈C++多态
什么是多态?多态性(polymorphism)据说最早源自希腊语,从字面上理解就是多种形态,多种形式。具体到C++这种面向对象(OOP)的语言中,其实就是“一种接口,多种实现(方法)”。多态可分为静态多态和动态多态,具体的分类情况如下:静态多态和动态多态的区别其实只是在什么时候将函数实现和函数调用关联起来,是在编译时期还是运行时期,即函数地址是早绑定还是晚绑定的?静态多态是指在编译期间就可以确定函数的调用地址,并生产代码,这就是静态的,也就是说地址是早早绑定的,静态多态也往往被叫做静态联编。
2020-11-21 18:39:49
471
转载 Linux下头文件搜索路径
本文转自:https://blog.youkuaiyun.com/weiyuefei/article/details/78115424C++编译时,教科书中写道:#include “headfile.h”优先在当前目录查找头文件;#include < headfile.h >从系统默认路径查找头文件。先前以为系统默认路径是环境变量$PATH指定的路径,在系统上一查,傻了眼:-bash-3.2$ echo $PATH/usr/local/bin:/bin:/usr/bin:/sbin:/usr/s.
2020-05-10 19:54:14
671
原创 meson + ninja 源码编译libfuse3.9.1
使用开源框架libfuse时,需要meson+ninjalibfuse:https://github.com/libfuse/libfusemeson:https://github.com/mesonbuild/mesonninja:https://github.com/ninja-build/ninja/releases ninja 我是直接用的released 先查找以前的ninja 老版本:whereis ninja替换成新版本,...
2020-05-10 15:42:38
1535
原创 1、linux学习 提升权限到root
安装完Ubuntu系统,Ubuntu默认的root密码在每次重启后都是随机生成的。类似的还有RedHat、CentOS等系统。登录你所创建的任意用户,输入sudo passwd,然后输入当前用户密码,即可设置root固定密码了然后 su root 切换到root用户即可...
2019-10-19 13:33:37
702
原创 C++ Lambda表达式[]里面参数详解
Lambda是C++11新特性的东西:一般形式为[函数对象参数] (参数) mutable ->返回值{ .........}[],标识一个Lambda的开始,不能省略。函数对象参数有以下形式:1,、空,没有使用任何函数对象参数。2、=。按值传递3、&。引用传递方式4、this。函数体内可以使用Lambda所在类中的成员变量.。5...
2019-08-08 18:03:13
3400
《Python基础教程(第3版)》带书签超清 完美文字版 .rar
2019-07-29
Qt Creator快速入门_第三版__霍亚飞编源码
2018-05-17
java核心技术
2017-12-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人