TwinCAT 在发布或调试模式下构建项目时有区别吗?

TwinCAT Is there a difference when building a project in release or debug mode?

我一直想知道如果在 DebugRelease 配置中构建 PLC 项目是否有区别。我认为没有,因为 _CompileInfo 文件夹中的 .compileinfo 文件大小相同,并且具有相同的文件名(我猜是一些散列)。另外,当我使用其他配置构建后登录时,如果我想使用在线更改登录,我不会得到提示。

有谁知道构建配置对编译后的代码有影响吗?

简答:

不,构建代码没有变化。


长答案:

提到的 Build Configuration 工具主要是为使用基于通用文本的语言实现而设计的,而不是 Beckhoff 堆叠在 [=40= 之上的 TwinCAT 层]. 在标准语言下,有很多属性可以在项目级别进行管理,这些属性是当您从 debug 更改为 release[= 时正在修改的内容30=] configuration.

然而,Twincat 项目由两个独立的项目(proj_a.tsproj、proj_a.plcproj)组成,Visual Studio 仅将其中一个项目识别为可以修改的项目文件, .tsproj。 因此,如果您想查看通过 debugrelease 之间的交换将修改哪些属性,请查看 .tsproj 中可用的属性文件。

如果您想自己测试,您可以禁用项目文件 (proj_a.tsproj) 并在 debug/release 之间切换,以查看禁用状态因在两个构建配置之间切换而发生的变化。