首页 > 代码库 > 泊松表面重建中主函数中部分代码分析-关于内存设置
泊松表面重建中主函数中部分代码分析-关于内存设置
1 //总体来看是和内存设置有关的 2 #if defined(WIN32) && defined(MAX_MEMORY_GB) 3 if( MAX_MEMORY_GB>0 ) 4 { 5 //SIZE_T是ULONG_PTR类型又是unsigned __int64类型取值范围为2到2的64次方,貌似和64为操作系统支持的理论内存值有关系 6 SIZE_T peakMemory = 1; 7 peakMemory <<= 30;//peakMemory等于peakMemory(1)乘以2的30次方,2的30次方就是1GB,也就是说peakMemory是1GB 8 peakMemory *= MAX_MEMORY_GB; 9 //%.2f宽度无限制,小数点后保留两位10 printf( "Limiting memory usage to %.2f GB\n" , float( peakMemory>>30 ) );11 //创建了一个工作对象(lpJobAttributes,lpName)安全属性+工作对象名称12 HANDLE h = CreateJobObject( NULL , NULL );13 AssignProcessToJobObject( h , GetCurrentProcess() );14 15 JOBOBJECT_EXTENDED_LIMIT_INFORMATION jeli = { 0 };16 jeli.BasicLimitInformation.LimitFlags = JOB_OBJECT_LIMIT_JOB_MEMORY;17 jeli.JobMemoryLimit = peakMemory;18 if( !SetInformationJobObject( h , JobObjectExtendedLimitInformation , &jeli , sizeof( jeli ) ) )19 fprintf( stderr , "Failed to set memory limit\n" );20 }21 #endif // defined(WIN32) && defined(MAX_MEMORY_GB)
泊松表面重建中主函数中部分代码分析-关于内存设置
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。