
软件
文章平均质量分 59
fulianzhou
聚沙成塔
展开
-
单向循环链表实现RingBuffer
一般我们用的RingBuffer都是用数组或vector实现,用读指针与写指针来控制RingBuffer的输入与输出。用不同的线程来Push与Pull,一般情况下这种结构是非常高效的,无需加锁。但是当Pull处理线程比Push处理线程慢得多的时候,Push就会等待RingBuffer非空;等待有时候会很耗费时间,运行的越久累积的时延就越高。所以用单向循环链表来替代数组或vector,当RingBuffer满时就插入一个新的位置,减少Push等待时间。但是如果Pull处理的...原创 2021-10-28 09:58:07 · 313 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 · 800 阅读 · 0 评论 -
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 评论 -
win32 最小化工具
本文是仿照Trayconizer软件制作。本文的最小化工具是能够随意控制一个程序并使之最小化,恢复的软件。如在命令行中运行:Trayconizer.exe C;\windows\notepad.exe; 将会打开一个记事本,当点击最小化按钮时,会影藏到后台运行,并在托盘中显示记事本的图标,双击记事本恢复窗口,右键点击弹出“Restore”,“Close”菜单。当记事本关闭后,工具软件也原创 2017-07-18 08:18:12 · 1440 阅读 · 0 评论 -
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 阅读 · 0 评论 -
MSComm控件进行串口编程的基本步骤
转载自http://www.cnblogs.com/yzl050819/p/6393905.htmlVisual C++为我们提供了一种好用的ActiveX控件Microsoft Communications Control(即MSComm)来支持应用程序对串口的访问,在应用程序中插入MSComm控件后就可以较为方便地实现对通过计算机串口收发数据。 要使用ActiveX控件MS转载 2017-07-20 17:50:55 · 4918 阅读 · 0 评论 -
VS2008 利用StringTable实现多语言
越来越多的程序支持多语言切换,或者能自动适应当前系统语言,让自己开发的程序支持多语言不仅可以让自己的程序被国人使用,也能让外国程序爱好者使用。VC开发多语言程序有多种方法,或读取配置文件,或使用不同资源DLL等等。这里介绍以资源形式实现多语言版本。1.打开Visual Studio 2008,新建一个基于对话框工程,名称为LanguageTest,不使用Unicode库 ,资源语言一共有十转载 2017-03-03 09:55:29 · 2739 阅读 · 0 评论 -
语法分析程序
config.h/***** *********/#ifndef _CONFIG_H_#define _CONFIG_H_#include #include #include #include //#define LEX_OUTPUT#define MAXSTRLEN 1024 #define UNDEFINE_DATA -1// 单词类型c原创 2016-06-05 17:10:06 · 3198 阅读 · 0 评论 -
win32 组合框操作 - 窗口消息
#include "stdafx.h"#include "stdio.h"#include "stdlib.h"#include "ctype.h"#define ID_COMBO_SIMPLE 1001 // 简单组合框 #define ID_COMBO_DROPDOWN 1002 // 下拉式组合框#define ID_COMBO_DROPDOWNLIS原创 2015-12-19 19:37:55 · 2658 阅读 · 1 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 1 评论 -
JavaScript 表形时钟
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>A watch</title> </head> <style> </原创 2018-05-05 11:49:27 · 314 阅读 · 0 评论 -
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 阅读 · 0 评论 -
VS添加视频播放器
1. 右键单击对话框,选择“插入ActiveX控件”2. 选择“Windows Media Player”3. 右键点击控件,选择类向导。点击“添加类”,选择第二个“类型库中的MFC类”。 4. 来源选择从文件添加,位置为“C:\Windows\System32\wmp.dll”.添加接口:IWMPControls,IWMPMedia,IWMPPlayer4...原创 2018-04-12 17:08:07 · 7269 阅读 · 1 评论 -
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 阅读 · 0 评论 -
使用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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 1 评论 -
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 · 1446 阅读 · 0 评论 -
MFC 状态栏 定时器 进度条 菜单 和 浏览器控件
创建对话框1.状态栏在头文件中添加公有成员CStatusBar m_stateBar; // 状态栏 CStatusBar m_stateBar;然后在初始化函数中添加代码来显示状态栏 // TODO: 在此添加额外的初始化代码 // 设置状态栏 UINT statusBars[6] = { 0 }; // 创建状态栏 m_stateBar.Create(this)原创 2015-10-13 22:59:21 · 969 阅读 · 0 评论 -
linux 常用技巧
1.查找与read相关的主题man -k file | grep read原创 2015-10-03 10:09:04 · 387 阅读 · 0 评论 -
Linux与Windows文件共享
1.前提从window系统能够ping 通Linux系统2.关闭Linux防火墙共享方式1.使用WinSCP工具首先查看Linux的IP。输入inconfig查看IP,假如得到的IP地址为192.168.1.115然后关闭Linux的防火墙输入/etc/init.d/iptales stop接下来从window系统ping通Linux的IP地址原创 2015-10-23 18:43:22 · 727 阅读 · 0 评论 -
linux 编写自己的shell
// 已实现的功能:// 1.普通的shell命令 例如:ls -la; vim smsh3.c// 2.变量存储与替换 例如:set 显示所有的变量// a=x; x=who am i 添加变量或者修改变量的值// echo $x; $x 变量替换#include #in原创 2015-10-04 10:54:31 · 575 阅读 · 0 评论 -
Linux 线程 动画
#include #include #include #include #include #include #define MAXMSG 24#define TUNIT 20000struct propset{ char *str; int row; int delay; int dir;};pthread_mutex_t mx = PTHR原创 2015-10-18 20:12:31 · 460 阅读 · 0 评论 -
MFC制作加法计算器
方法一:MFCproc.exe中是靠添加变量的方法来制作的先添加3个编辑框,4个静态文本框和1个按钮,并修改名字然后分别给3个编辑框添加变量名 双击相加按钮来编辑代码 void CMFCdemoDlg::OnBnClickedButton1(){ //TODO: 在此添加控件通知处理程序代码 UpdateData(TRUE);原创 2015-10-03 20:39:46 · 1699 阅读 · 0 评论 -
MFC 显示bmp图片
首先从工具箱中选择一个Picture Control 和3个Button到对话框取Picture Control 的 ID 为IDC_STATIC_PICURE然后添加bmp资源文件双击静态显示1.添加代码:void CMFCdrill4Dlg::OnBnClickedButton1(){ // TODO: 在此添加控件通知处理程序代码 CBitmap bitm原创 2015-10-17 11:39:43 · 9596 阅读 · 2 评论 -
对话框的背景颜色如何渐变
转载自C++技术网:http://www.cjjjs.cn/paper/lkkj/6242015234110480.aspx添加名为SetDlgBKColor()的成员函数,定义如下:void SetDlgBKColor(){ //定义颜色值 int RColor=255,GColor=100; //获取设备环境 CDC *pDc=Ge转载 2015-10-16 22:24:54 · 987 阅读 · 0 评论 -
window编程 - 俄罗斯方块
#include #include #include "resource.h"#include "mmsystem.h"#pragma comment(lib,"winmm.lib")#define BOXSIZE 10 // 单个方块大小#define WIN_WIDTH 645 // 窗口宽度#define WIN_原创 2015-09-30 08:53:18 · 712 阅读 · 0 评论 -
linux c语言实现 执行shell命令
// 可以在一行输入命令#include #include #include #include #include #define STRLEN 50#define ARGNUM 20char** Split(char *str){ // 拆分字符串,将输入的字符串拆分成一个一个原创 2015-09-24 22:01:48 · 1005 阅读 · 0 评论 -
C++ easyX画室内图
//需要安装easyX#include #include #include #include #include #define MAXSTAR 30#define WINDOW_LEFT 200#define WINDOW_TOP 100#define WINDOW_RIGHT 500#define WINDOW_BUTTON 300原创 2015-06-29 23:36:52 · 1328 阅读 · 0 评论 -
将两首音乐合成一首
#include<stdio.h>#include<stdlib.h>#define M1 "D:/music1.mp3" //第一个音乐文件 两个音乐文件改好名后放在D盘根目录#define M2 "D:/music2.mp3" //第二个音乐文件#define M3 "D:/music3.mp3" //合并后的音乐文件void me原创 2015-06-27 09:13:38 · 1228 阅读 · 0 评论 -
c语言模拟函数画图
main.cpp#include"stdafx.h"#include"function.h"int_tmain(){ intdata1[MAX],data2[MAX]; Fun(MAX,data1,0); Fun(MAX,data2,1); Anolog_grap(MAX,data1); Anolog_grap(MAX,data2)原创 2015-06-27 21:32:34 · 2273 阅读 · 0 评论 -
MFC 创建动态编辑框
添加好变量,编辑框的变量分别为x1,y1,x2,y2双击按钮控件进去编程.void CMFCDynamicEditDlg::OnBnClickedBut(){ // TODO: 在此添加控件通知处理程序代码 UpdateData(TRUE); CEdit *pEdit = new CEdit(); // 基于2D效果的编辑框 CRect rec原创 2015-10-04 18:39:41 · 4962 阅读 · 0 评论 -
linux i/o重定向与管道编程
1.Linux 使用三种流:0:stdin 标准输入1:stdout 标准输出2:stderr 标准错误输出2.默认的连接是tty如果输入sort,按回车键,终端将会连接到sort工具上。随便输入几行文字,当按下Ctrl-D来结束文字输入的时候,sort程序对输入进行排序并将结果写到stdout.3.重要概念原创 2015-10-04 12:02:33 · 2614 阅读 · 0 评论 -
windows 远程登录Linux
一、登录前提:1.window能够ping 通 Linux2.关闭Linux防火墙二、登录Linux1.用Putty-ssh软件登录。启动putty软件登录2.用VNC登录(1)从光盘中Packeges目录中,安装vnc服务器。tigervnc..(2)启动:输入:vncserver &启动软件vnc-E4_2_5-x86_win32_viewer.原创 2015-10-24 21:55:40 · 511 阅读 · 0 评论 -
MFC 列表,日历,及动画控件
新建基于对话框的应用程序。1.列表控件新建一个列表控件,属性改为报表(report),在列表控件下建两个静态文本框,用来显示选中的项。为列表控件添加一个变量m_list;在头文件中添加一个pubilic图像列表控件 // 图像控件 CImageList m_imageList;在初始化区域中编写代码 // TODO: 在此添加额外的初始化代码 srand(t原创 2015-10-09 19:39:37 · 3036 阅读 · 0 评论 -
Win32 贪吃蛇游戏
#include#include #include "resource.h"#define WIN_WIDTH 830 // 窗口宽度#define WIN_DEPTH 540 // 窗口长度#define GAMEZONE_LEFT 10 // 游戏区域左#define GAMEZONE_TOP 10原创 2015-10-22 21:55:38 · 1015 阅读 · 0 评论