使用PCTCompile时-compileroptionsfile是否覆盖原有参数?
问题解答
关于requireReturnValues="true"仅触发警告的问题
PCTCompile的requireReturnValues="true"属性本身设计为仅输出警告、不会终止编译;而requireFullNames="true"、requireFieldQualifiers="true"则会触发编译错误。这是两类属性的行为差异,因此单独通过PCTCompile的属性无法实现让requireReturnValues导致编译失败的需求,必须通过编译器配置文件将其级别设为Error。
关于「PCT compiler options are overridden by COMPILER:OPTIONS」提示及stackSize等参数的有效性
这个日志提示仅针对编译规则类参数:
- 你在PCTCompile元素中设置的
requireFullNames、requireFieldQualifiers这类代码检查规则参数,会被compileroptionsfile里的对应配置覆盖。 - 而
stackSize这类属于编译资源/环境配置的参数,不会被配置文件覆盖,依然会正常生效。
在OpenEdge 12.2.13版本中,PCT的逻辑是:当指定compileroptionsfile时,编译器规则类配置优先遵循文件中的设置以避免规则冲突,但编译环境类的参数(如栈大小、调试开关等)不受影响,会保留PCTCompile元素中的配置。
内容的提问来源于stack exchange,提问作者W0lfw00ds
相关产品推荐
相关产品推荐

