
C++
任重道远_HSY
这个作者很懒,什么都没留下…
展开
-
13 C++内存模型
1.C++程序执行时,将内存分位4个区代码区:存放函数体的二进制代码,有操作系统进行管理;全局区:存放全局变量和静态变量以及常量;堆 区:由程序员分配和释放,弱程序员不释放,程序结束时有操作系统回收;栈 区:由编译器自动分配和释放,存放函数的参数值,局部变量不同区域存放的数据,赋予不同的生命周期。2 程序执行前的内存模型在程序编译后,生成*.exe可执行程序,未执行该程序前分位两个区域。2.1代码区存放 CPU 执行的机器指令。通常代码区是可共享的(即另外的执...原创 2022-05-16 15:40:39 · 216 阅读 · 0 评论 -
6. C++数组名与指针区别
1. C++数组名与指针区别对比数组名指针&(取地址)数组名取地址得到的是数组名所指元素地址(数组首地址)对指针取地址得到的是指针变量自身的地址常量变量数组名师常量指针指针是变量指针sizeof对数组名使用sizeof时,得到的是元素个数乘元素类型的字节数对指针sizeof得到的是指针类型的字节数1.1数组名是常量指针数组名是常量指针,不可以被修改,指针是变量指针,可以修改#include <iostream>using nam原创 2022-05-09 17:02:58 · 869 阅读 · 5 评论 -
C++内置宏
原创 2022-05-09 11:16:55 · 231 阅读 · 0 评论 -
获取文件创建,修改访问时间
std::string str_create_time, str_access_time, str_modify_time; FILETIME ftCreate, ftAccess, ftModify;//文件创建时间,访问时间,修改时间 HANDLE hFile = CreateFileA(str_.c_str(), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, N原创 2022-05-06 15:42:14 · 732 阅读 · 0 评论 -
获取文件-属性-详细信息
结构包含了文件的版本信息:GetFileVersionInfoSize函数用于判断系统能否检索到指定文件的版本信息,如果可以函数返回版本信息的字节大小:DWORD WINAPI GetFileVersionInfoSize( __in LPCTSTR lptstrFilename, //指定文件的名称 __out_opt LPDWORD lpdwHandle //一个变量的指针,该函数将该变量设为0 ); GetFileVersionInfo函数用来获得指定文件的转载 2022-05-05 15:06:50 · 1243 阅读 · 0 评论 -
C++ 学习网站
https://github.com/0voice/cpp_new_features#-%E5%B9%B2%E8%B4%A7%E9%93%BA原创 2022-04-26 13:47:17 · 1503 阅读 · 0 评论 -
获取文件信息
获取文件信息char* szFileName = "C:\\windows\\system32\\cmd.exe"; DWORD dwSize = GetFileVersionInfoSize(szFileName,NULL); LPVOID pBlock = malloc(dwSize); GetFileVersionInfo(szFileName,0,dwSize,pBlock); char* pVerValue = NULL;转载 2022-04-13 16:43:12 · 184 阅读 · 0 评论 -
vs 动态库环境配置
一 电脑环境变量配置二.vs 环境配置1.电脑→属性→高级系统设置→环境变量→系统变量的path2.编辑环境变量,点击新建,把路径添加进去就OK了注:如果配置后不起作用,请重启电脑二.vs 环境配置工程属性→配置属性→调试→环境PATH = E:\Image\bin;%PATH%...原创 2022-03-07 09:33:35 · 543 阅读 · 0 评论 -
vs查看程序依赖库
在调试时,按下Ctrl+Alt+U ,会弹出Modules,就可以查看你调用的dll的路径原创 2022-03-05 10:08:55 · 1059 阅读 · 0 评论 -
C++std::package_task
#include "thread_pool.h"#include <iostream>#include <vector>#include <thread>#include <list>#include <mutex>using namespace std;int myth(int m){ cout << "myth start() " << "th_id:" << std::this_thre原创 2022-03-04 11:15:00 · 1066 阅读 · 0 评论 -
C++ async
#include "thread_pool.h"#include <iostream>#include <vector>#include <thread>#include <list>#include <mutex>using namespace std;class A{public: int myth(int m) { cout << "myth start() " << "th_id:" &原创 2022-03-04 10:32:44 · 1305 阅读 · 0 评论 -
C++ 多线程 call_once
#include "thread_pool.h"#include <iostream>#include <vector>#include <thread>#include <list>#include <mutex>using namespace std;std::once_flag g_flag;//这是系统定义的标记//单例类class MyCSA{ static void CreateInstance()//只被调用原创 2022-03-03 16:38:24 · 731 阅读 · 0 评论 -
单例模式,多线程
#include "thread_pool.h"#include <iostream>#include <vector>#include <thread>#include <list>#include <mutex>using namespace std;mutex res_mux;//单例类class MyCSA{ private: MyCSA() {};//私有化的构造函数 static MyCSA *m_i原创 2022-03-02 14:16:44 · 137 阅读 · 0 评论 -
C++ 单例模式
#include <iostream>#include <vector>#include <thread>#include <list>#include <mutex>using namespace std;//单例类class MyCSA{private: MyCSA() {};//私有化的构造函数private: static MyCSA *m_instance;//静态成员变量public: static MyCS原创 2022-02-16 18:13:58 · 69 阅读 · 0 评论 -
多线程 互斥量死锁
#include "thread_pool.h"#include <iostream>#include <vector>#include <thread>#include <list>#include <mutex>using namespace std;//全局变量class myobj{public: void inmsgRecvQueue() { for (int i = 0; i < 100000; ++原创 2022-02-16 15:22:12 · 88 阅读 · 0 评论 -
多线程 共享数据 mutex
#include <iostream>#include <vector>#include <thread>#include <list>#include <mutex>using namespace std;//全局变量class myobj{public: void inmsgRecvQueue() { for (int i = 0; i < 100000; ++i) { cout << "原创 2022-02-15 16:08:13 · 123 阅读 · 0 评论 -
多线程数据共享
#include "thread_pool.h"#include <iostream>#include <vector>#include <thread>#include <list>using namespace std;//全局变量class myobj{public: void inmsgRecvQueue() { for (int i = 0; i < 100000; ++i) { cout <<原创 2022-02-15 15:04:58 · 100 阅读 · 0 评论 -
thread 多线程
#include <iostream>#include <vector>#include <thread>using namespace std;void fun1(int slp){ cout << "线程开始:" << slp << endl; return;}int main(){ //1.创建多个线程 vector<thread>mythread; //创建10个线程,线程入口函数统一使原创 2022-02-15 13:34:11 · 304 阅读 · 0 评论 -
Installation of VCPKG
Installation of VCPKG@TOCGo to https://github.com/microsoft/vcpkgFor windows user, follow the Quick Start: Windows instruction.Press Window+R, type “cmd“.In command prompt, type “cd C:/“Then, type “git clone https://github.com/microsoft/vcpkg“(Note:翻译 2021-11-30 13:38:58 · 127 阅读 · 0 评论 -
C++文件操作
istream是输入流类,cin就是istream类型的对象;ostream是输出流类,cout是ostream类型的对象。数据类型描述ofstream该数据类型表示输出文件流,用于创建文件并向文件写入信息。ifstream该数据类型表示输入文件流,用于从文件读取信息。fstream该数据类型通常表示文件流,且同时具有 ofstream 和 ifstre...原创 2019-08-29 09:33:40 · 211 阅读 · 0 评论