c++-MATLAB和C++混合编程问题:如何让C中的全局变量不和matlab共享内存

作者:用户 来源:互联网 浏览:507 次 时间:2016-05-24 16:36:53

c++matlab混合编程

c++-MATLAB和C++混合编程问题:如何让C中的全局变量不和matlab共享内存 - 摘要: MATLAB和C++混合编程问题:如何让C中的全局变量不和matlab共享内存我在做matlab2014和VS2013的混合编程,我在C的源码中有一个全局变量g,然后我在matlab中使用并行计算对c

问题描述

MATLAB和C++混合编程问题:如何让C中的全局变量不和matlab共享内存

我在做matlab2014和VS2013的混合编程,我在C的源码中有一个全局变量g,然后我在matlab中使用并行计算对c程序进行循环调用时,这个全局变量居然不会在c程序结束的时候被释放,而是一直在内存中,每次循环的时候都不断变化...例如一开始g=100,matlab调用一次c程序g++,然后在matlab中循环调用c程序,按理c程序中的全局变量应该在c程序结束时被释放,也就是输出结果应该是100,101,100,101....而实际结果确实100,101,102,103,也就是c和matlab共享内存了...如何才能避免这个问题呢,让c中的全局变量不是matlab中的全局变量?
说话有点啰嗦实在不好意思...还请赐教~万分感谢!

解决方案

参考:
http://blog.csdn.net/pi9nc/article/details/23164197

解决方案二:

如果不想累加,可以在调用dll的时候先初始化g为100再调用dll的函数。

解决方案三:

用LoadLibrary加载dll,用FreeLibrary卸载试试看。

【云栖快讯】云栖专辑 | 阿里开发者们的第20个感悟:好的工程师为人写代码,而不仅是为编译器  详情请点击
云栖社区(yq.aliyun.com)为您免费提供c++-MATLAB和C++混合编程问题:如何让C中的全局变量不和matlab共享内存相关信息,包括 c++matlab 混合编程 的信息 ,所有c++-MATLAB和C++混合编程问题:如何让C中的全局变量不和matlab共享内存版权归作者所有,本社区不拥有所有权,也不承担相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:yqgroup@service.aliyun.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。 该页面h5页面的地址是:https://m.aliyun.com/yunqi/wenzhang/show_59488,您可以点击c++-MATLAB和C++混合编程问题:如何让C中的全局变量不和matlab共享内存-手机站访问。