通达信DLL与普通DLL区别
| 特性 | 通达信官方插件 DLL | 普通 DLL |
|---|---|---|
| C++ 文件接口规范 | 必须严格按照通达信官方提供的PluginTCalcFunc.h | 可以自由定义函数名、参数类型(指针、结构体、句柄等) |
| 导出函数 | 只需导出RegisterFuncs(PluginTCalcFuncInfo** pFluInforet)函数 | 任意函数 |
| 调用主体 | 通达信客户端(主程序)。你在通达信的公式编辑器里通过 TDXDLL1(1, HIGH, LOW, CLOSE) 这样的内置函数来间接调用。 | 任何外部程序(如你的 C#、Python 进程,或者自定义的 EXE)。 |
| 内存与线程 | 运行在通达信客户端的进程空间内。如果 DLL 崩溃或发生内存泄漏,会导致通达信软件直接闪退。 | 运行在调用它的宿主进程内,与通达信软件本身无关。 |
| 数据传递 | 受限于通达信的公式引擎。通常只能传递行情序列数据(如开高低收数组、成交量数组)和浮点数,无法直接传递复杂的自定义结构体。 | 极其灵活。可以传递指针、回调函数、复杂结构体、JSON 字符串等。 |
| DLL位置 | 必须放在通达信安装目录的 T0002/dlls/ 文件夹下 | 可以存放在任意目录 |
| DLL加载 | 需要在软件的“公式管理器 -> DLL函数”中进行显式绑定和注册。 | 可以通过 LoadLibrary 随心地加载 |
