有没有办法从MQL4中的导入函数中返回一个结构体,而不必将它作为参数传递并制作一个memcpy?如何在MQL4中从导入的DLL函数中返回一个结构体?
1
A
回答
0
可以与任何类型的DLL的接口,MQL4文档状态的谨慎:
传递参数
简单类型的所有参数由值传递,除非它被明确地表示,他们是通过引用传递。当一个字符串被传递时,复制字符串的缓冲区地址被传递;如果字符串是通过引用传递的,则不复制该字符串的缓冲区的地址将传递给从DLL导入的函数。
结构包含动态数组[],串,类,其它复杂结构,以及静态或动态阵列的[] 枚举 erated对象 ,不能作为参数传递给导入的函数。
将数组传递给DLL时,数据缓冲区的开始地址总是被传递(不管AS_SERIES
标志)。 DLL中的函数对AS_SERIES
标志一无所知,传递的数组是一个未定义长度的静态数组;应该使用附加参数来指定数组大小。
更多的小故障适用...那么如何使它工作?
也许是一种直接的,异构的多方分布式处理,它比函数调用的通信结果要比独立于维护DLL导入函数API更改的所有恶梦都要独立,这是一种更安全的方法。使用这种方法在过去的几年,因为不是有没有的问题新 - MQL4.56789
string
s表示,抓住保持string
-s,默默地开始成为struct
-s等
值得知道关于。
相关问题
- 1. 从函数返回一个tm *结构体的数组
- 2. 如何从SystemVerilog中的某个函数返回一个动态结构数组
- 3. 如何在一个getter函数中返回一个类的结构数组
- 4. 如何在C中导入DLL函数?
- 5. 在函数中返回由serde_json创建的结构体
- 6. 在C#中调用C dll函数,结构体和回调函数
- 7. 从stdcall dll函数返回结构是否安全?
- 8. 在C#中,如何调用一个返回包含字符串指针的非托管结构的DLL函数?
- 9. 如何在RubyFFI中指定一个结构作为函数的返回值?
- 10. ARM体系结构中调用函数的GCC返回地址
- 11. System.EntryPointNotFoundException从DLL导入函数
- 12. 在C++中如何从函数返回一个对象数组?
- 13. 在MQL4中从接收到的结构中分配
- 14. 函数返回结构(C)
- 15. Dllimport函数返回结构
- 16. 如何从德尔福的DLL中导入函数?
- 17. 如何将多个结构体加入到同一个结构体中
- 18. 如何从一个函数返回
- 19. 如何从块体返回函数值?
- 20. 是否有可能在一个DLL中的导出函数返回一个导出类的静态成员?
- 21. 如何返回一个结构?
- 22. 在C中导入C++ dll函数#
- 23. 在不同的函数中改变一个结构体的值
- 24. 在递归函数中返回并使用多个树结构
- 25. 如何从Windows中的一个DLL调用一个函数?
- 26. 如何从VBA函数返回结果
- 27. 如何从函数返回json结果?
- 28. 如何从构造函数中返回构造函数的对象
- 29. 从函数返回结构体,如何检查它是否已初始化?
- 30. 如何从调用$ .getJSON的函数中返回一个值?
是的,他们都在谈论传递参数,但没有得到有关结构的返回值...我知道了谨慎采取有关导入DLL(我实际使用的葡萄酒和我执行的dll代码原生地感谢WineLib使用unix套接字作为通信点......)我猜想返回结构体没有这样的功能,并且必须复制请求......幸运的是,开销不应该那么大。 –
如何不依赖于MQL4侧面代码语法约束和使用智能ZeroMQ多部分消息(可用于几乎所有最近使用的语言+主流遗产的包装器),并尽可能少地解码和解析任何其他种类的类似于结构的表示掩码? – user3666197
据我所知,Zmq是一个便携式消息库,确实很有趣,但是在看了代码之后,它并没有做比确保消息等原子性更多的东西,所以就我而言,它是已经工作的“易”部分;) –