我在C++中编写了一个测试dll,以确保在开始使用我需要的更重要的dll之前工作正常.基本上它需要两个双打并添加它们,然后返回结果.我一直在玩,其他测试函数我已经恢复工作,我只是因为错误而无法传递参数.我的代码是:
import ctypes
import string
nDLL = ctypes.WinDLL('test.dll')
func = nDLL['haloshg_add']
func.restype = ctypes.c_double
func.argtypes = (ctypes.c_double,ctypes.c_double)
print(func(5.0,5.0))
Run Code Online (Sandbox Code Playgroud)
它返回名为"func"的行的错误:
ValueError: Procedure probably called with too many arguments (8 bytes in excess)
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?谢谢.
我看过几乎每一个例子,我可以通过谷歌找到,并不能完成任务的最简单的创建一个dll (窗口) 从nim
任何人都可以一步一步地解释它吗?
我正在使用nimIDE - aporia生成代码.
构建a是否dll需要使用命令行?我想有一个解决方法.
使用aporia IDE\ command line,如何通过编译下面的代码来实现与以下代码相同的结果dll:
extern "C" __declspec(dllexport) int __stdcall return_multiply(int num1, int num2)
{
return num1 * num2;
}
Run Code Online (Sandbox Code Playgroud)
您可能知道的代码可以从中调用 c#