(学习日记)2022.8.11

发布于:2023-01-21 ⋅ 阅读:(209) ⋅ 点赞:(0)

写在前面:
由于时间的不足与学习的碎片化,写博客变得有些奢侈。
但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。
既然如此
不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录,记录笔者认为最通俗、最有帮助的资料,并尽量总结几句话指明本质,以便于日后搜索起来更加容易。


标题的结构如下:“类型”:“知识点”——“简短的解释”
部分内容由于保密协议无法上传。


点击此处进入学习日记的总目录

一、VS:_WinMain——无法解析的外部符号

错误:
error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用。

原因:

  1. 新建项目是控制台应用程序而程序通过的是WinMian(及windows入口函数)
  2. WinMainUNICODE版和ANSI版不匹配。

链接:
解决办法


二、C/C++:CreateThread——创建线程函数

  1. 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
                   );

使用截图:
使用截图

链接:
使用CreateThread函数创建线程



三、C/C++:InitializeCriticalSection——临界区锁

  1. 头文件#include “afxmt.h”
  2. 初始化一个临界区对象。

链接:
临界区锁 InitializeCriticalSection()— EnterCriticalSection()–LeaveCriticalSection()

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到