工控网首页
>

应用设计

>

如何在CVI里释放DLL函数开辟的内存?

如何在CVI里释放DLL函数开辟的内存?

2016/7/13 15:02:55

如何在CVI里释放DLL函数开辟的内存?

这有两种可能情况:

如果这个DLL是用CVI创建的,那么开辟的内存可以由CVI来释放,这个没有一点问题。

如果这个DLL是由外部编译器,您必须使用外部编译器的内存管理方法(比如他们的malloc函数)他们的malloc函数返回的指针是不能被CVI版本的free函数来调用的。必须调用这个外部编译器的free函数。

1、在进行动态内存分配的时候,只使用CVI来创建DLL,是用CVI版本的malloc和free。

2、在DLL里创建另外一个"free"函数,由它来调用外部编译器的free函数来释放内存。 比如: void my_free(void *ptr) {free(ptr); // this call to free is to the external compiler's free function.} [/ol] my_free 可以在CVI中调用来释放DLL开辟的任何内存。

投诉建议

提交

查看更多评论
其他资讯

查看更多

助力企业恢复“战斗状态”:MyMRO我的万物集·固安捷升级开工场景方案

车规MOSFET技术确保功率开关管的可靠性和强电流处理能力

未来十年, 化工企业应如何提高资源效率及减少运营中的碳足迹?

2023年制造业“开门红”,抢滩大湾区市场锁定DMP工博会

2023钢铁展洽会4月全新起航 将在日照触发更多商机