zoukankan      html  css  js  c++  java
  • 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日

  • 相关阅读:
    hdu 3666 差分约束系统
    hdu 1198农田灌溉
    常微分方程(阿諾爾德) Page 45 相空間,相流,運動,相曲線 註記
    高等微積分(高木貞治) 1.4節 例2
    常微分方程(阿諾爾德) Page 45 相空間,相流,運動,相曲線 註記
    解析函數論 Page 29 命題(2) 函數模的有界性
    高等微積分(高木貞治) 1.4節 例2
    解析函數論 Page 29 命題(1) 有界閉集上的一致連續性
    解析函數論 Page 29 命題(3) 模的下界的可達性
    解析函數論 Page 29 命題(2) 函數模的有界性
  • 原文地址:https://www.cnblogs.com/nxopen2018/p/15240675.html
Copyright © 2011-2022 走看看