支持 32 位/64 位的应用程序
要使应用程序在 64 位或 32 位上运行,必须:
-
CODESYS 开发系统、编译器版本和运行时版本必须至少为 V3.5.5.0
-
使用接口库 CmpError2 和 SysTypes2 而不是 CmpError 和 SysTypes,命名空间相同但是:RTS_INVALID_HANDLE 现在在 SysTypes 中,不再在 CmpErrors 中!
-
还有更多库明确标记为仅 32 位,例如 SysSem23。这些将导致以下错误消息。您将不得不迁移到替代库 SysSem 中的新用法。如果没有可以迁移的库,你可以问库的开发者,或者如果你有源代码,你可以自己转换。
------ Build started: Application: Device.Application -------
Typify code...
[ERROR] syssem23, 3.5.15.0 (system): Library Manager [Device: PLC Logic: Application]: C0338: The Library 'syssem23, 3.5.15.0 (system)' is only supported in 32 bit applications
Compile complete -- 1 errors, 0 warnings
Build complete -- 1 errors, 0 warnings : No download possible
- 将 32 位指针变量替换为 64 位(__XWORD 或 Alias XWORD)。提示:专业开发版的静态分析包可以帮助识别应用程序将 POINTER 转换为 DWORD 或反之的实例。