• NX二次开发-UFUN分配内存UF_allocate_memory


    • 版本

    NX9+VS2012

    • 例子说明

    关于这个分配内存UF_allocate_memory和重新分配内存UF_reallocate_memory,我之前是在唐工的视频中学过。

    但是我做了这两年开发,虽然没开发过多少东西。但是还真的从来都没用过分配内存和重新分配内存。

    都忘记有这个东西的存在了快。

    这东西也就在C语言开发中,才会有,要是用C#开发的话,都不会有指针这些东西。

    也不用那么麻烦。

    我试过想自己单独写一个新的小例子来说明分配内存,但是想了很长时间,我发现我想不出来。

    还是原封不动的照搬唐工视频中的例子吧。顺便打个广告,想系统完整的学习NX建模或者二次开发的,

    可以去买唐工的视频https://nxopen.ke.qq.com/#tab=1&category=-1

    例子想不出来归想不出来。但是学习肯定不是光抄视频照搬代码就拉倒了(这样永远无法提升技术),要有自我求知探索精神。像刑侦破案一般。

    要理解从头到尾的过程,我已经找到了这东西的相关出处,大致的用法。

    先看API介绍

    分配内存

    重新分配内存

    在说我找到的出处(搜索方法)

    1.首先电脑上安装DocFetcher这个搜索软件

    2.搜索范围设置到UGOPEN文件夹,我们都知道所有二次开发的库和例子头文件啥的

    都在UGOPEN目录下。

    3.直接去搜索UF_allocate_memory,就能看到官方的例子上是怎么用分配内存的了。

    • 源代码

    唐工视频中的例子

    #include <uf.h>
    #include <uf_curve.h>
    
    UF_initialize();
    
    //创建直线
    UF_CURVE_line_p_t point1 = NULL;
    
    //分配内存
    int error = 0;
    point1 = (UF_CURVE_line_p_t)UF_allocate_memory(200*sizeof(UF_CURVE_line_p_t), &error);
    
    //重新分配内存
    point1 = (UF_CURVE_line_p_t)UF_reallocate_memory(point1, 300*sizeof(UF_CURVE_line_p_t), &error);
    
    point1->start_point[0] = 0;
    point1->start_point[1] = 0;
    point1->start_point[2] = 0;
    point1->end_point[0] = 10;
    point1->end_point[1] = 10;
    point1->end_point[2] = 0;
    
    tag_t lineTag = NULL_TAG;
    UF_CURVE_create_line(point1, &lineTag);
    
    //释放
    UF_free(point1);
    
    UF_terminate();
    • 演示(分配内存后)

    • 不分配内存时的代码(对比一下)
    UF_initialize();
    
    //创建直线
    UF_CURVE_line_p_t point1 = NULL;
    
    point1->start_point[0] = 0;
    point1->start_point[1] = 0;
    point1->start_point[2] = 0;
    point1->end_point[0] = 10;
    point1->end_point[1] = 10;
    point1->end_point[2] = 0;
    
    tag_t lineTag = NULL_TAG;
    UF_CURVE_create_line(point1, &lineTag);
    
    //释放
    UF_free(point1);
    
    UF_terminate();
    • 演示(不分配内存报错情况)

     

    阿飞

    2021年9月7日

  • 相关阅读:
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    VS2017 + EF + MySQL 环境配置
    Ajax请求参数到一个URL包含下划线或者v(_、v)
  • 原文地址:https://www.cnblogs.com/nxopen2018/p/15240675.html
Copyright © 2020-2023  润新知