OpenCASCADE:Foundation Classes内存管理

  • 内存管理器的使用
  • 如何配置内存管理器
  • 优化技术
  • 优点和缺点

在工作会话中,几何建模应用程序创建和删除分配在动态内存(堆)中的大量 C++ 对象。在这种情况下,用于分配和取消分配内存的标准函数的性能可能不够。为此,Open CASCADE 技术采用了在标准包中实现的专用内存管理器。

内存管理器基于以下原则:

小内存阵列被分组到集群中,然后回收(集群永远不会释放到系统中),
大数组是通过系统的标准函数分配和取消分配的(数组在不再使用时释放给系统)。
作为一般规则,建议通过重要块分配内存。通过这种方式,用户可以处理连续数据块,并有助于内存页面管理器的处理。

内存管理器的使用

要使用 Open CASCADE Technology 内存管理器在 C 代码中分配内存,只需使用方法Standard::Allocate()代替malloc()和方法Standard::Free()代替free()。此外,提供了方法Standard::Reallocate()来替换 C 函数realloc()。

在 C++ 中,可以定义类的运算符new()和delete()以便使用Standard::Allocate()分配内存并使用Standard::Free()释放它。在这种情况下,该类的所有对象和所有继承的类都将使用 OCCT 内存管理器进行分配

OpenCASCADE:Foundation Classes内存管理相关推荐

  1. iOS 进阶—— iOS内存管理

    1 似乎每个人在学习 iOS 过程中都考虑过的问题 alloc retain release delloc 做了什么? autoreleasepool 是怎样实现的? __unsafe_unretai ...

  2. OpenCASCADE:Foundation Classes之插件管理

    OpenCASCADE:Foundation Classes之插件管理 按插件分发 C++ 插件实现 C++ 客户端插件实现 按插件分发 插件是可以动态加载到客户端应用程序中的组件,不需要直接链接到它 ...

  3. OpenCASCADE:Foundation Classes使用句柄编程

    OpenCASCADE:Foundation Classes使用句柄编程 句柄定义 类型管理 使用句柄创建对象 调用方法 处理解除分配 周期 句柄定义 句柄是智能指针的 OCCT 实现.多个句柄可以引 ...

  4. OpenCASCADE:Foundation Classes简介

    OpenCASCADE:Foundation Classes简介 OpenCASCADE:Foundation Classes简介 根类 字符串 集合 标准对象的集合 向量和矩阵 原始几何类型 常用数 ...

  5. OpenCASCADE:Foundation Classes之数学原语和算法

    OpenCASCADE:Foundation Classes之数学原语和算法 概述 向量和矩阵 原始几何类型 原始几何类型的集合 基本几何库 常用数学算法 精确 精密封装 标准精度值 概述 Open ...

  6. OpenCASCADE:Foundation Classes之集合、字符串、数量和单位转换

    OpenCASCADE:Foundation Classes之集合.字符串.数量和单位转换 集合 概述 数组和序列 maps 迭代器 分配器 Acceleration结构 标准对象的集合 字符串 数量 ...

  7. OpenCASCADE:Foundation Classes之异常

    OpenCASCADE:Foundation Classes之异常 介绍 引发异常 处理异常 在各种平台上实施 介绍 任何对象的行为都由在其类声明中定义的方法实现.这些方法的定义不仅包括它们的签名(它 ...

  8. OpenCASCADE:Foundation Classes数据类型

    OpenCASCADE:Foundation Classes数据类型 OpenCASCADE:Foundation Classes数据类型 原始类型 按值操作的类型 按值操作数据类型 什么时候需要使用 ...

  9. OpenCASCADE:Foundation Classes库组织

    OpenCASCADE:Foundation Classes库组织 OpenCASCADE:Foundation Classes库组织 模块和工具包 Packages包 类 继承 OpenCASCAD ...

最新文章

  1. STE:入侵植物可选择性富集土壤微生物
  2. html html示例
  3. JdbcTemplate中queryForObject方法返回空结果或不正确结果数量的解决方法
  4. vagrant系列教程(二):vagrant的配置文件vagrantfile详解(转)
  5. Zabbix5.0监控系统安装详解
  6. 一张图弄懂opengl的诸多库gl glu glut freeglut glew glfw之间关系
  7. 有机化学芳烃 芳香性
  8. 编程随想 关系图_IT什么岗位比较好找工作?一张金字塔图就能明白
  9. 幸好权健AI还没落地!一个腕表顶中医,18个关键点就能刷脸
  10. Qt-设置completer下拉框样式
  11. mapreduce求平均值
  12. JVMTM Tool Interface:JVM源码分析之javaagent原理完全解读
  13. 你总觉得你男朋友在敷衍你
  14. 网易历届笔试题(1)
  15. Firefox 使用常见问题和解决方法
  16. 《Web安全之机器学习入门》一 3.2 数据集
  17. 攻防世界 web webshell
  18. java 将map写入文件_如何将java中map数据写入txt文件中
  19. RGB图片处理(1)——RGB概念理解
  20. 未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage”包

热门文章

  1. Element UI——滚动条组件(ElScrollBar)修改.el-scrollbar__wrap和el-scrollbar__view的CSS属性
  2. 2021暑假实习-SSM超市积分管理系统-day05笔记
  3. 彻底解决_OBJC_CLASS_$_某文件名, referenced from:问题
  4. Android构建流程——篇五
  5. cookie mapping
  6. 给定数组Arr[n],O(n)时间内找出每个元素左侧所有元素中位置最靠近该元素且大于该元素的元素
  7. 排序算法:桶排序、计数排序、基数排序
  8. TCP 中粘包的产生和解决
  9. 读书笔记_unity4.x第十二章_渲染管线
  10. 计算机网络与多媒体试卷,2020年9月网络教育统考《计算机应用基础》多媒体技术模拟题试卷2...