从DLL调用的C++方法返回Adobe Air本机扩展中以前调用的数据

C++ method called from DLL returns data from previous call in Adobe Air native extension

本文关键字:调用 扩展 本机 数据 Adobe C++ DLL 方法 返回 Air      更新时间:2023-10-16

我遇到了一个奇怪的问题。我为Adobe Air应用程序编写了一个本地扩展。这是用VS2010编译成DLL的C++代码。我有一个方法,我把一个数字数组传给它,然后得到一个结果数组。第一次调用该方法时,它会返回具有正确数据和长度的正确数组。但如果我在一行中调用该方法两次,第二次数组同时包含这两个数据——第一次调用和第二次调用的数据。就好像DLL会缓存上一次调用的数据一样。我把所有东西都清理干净。此外,所有变量都是本地的,并且在方法调用完成后被清理/销毁。可能是我的DLL编译设置是错误的,因为我不是C++大师。感谢您提前提供帮助。

更新:我找到了解决办法。它与"extern‘C"包装器有关,我忘记将其添加到C++方法中。

我找到了解决方案。它与"external'C"包装器有关,我忘了将其添加到C++方法中。