1、vs byte冲突问题
byte 在c++17中是一种独立的类型,在旧版本的windows sdk中对byte进行了define 导致byte重复定义 在vs中可以定义 _HAS_STD_BYTE = 0 来解决这个问题
2、c++ 在函数中定义超大数组的问题
在c++中如果在函数中定义一个超大的数组程序在运行时可能会出错因为c++在函数中开辟的空间属于堆区。大小在1~2M之间。如果需要开辟大量空间可以通过new一个数组空间但要记得之后删除
3、安装ipp导致vs2015文本编辑器看不见代码的解决方案
删除 C:\Users<your_username>\AppData\Local\Microsoft\VisualStudio<version>\ComponentModelCache 目录下所有文件。
原因是安装ipp导致缓存出错
https://software.intel.com/content/www/us/en/develop/articles/how-to-fix-ms-vs2015-text-editor-is-blank-after-upgrading-intel-parallel-studio-xe.html
4、打印内存占用
void PrintMemory(const char * hint)
{
PROCESS_MEMORY_COUNTERS_EX pmc;
GetProcessMemoryInfo(GetCurrentProcess(), (PROCESS_MEMORY_COUNTERS*)&pmc, sizeof(pmc));
SIZE_T workingMemUsedByMe = pmc.WorkingSetSize;
printf("%s working mem: %d M\n", hint, workingMemUsedByMe / 1024 / 1024);
}
5、让程序以高性能GPU运行
- nvida
extern "C"
{
__declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
}
- amd
extern "C"
{
__declspec(dllexport) DWORD AmdPowerXpressRequestHighPerformance = 0x00000001;
}