- 博客(15)
- 资源 (6)
- 收藏
- 关注
原创 windows高效进程通信之共享内存环形队列字符串读取
基于windows下用共享内存作为桥梁,使用数组实现的环形队列缓冲区,用进程互斥锁、事件锁、读写锁相结合实现的高效跨进程通信方案,实测16个进程同时写入缓冲区,读取缓冲区进程的响应速度最慢3ms,平均1ms。双进程通信速度在0.5ms以下,影响时间最主要的问题是CPU调度问题,多重锁可能也占用了丁点时间。如果提高读取线程的优先级,可能会更快一点。 代码如下:
2018-06-14 12:01:50 1054 2
原创 c++32/64位编译器简单获取cpuid低32位代码
64位使用的是shellcode进行内联汇编代码,32位的编译器直接使用内联汇编就行了。UINT64 GetCpuID(){#if defined(_WIN64)//64位编译器 UCHAR shellcode[] = "\xB8\x01\x00\x00\x00" //mov eax 1 "\x0F\xA2" //cpuid
2017-07-21 11:15:13 1748
原创 C#跨线程更新控件(UI)使用delegate方式
C#跨线程更新(获取)控件(UI)使用delegate方式在做界面开发的时候经常用到多线程,并且要在work线程中对控件或者界面进行操作 下面给出几种常用的操作方法使用匿名委托到主线程中进行UI异步更新 private void AsyncUpdateListView(ListView listview, ListViewItem listViewItem) {
2017-07-19 23:24:27 6014
原创 使用C++连接sql server 单例模式
直接上代码使用方法:CADO& m_sqlAdo=CADO::getCADOInstance(); if (!m_sqlAdo.IsOpen()) { bool success = m_sqlAdo.InitializeAdo("139.199.xxx.xxx,1433", "sa", "xxxx", "Persist Security Info=False;I
2017-07-16 23:43:32 1245
原创 Android使用NDK进行联网签名认证
Android使用NDK进行联网签名认证#include <jni.h>#include <string>#include <android/log.h>#include <sys/socket.h>#include <arpa/inet.h>#include <netdb.h>#include <fcntl.h>extern "C"{#define HOST "127.0.0.1
2017-05-19 16:05:40 830
原创 C++模板实现的队列多线程安全
直接给代码,没什么好说的。#pragma once#include <iostream>#include <queue> #include <mutex>#include <memory>#include <condition_variable>template<typename T>class Threadsafe_queue{private : mutable std:
2017-04-12 22:26:05 1953
原创 C++单例模式模板
之前写毕业设计时用到的,现在把整个类抽出来方便以后继续用,非线程完全安全,想要完全线程安全,可以调用std::mutex,给它加把锁。class CDevice{public: static CDevice &getCDeviceInstance() { //静态变量初始化一次的特点 static CDevice mCDevice;
2017-04-12 21:48:04 919
原创 C++/MFC全局未知异常捕获并进行调试
C++/MFC全局未知异常捕获Dump出来并进行调试全局捕获未知异常函数名: WINBASEAPI LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter( __in_opt LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter
2017-04-01 00:25:08 7627 2
转载 Android textview 属性大全
转自: http://www.cnblogs.com/hxxy2003/archive/2011/08/05/2129050.html android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all) android:autoText如果设置,将自动执行输入值的拼写纠正。此处
2017-01-08 20:51:42 486
原创 51单片机串口通信 环形缓冲区队列(FIFO)
51单片机串口通信 环形缓冲区队列最近在做毕业设计刚好涉及到51单片机,简单的研究一下发现51单片机串口只有一个字节的缓存,如果遇到单片机串口中断没有及时处理SBUF的值或者串口中断长时间未退出很容易照成数据丢失,于是就自己写了个缓冲区,代价就是消耗一部分内存空间,时间-空间本来就是一对矛盾体,对于数据只能牺牲部分空间,来减少数据通信过程中的丢失问题。核心代码如下所示:/** 用途:
2017-01-08 20:37:30 14759 4
原创 Android中Handler的使用方法
Android中Handler的使用方法几乎所有人第一次使用到Handler类的时候,都是因为想在非主线程更新UI,然后在更新UI的时候报错,才发现Handler的,现在来看一下网上的通用给法 “ public class HandlerActivity extends Activity {private Handler mHandler=new Handler(){ @Over
2016-11-29 17:09:46 718
原创 Java泛型使用冒泡排序与快速排序算法
/* * @author kellygod * * 此泛型可以是Integer ,Double ,Float , Long * * eg. Sort<Double> s=new Sort<Double>(); * Double[] array={98.1,32.10,3.45,4.1,-5.3,6.4,10.0,99.265,16.0,-4.0,-10.0}; * Sort<D
2016-10-31 17:13:08 1622 3
原创 使用VS2015调试Android的C++动态链接库
使用VS2015调试Android的C++动态链接库VS2015相对于过去的IDE在跨平台方面做了很大的支持,支持对linux操作系统进行远程GDB调试,由于VS2015强大的C/C++调试功能,本文将介绍,如何用VS2015调试android的动态链接库,跟进行NDK开发。 首先需要去官网下载VS2015 社区版 这个版本是免费使用的虽然部分功能有所限制,但是已经够一般人进行使用
2016-10-22 17:58:31 2223
原创 Openwrt使用lua进行串口通信读写操作
网上有很多的关于lua进行串口读写操作的教程,但是本人测试很多都只能写不能读取 经过测试后来发现少了几步1.先修改波特率 stty -F /dev/ttyUSB0 raw speed 9600本人用的是 usb to serial 的pl2303 所以对应的路径为 /dev/ttyUSB0如果 stty出错 请先安装coreutils-sttyopkg updat
2016-02-24 14:36:35 8874 1
Inpout32_dll_source_1501.zip
2019-10-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人