C++

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;
 }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。