- 博客(93)
- 资源 (44)
- 收藏
- 关注
原创 C++ 快排-随机中轴
void QuickSort(vector<int> &nums, int left, int right) { if (left >= right) { return; } int l = left; int r = right; int pos = rand() % (r - l) + l; int pivo...
2022-05-11 20:05:33
290
原创 单向循环链表实现RingBuffer
一般我们用的RingBuffer都是用数组或vector实现,用读指针与写指针来控制RingBuffer的输入与输出。用不同的线程来Push与Pull,一般情况下这种结构是非常高效的,无需加锁。但是当Pull处理线程比Push处理线程慢得多的时候,Push就会等待RingBuffer非空;等待有时候会很耗费时间,运行的越久累积的时延就越高。所以用单向循环链表来替代数组或vector,当RingBuffer满时就插入一个新的位置,减少Push等待时间。但是如果Pull处理的...
2021-10-28 09:58:07
313
原创 zookeeper c api主备切换例子
步骤:1.准备3台主机并同步好时间。2.在主机1启动zookeeper服务,创建节点/services3.在主机2运行应用程序,连接主机1的zookeeper4.主机2往zookeeper的/services节点注册临时节点,节点名=IP:端口 节点数据=注册时间us5.主机2监听/services节点6.分别在主机1,主机3启动运行应用程序;分别向zookeeper注册临时节点。并监听/services节点。7.以先启动的应用程序为主机,及节点数据小的为主机。8.三台主机运行起来后,只有一
2021-09-24 16:57:28
526
原创 linux c 环形缓冲区
mmap()函数介绍:头文件:#include <sys/mman.h>函数原型:void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset);参数:addr:映射区的开始地址。为NULL时由系统决定映射区的起始地址length:映射长度。不足一页按一页处理。prot:内存的保护标志。PROT_READ //页内容可以被读取PROT_WRITE //页可以被写入PROT_NO
2021-07-23 18:05:11
625
原创 单链表反转C++
main.cpp#include <stdio.h>#include <stdlib.h>#include <string.h>#include <errno.h>#include <string.h>#include <time.h>#include <unistd.h>#define TRUE (0)#define FALSE (0)typedef int ElemType;typedef c
2021-03-15 18:46:20
366
原创 linux c 共享内存实现
1.共享内存被映射进程空间后,存在于进程空间的什么位置?存在于进程数据段2.共享内存最大限制是多少?最大限制0x2000000byte(1)创建共享内存#include <sys/ipc.h>#include <sys/shm.h>int shmget(key_t key, size_t size, int shmflg);返回值:共享内存标志符key为输出参数size应该为1024整数倍,4k对其shmflg权限标志:需要|IPC对象存取权限(.
2021-03-10 11:48:23
616
原创 linux下ping程序实现
ping.h#ifndef __PING_H_#define __PING_H_#include <stdio.h>#include <stdlib.h>#include <linux/icmp.h>#include <linux/if_ether.h>#include <linux/ip.h>#include <sys/socket.h>#include <sys/types.h>#include &
2021-02-27 11:02:54
747
1
原创 matlab2015a打包安装成exe文件
本文介绍matlab2015a将matlab源码打包成可执行的exe文件。打包成exe文件任然需要matlab运行时。为了方便,先在电脑上按住matlab运行时,否在打包出来的安装程序会让用户在网上下载matlab运行时安装。Matlab运行时可以在matlab官网下载。MCR_R2015a_win64_installer.exe在命令行界面输入:deploytool 选择第一个 Ap...
2021-01-08 11:18:09
297
原创 Linux 宕机驱动
原理:通过创建proc虚拟文件来与内核交互,交互中通过访问空指针,只读内存,重复释放内存,死锁等方式来达到系统宕机或卡死的状态。一般用来测试系统硬狗。#include <linux/module.h>#include <linux/sched.h>#include <linux/fs.h>#include <linux/proc_fs.h>#include <linux/seq_file.h>#include <li.
2020-12-22 16:36:32
202
原创 B树的插入操作
B树又称B-树1.一棵M阶的B-树,每个节点最多有M个子树,(M-1)个Key。2.若某个节点有N个Key,那这个节点就有N+1个子树P。 P0<Key(0)<P1, P0 < P1 < P33.当某个节点的Key个数大于等于(M-1)时,该节点需要被分裂;分裂时从中间的那个key为中点,分裂成左右两半;中间的key加入到它的父节点元素中,分裂出来的子树加入到父节点的孩子中;循环往复,直到所有节点都满足1,2两个条件。#ifndef _BTREE_H_#define _BT
2020-12-22 16:08:44
694
原创 IP合法性判断 lua实现
假设前段传下来的IP地址格式是合法的。IP合法性判断:xxx.xxx.xxx.xxx == > ip1.ip2.ip3.ip41.ip1的范围必须在[1,223]之间2.IP不能为广播地址步骤:1.先判断子网掩码的合法性。将子网掩码拆分成二进制形式表示的字符串如255.255.254.0的二进制表示11111111 11111111 11111110 00000000左边的’1’中不能有0,右边的’0’中不能有12.判断IP的前8位是否在[1,223]之间, 如果不在范围.
2020-07-15 19:18:58
1706
原创 linux 编写自己的shell
// 已实现的功能:// 1.普通的shell命令 例如:ls -la; vim smsh3.c// 2.变量存储与替换 例如:set 显示所有的变量// a=x; x=who am i 添加变量或者修改变量的值// echo $x; $x 变量替换#include
2020-02-29 11:43:32
390
原创 C++ 大数相加
#include "stdafx.h"#include<iostream>#include<stack>using namespace std;int main(){ stack<char> data1; stack<char> data2; char ch = 0; while ((cin.peek() ...
2018-06-11 17:32:20
1314
2
原创 注册MSCOMM控件
1.需要的原料: 2.将上诉文拷贝到C:\Windows\System32\文件夹下 在cmd命令行中,输入以下命令即可 C:\Windows\System32>regsrv32.exe MSCOMM32.OCX 如果注册失败。将上诉文件拷贝到C:\Windows\SysWOW64\文件夹下,运行同样的命令 C:\Windows\SysWOW64>regsvr32.exe...
2018-05-23 12:29:29
1490
1
原创 JavaScript 表形时钟
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>A watch</title> </head> <style> </
2018-05-05 11:49:27
314
原创 C++ 生成一个64位的随机数
64位最大数:FFFF FFFF FFFF FFFF思路:每8位生成一个随机数,通过循环移位,相与,合成一个64位数。#include "stdafx.h"#include "stdlib.h"#include <time.h>#include <stdlib.h>__int64 Rand64(__int64 nMax){ __int64 nRandData ...
2018-04-18 16:30:39
6224
原创 VS添加视频播放器
1. 右键单击对话框,选择“插入ActiveX控件”2. 选择“Windows Media Player”3. 右键点击控件,选择类向导。点击“添加类”,选择第二个“类型库中的MFC类”。 4. 来源选择从文件添加,位置为“C:\Windows\System32\wmp.dll”.添加接口:IWMPControls,IWMPMedia,IWMPPlayer4...
2018-04-12 17:08:07
7268
1
原创 Mysql 查询最接近某一个数的值
mysql 中没有top 1的用法,所以用limit 1来代替。比如要查询数据库tdata中time最近接10的数:select * from tdata order by abs(10-`time`) LIMIT 1;查询结果:
2018-02-07 15:43:35
3786
原创 mfc导入lua的math库和os库
在lua网站复制相关代码,或者下载lua源码后直接复制文件,添加到自己的mfc工程中。将lmathlib.c和loslib.c文件的后缀名改为cpp,并在这两个文件的开始加上#include "stdafx.h"。在mfc中导入这两个库:luaopen_math(L);luaopen_os(L);之后在lua文件中就可以使用mat库和os库函数了。os.ti
2017-12-14 15:20:28
1964
原创 MFC实现lua printf函数
lua脚本格式:printf('123,x=%0.3f, y=%d, z=%d,%s,%c\n',x,y,z,'Hello word','A') -- 打印函数MFC实现:// 解析格式化数据,需要手动释放内存void CRunLuaDlg::FmtDecode(const char* strFmt,CArgList *pArgList,char *lpFmtstr)
2017-12-14 11:38:33
488
原创 MFC lua编程之lua函数作为MFC内部函数调用
参考lua源码5.1.4版本源码min.c文件:/** min.c -- a minimal Lua interpreter* loads stdin only with minimal error handling.* no interaction, and no standard library, only a "print" function.*/#include #
2017-12-14 11:09:37
1445
原创 使用lua配置C++程序
使用lua脚本配置C++程序窗口大小:lua脚本内容:-- lua配置文件,配置窗口大小width=200height=300C++源码:// LuaConfig.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include extern "C"{ #include "lua.h"
2017-12-06 09:07:16
801
原创 C++操作lua栈
int lua_gettop(lua_State *L) void lua_settop(lua_State *L, int index) // lua_settop(L,0), 0清空栈 #define lua_pop(L,n) lua_settop(L,-(n)-1) // 可以从栈中弹出n个元素 void lua_pushval
2017-12-05 17:02:01
594
原创 vs2012 简单的lua解释器
1. 将lua的include目录添加到vs2012的包含目录中2. 将lua的lib目录添加到vs2012的库目录中3. 代码作用:将输入的程序解释为lua代码。#include "stdafx.h"#include #include extern "C"{ #include "lua.h" #include "lualib.h" #include "lauxlib.h"}
2017-12-05 11:40:39
317
原创 matlab2015a连接mysql数据库
11. 下载JDBC驱动mysql.connector-java-5.1.7-bin.jar2. 将JDBC驱动放在matlab安装目录下的java/jar/toolbox文件夹中3. 在matlab安装目录下的toolbox/local文件夹中修改文件classpath.txt文件在末尾加入一行:$matlabroot/java/jar/toolbox/mys
2017-11-30 11:09:18
580
转载 mfc 非阻塞延时
从网上找的非阻塞延时方法,帮了我大忙。struct XSleep_Structure { int duration; HANDLE evenHandle;};// 非阻塞延时void XSleep(int nWaitInMsecs){ XSleep_Structure sleep; sleep.duration = nWaitInMsecs; sleep.evenHandl
2017-10-13 11:24:03
5958
6
原创 vs2008 单文档视图MFCToolBar设置图片
1.准备图片用工具栏图标拼接软件将图标拼接成位图2.修该工具栏大小工具栏大小与图标大小一致3.修改代码int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){ if (CFrameWndEx::OnCreate(lpCreateStruct) == -1) return -1; if( !m_wndToolBar
2017-09-08 20:04:10
798
原创 vs2008 mfc 读写excel文件
1.新建对话框程序,点击项目->添加类->TypeLib中的MFC类选择注册表->Microsoft Excel 15.0 Object Library如果选择的是文件,如果装的是32位的office,文件路径就是C:\Program Files (x86)\Microsoft Office\Office15\EXECEL.exe;如果装的是64位的office,那就在C:\Program
2017-07-25 17:05:11
1301
原创 mfc 使用MsComm自制USB助手
1.添加MsComm控件 会出现像电话一样的图标,这个图标在程序运行时不会显示。 2.添加接收数据相应事件 3.添加其它控件 4.运行结果 5.MsComm编程基本步骤 6.工程文件 代码:// UseMsCommDlg.cpp : 实现文件//#include "stdafx.h"#include "UseMsComm.h"#include "UseMsCom
2017-07-21 09:51:36
972
转载 MSComm控件进行串口编程的基本步骤
转载自http://www.cnblogs.com/yzl050819/p/6393905.htmlVisual C++为我们提供了一种好用的ActiveX控件Microsoft Communications Control(即MSComm)来支持应用程序对串口的访问,在应用程序中插入MSComm控件后就可以较为方便地实现对通过计算机串口收发数据。 要使用ActiveX控件MS
2017-07-20 17:50:55
4915
原创 win32 最小化工具
本文是仿照Trayconizer软件制作。本文的最小化工具是能够随意控制一个程序并使之最小化,恢复的软件。如在命令行中运行:Trayconizer.exe C;\windows\notepad.exe; 将会打开一个记事本,当点击最小化按钮时,会影藏到后台运行,并在托盘中显示记事本的图标,双击记事本恢复窗口,右键点击弹出“Restore”,“Close”菜单。当记事本关闭后,工具软件也
2017-07-18 08:18:12
1439
原创 MFC 绘制透明背景位图
// 显示透明背景的位图// 显示透明背景的位图BOOL CSnowDlg::TransBit(CDC* dcSnow,CDC *dcDest,int pos_x,int pos_y){ // 创建空白DC CDC dcImg; CBitmap bmp; bmp.CreateCompatibleBitmap(dcSnow,32,32); dcImg.CreateCompatibl
2017-04-14 11:11:59
5317
VC++ 6.0番茄助手各种版本和行号插件及使用说明
2015-11-15
数据库 社团管理系统 ODBC,ms sql server 2008
2015-06-14
sql server 模板大全
2015-04-26
数据库系统概论第四版答案详解
2015-03-21
期货交易数据交换协议JRT 0016-2014
2023-03-20
VC/VS工具栏图标合成软件
2017-09-08
mfc使用MsComm自制USB助手工程文件
2017-07-21
最小化工具
2017-07-18
dosfstools-2.11.orig.tar.gz
2016-03-23
u-boot1.1.6,linux2.6.22.6 and it's patch
2016-02-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人