自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

c++基础

靠知识赚点油米钱

  • 博客(36)
  • 资源 (6)
  • 收藏
  • 关注

原创 git-workflow

git workflow 1、master:(每一次变动都是一个版本;来源release和hotfix;服务hotfix;为第一个develop提供服务) 2、hotfix:(master某个版本发现问题后,可能需要多次提交验证,为减少master的版本号多次变化;来源master;服务master) 3、release:(测试对即将发布的版本做回归验证,开发做bug修复,无新功能提交;...

2018-05-03 11:52:48 326

原创 GetCurrentProcess 伪句柄

0、思考1、相关apiGetCurrentProcessGetCurrentThreadGetCurrentProcessIdOpenProcessDuplicateHandleCloseHandle 3、api说明HANDLE WINAPI GetCurrentProcess(void);1、返回当前进程的伪句柄(始终返回-1)2、-1表示当前进...

2018-04-10 10:42:01 5045

原创 Stack overflow

Stack overflow/Stack:reserve

2017-04-07 13:21:30 1126

原创 CreateToolhelp32Snapshot TH32CS_SNAPTHREAD

TlHelp32.hCreateToolhelp32Snapshot TH32CS_SNAPTHREADTHREADENTRY32Thread32FirstThread32NextCloseHandle

2017-03-24 10:46:31 1589

原创 CreateToolhelp32Snapshot TH32CS_SNAPMODULE TH32CS_SNAPMODULE32

TlHelp32.hCreateToolhelp32Snapshot TH32CS_SNAPMODULETH32CS_SNAPMODULE32MODULEENTRY32Module32FirstModule32NextCloseHandle

2017-03-24 10:12:32 1097

原创 CreateToolhelp32Snapshot TH32CS_SNAPPROCESS

apiTlHelp32.hCreateToolhelp32Snapshot TH32CS_SNAPPROCESSPROCESSENTRY32 Process32FirstProcess32NextCloseHandle

2017-03-24 10:07:23 3362

原创 CreateToolhelp32Snapshot TH32CS_SNAPHEAPLIST

TlHelp32.hCreateToolhelp32SnapshotTH32CS_SNAPHEAPLISTHEAPLIST32 Heap32ListFirst Heap32ListNext CloseHandle

2017-03-24 10:03:08 775

原创 wtsapi32.dll

WTSCloseServer WTSConnectSessionW WTSCreateListenerW WTSDisconnectSessionWTSEnableChildSessionsWTSEnumerateListenersWWTSEnumerateProcessesExWWTSEnumerateSessionsExWWTSFreeMemoryExWWTSGetChildSessionId

2017-03-23 13:31:57 2230 1

原创 内核对象 互斥体 CreateMutex 跨进程边界共享内核对象 命名对象 程序单实例

CreateMutex程序单实例

2017-02-21 15:17:59 608

原创 内核对象 复制对象句柄 DuplicateHandle 跨进程边界共享内核对象

Windows API List System Services Windows System Information Handles and Objects Handles and Object Reference Handle and Object Functions DuplicateHandle// 跨进程边界共享内核对象;

2016-09-19 10:35:10 2172

原创 URI

urilibeventevhttp_uri_parse_with_flagsparse

2016-06-12 19:04:07 1254

原创 libevent windows build

http://libevent.org/libevent windows budild32b 64b debug releasemakefile.nmakeOx Od MDd Zi

2016-06-08 16:49:46 709

原创 扩展样式

扩展样式WS_EX_ACCEPTFILES WS_EX_CLIENTEDGE WS_EX_CONTEXTHELP WS_EX_CONTROLPARENT WS_EX_LAYERED WS_EX_LEFT WS_EX_LEFTSCROLLBAR WS_EX_LTRREADING WS_EX_MDICHILD WS_EX_OVERLAPPEDWINDOW WS_EX_PALETTEWINDOW WS_EX_RIGHT

2016-05-18 17:19:53 559

原创 窗口样式

窗口样式WS_BORDER WS_CAPTION WS_CHILD WS_CHILDWINDOW WS_CLIPSIBLINGS WS_DISABLED WS_DLGFRAME WS_GROUP WS_HSCROLL WS_ICONIC WS_MAXIMIZE WS_MAXIMIZEBOX WS_MINIMIZE WS_MINIMIZEBOX WS_OVERLAPPED WS_OVERLAPPEDWINDOW

2016-05-18 17:13:58 595

原创 32位类型(int、long等)右移(>>)32位

If the value of the right operand is negative or is greater than or equal to the width of the promoted left operand, the behavior is undefined.也就是说,对于右移大于或等于位宽的操作,或者右移负数的操作,其结果将依赖于编译器的处理和硬件指令的处理,并不唯一。

2016-01-07 14:16:01 7425

原创 线程同步 总结 内核对象

小结事件(Event)等待定时器(WaitableTimer)信号量(Semaphore)互斥量(Mutex)

2015-11-18 10:12:36 384

原创 线程同步 总结 用户模式同步对象

旋转锁(Interlocked)关键代码段(CRITICAL_SECTION)Slim读写锁(SRWLOCK)条件变量(CONDITION_VARIABLE)最佳性能当然是不使用共享数据,然后依次使用Volatile读取,Volatile写入,Interlocked递增,关键段,SRWLock共享模式,SRWLock独占模式,互斥量。

2015-11-10 17:36:39 494

原创 线程同步 条件变量 CONDITION_VARIABLE 用户模式同步对象 InitializeConditionVariable

CONDITION_VARIABLEInitializeConditionVariableSleepConditionVariableCSSleepConditionVariableSRWWakeConditionVariableWakeAllConditionVariable条件变量:利用线程间共享的全局变量(关键段、读写锁)进行同步的一种机制

2015-11-10 16:59:28 3153

原创 线程同步 Slim读写锁 SRWLOCK 用户模式同步对象 InitializeSRWLock

SRWLOCKInitializeSRWLockAcquireSRWLockExclusiveAcquireSRWLockSharedReleaseSRWLockExclusiveReleaseSRWLockShared独占式访问:写线程访问共享资源的方式;共享式访问:读线程访问共享资源的方式;当有读线程访问资源时,写线程等待访问时,新的读线程因为有写线程等待所以不允许访问。

2015-11-10 15:01:50 2529

原创 线程同步 关键代码段 CRITICAL_SECTION 用户模式同步对象 InitializeCriticalSection

CRITICAL_SECTION InitializeCriticalSectionDeleteCriticalSectionEnterCriticalSectionLeaveCriticalSection TryEnterCriticalSectionInitializeCriticalSectionAndSp临界区:在某个时间内只允许(同一个进程内的)一个线程执行某个给定代码段。

2015-11-10 09:41:46 3135

原创 线程同步 旋转锁 Interlocked 用户模式同步对象 InterlockedExchange

InterlockedIncrement(相当于++)InterlockedDecrement(相当于--)InterlockedExchangeAdd(相当于+)InterlockedExchange(相当于=)InterlockedCompareExchange(相当于?:)原子访问:一个线程在访问某个资源的同时能够确保没有其他线程会在同一时刻访问同一资源。

2015-11-10 09:35:21 2684

原创 线程同步 等待函数 WaitForSingleObject WaitForMultipleObjects

WaitForSingleObjectWaitForMultipleObjectsWaitForInputIdleMsgWaitForMultipleObjectWaitForDebugEventSignalObjectAndWait等待函数:是一个线程自愿进入等待状态,直到指定的内核对象被触发为止。等待成功所引起的副作用:对象的状态发生了变化。

2015-11-09 16:23:11 1708

原创 线程同步 互斥量 Mutex 内核对象 CreateMutex

CreateMutexReleaseMutex互斥量:确保一个线程独占对一个资源的访问。(与关键代码段行为完全相同,只是互斥量属于内核对象,关键代码段属于用户模式下的同步对象)互斥量包含一个使用计数、线程id以及一个递归计数。(后面有用)异常:假设线程试图等待一个未触发的互斥量对象。在这种情况下...线程所有权:除了互斥量,没有任何一个会记住自己是哪个线程等待成功的内核对象。遗弃:...

2015-11-09 13:51:02 3026

原创 线程同步 信号量 Semaphore 内核对象 CreateSemaphore

生产者消费者问题,同步互斥问题,有界缓冲器问题:1、两个进程对同一个内存资源操作,一个生产者,一个消费者;2、生产者往共享内存资源填充数据,如果区域满,则等待消费者消费数据;3、消费者从共享内存资源取数据,如果区域空,则等待生产者填充数据;CreateSemaphoreOpenSemaphoreReleaseSemaphore读者写者问题,同步互斥问题哲学家进餐问题,同步互斥问题

2015-11-09 10:40:21 4772

原创 线程同步 等待定时器 WaitableTimer 内核对象 CreateWaitableTimer

CreateWaitableTimerSetWaitableTimerCancelWaitableTimerOpenWaitableTimerWaitForSingleObjectWaitForMultipleObjectCloseHandle等待定时器:在某个指定的时间触发或每隔一段时间触发一次。APC:asynchronous procedure call异步任务调用

2015-11-06 17:00:13 1962

原创 线程同步 事件 Event 内核对象 CreateEvent

0、思考关键代码段可以解决线程间同步,进程间怎么办?1、相关apiCreateEventSetEventResetEventWaitForSingleObjectCloseHandleOpenEventWaitForMultipleObjectsPulseEvent2、写在前面特点:用于进程或线程间同步3、api说明// 创建一个事件对象// lpEventAttributes

2015-11-06 09:29:09 1770

原创 查看文件被占用的进程 NtQueryObject NtQueryInformationFile NtQuerySystemInformation

当你重命名或删除某个文件或文件夹时, 有时候系统提示说:操作无法完成...balabala...; 你怎么知道它被什么占用了,上代码

2015-06-24 13:23:08 3077 4

原创 使用IWebBrowser2创建简单浏览器

使用ie内核的浏览器怎么搞IWebBrowser2 ie内核的浏览器控件CAxWindow 容器CreateWindow 创建windows窗口

2015-04-26 17:17:38 7315

原创 高低权限进程通信(ChangeWindowMessageFilter, WM_COPYDATA)

低权限进程向高权限进程发送消息时会返回拒绝访问, windows为我们提供了ChangeWindowMessageFilter, 直接上代码(client.cpp用非管理员启动, server.cpp用管理员启动, 通过SendMessage WM_COPYDATA进行通信)

2015-04-21 10:10:55 7111

原创 dll入门简单实例(动态链接库)

#ifndef __NC_DLL_SAMPLE_H__#define __NC_DLL_SAMPLE_H__#ifdef WIN32 #ifdef DLL_SAMPLE_EXPORT #define DLL_SAMPLE_API __declspec(dllexport) #else #define DLL_SAMPLE_API __declspec(dllimport) #endif#endifextern "C" DLL_SAMPLE_

2015-04-08 17:21:34 5418

翻译 为什么64位进程不能调用32位dll

我想把它标为原创, 因为这不是一篇合格的翻译; 我最终把它标为翻译, 因为这更不是一篇合格的原创。

2015-04-08 10:37:21 7147 1

原创 屏蔽控制台应用程序窗口

#pragma comment(linker, "/subsystem:windows /entry:mainCRTStartup")#pragma comment(linker, "/subsystem:windows /entry:wmainCRTStartup")

2015-03-23 11:30:57 628

原创 string

1、stringtypedef basic_string, allocator > string;2、basic_stringtemplateclass basic_string{};     3、wstringtypedef basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > wstring;4、tstringtypedef basic_string<TCHAR, char_traits<TCHAR>, allo

2015-03-10 13:44:14 503

原创 c++ 虚函数 多态性 (一)

#include using namespace std;class A{public:    void foo () {        printf ("1\n");    }        virtual void fun () {        printf ("2\n");    }};class B     : public

2014-02-19 09:15:23 460

原创 MSVCRTD.lib(crtexe.obj) : error LNK2019: 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用

#pragma once#include int WINAPI wWinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow){    return 0;}疑惑:也许就这样没有功能的代码都会出错,什么原因呢? 关键字:wWinMain

2013-09-29 09:45:25 2357

原创 为什么内置数组不支持数组之间的赋值,支持这种操作需要什么信息?

数组名其实代表着一个指针常量,所以将一个数组名赋值给另一个数组,就像是把常量2赋值给常量3一样,虽然语法正确,但在语意层面上会产生错误。C++语言并未支持数组的赋值操作,编译器在编译时必须知道数组的长度,才能产生执行代码来支持数组对数组的操作。

2013-03-11 08:35:51 758

MyEclipse+MYSQL图解

MyEclipse+MYSQL图解:MyEclipse连接数据库是非常重要的下面我就讲解一下MyEclipse连接MySQL的方法,首先我们打开MyEclipse在工具栏上依次点击Window--&gt;Open Perspective--&gt;MyEclipse Database Explorer

2012-05-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除