![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
kellygod
众多菜逼中的一名菜逼
展开
-
自己写的C语言通用日志框架,可以控制日志输出等级
c语言日志框架,可以用来记录调试记录 显示时间跟运行的文件及所在行数,定位起来非常方便。原创 2016-12-26 03:11:45 · 2803 阅读 · 1 评论 -
C++单例模式模板
之前写毕业设计时用到的,现在把整个类抽出来方便以后继续用,非线程完全安全,想要完全线程安全,可以调用std::mutex,给它加把锁。class CDevice{public: static CDevice &getCDeviceInstance() { //静态变量初始化一次的特点 static CDevice mCDevice;原创 2017-04-12 21:48:04 · 892 阅读 · 0 评论 -
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 · 1915 阅读 · 0 评论 -
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 · 7489 阅读 · 2 评论 -
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 · 797 阅读 · 0 评论 -
使用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 · 1215 阅读 · 0 评论 -
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 · 1708 阅读 · 0 评论 -
windows高效进程通信之共享内存环形队列字符串读取
基于windows下用共享内存作为桥梁,使用数组实现的环形队列缓冲区,用进程互斥锁、事件锁、读写锁相结合实现的高效跨进程通信方案,实测16个进程同时写入缓冲区,读取缓冲区进程的响应速度最慢3ms,平均1ms。双进程通信速度在0.5ms以下,影响时间最主要的问题是CPU调度问题,多重锁可能也占用了丁点时间。如果提高读取线程的优先级,可能会更快一点。 代码如下:原创 2018-06-14 12:01:50 · 909 阅读 · 2 评论