从DLL调用的C++方法返回Adobe Air本机扩展中以前调用的数据
C++ method called from DLL returns data from previous call in Adobe Air native extension
我遇到了一个奇怪的问题。我为Adobe Air应用程序编写了一个本地扩展。这是用VS2010编译成DLL的C++代码。我有一个方法,我把一个数字数组传给它,然后得到一个结果数组。第一次调用该方法时,它会返回具有正确数据和长度的正确数组。但如果我在一行中调用该方法两次,第二次数组同时包含这两个数据——第一次调用和第二次调用的数据。就好像DLL会缓存上一次调用的数据一样。我把所有东西都清理干净。此外,所有变量都是本地的,并且在方法调用完成后被清理/销毁。可能是我的DLL编译设置是错误的,因为我不是C++大师。感谢您提前提供帮助。
更新:我找到了解决办法。它与"extern‘C"包装器有关,我忘记将其添加到C++方法中。
我找到了解决方案。它与"external'C"包装器有关,我忘了将其添加到C++方法中。
相关文章:
- 为什么我无法打开/读取从 Python 调用的 C 扩展名中的 txt 文件?
- 内联扩展编译为函数调用 [C++]
- 将"模板<类型名 T>zero()"扩展/专用为可调用的"T"
- 有没有办法扩展和调用 std::functions 的元组?
- 在 Python 3.6 中调用C++扩展时导入错误"undefined symbol: _ZNK9FastNoise8GetNoiseEff"
- 模板 使用数据数组调用函数时扩展参数包
- 通过 system() 函数调用防止野卡扩展
- 从库类扩展,然后如何让库调用派生类方法
- 如何调用QT快速2扩展插件的方法
- 如何调用 ShellExecute 以使用 C++ 打开具有特定程序的文件,而无需关联相同的文件扩展名
- 通过宏扩展调用方法
- 当可变参数模板类继承自模板参数时,在调用基类型的方法时扩展参数包
- 关闭Qt控制台应用程序会终止exec()调用中的进程,并且无法从main()扩展到范围
- 定义参数包扩展的"pattern",尤其是在函数调用中
- 可变模板扩展中函数调用的顺序
- 从Python扩展调用C++虚拟成员时出错
- 使用可变包类型扩展的C++函数调用程序包装
- 我们是否可以强制 shell 扩展显式调用 IShellIconOverlayIdentifier::GetOverla
- 在Python中调用C++扩展
- MSVC直接构造函数调用扩展