写在前面:
由于时间的不足与学习的碎片化,写博客变得有些奢侈。
但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。
既然如此
不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录,记录笔者认为最通俗、最有帮助的资料,并尽量总结几句话指明本质,以便于日后搜索起来更加容易。
标题的结构如下:“类型”:“知识点”——“简短的解释”
部分内容由于保密协议无法上传。
点击此处进入学习日记的总目录
_WinMain
——无法解析的外部符号错误:
error LNK2019
: 无法解析的外部符号 _WinMain@16
,该符号在函数 ___tmainCRTStartup
中被引用。
原因:
WinMian
(及windows
入口函数)WinMain
的UNICODE
版和ANSI
版不匹配。链接:
解决办法
CreateThread
——创建线程函数lpThreadAttrivutes
:指向SECURITY_ATTRIBUTES
的指针,用于定义新线程的安全属性,一般设置成NULL
;dwStackSize
:分配以字节数表示的线程堆栈的大小,默认值是0
;lpStartAddress
:指向一个线程函数地址。每个线程都有自己的线程函数,线程函数是线程具体的执行代码;lpParameter
:传递给线程函数的参数;dwCreationFlags
:表示创建线程的运行状态,其中CREATE_SUSPEND
表示挂起当前创建的线程,而0
表示立即执行当前创建的进程;lpThreadID
:返回新创建的线程的ID编号;HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes,
DWORD dwStackSize,
LPTHREAD_START_ROUTINE lpStartAddress,
LPVOID lpParameter,
DWORD dwCreationFlags,
LPDWORD lpThreadID
);
使用截图:
InitializeCriticalSection
——临界区锁#include “afxmt.h”
链接:
临界区锁 InitializeCriticalSection()— EnterCriticalSection()–LeaveCriticalSection()