我正在用一个简单的Hello World示例来试用OpenCobol。
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
PROCEDURE DIVISION.
DISPLAY "Hello World".
STOP RUN.我用以下命令编译:
cobc -x -free -o hello hello.cbl得到了一个可行的可执行文件,但也有很多来自gcc的警告
warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]从谷歌搜索中,我所能找到的就是我可以忽略这些,而不会产生任何负面影响。但出于各种原因,我想实际上摆脱它们,如果没有其他事情,那么至少要以某种方式抑制它们。我该怎么做呢?
发布于 2012-10-10 15:43:24
使用-O来降低优化。
我本以为这是应用于C代码生成,而不是传递给gcc。
如果你更喜欢绝对控制gcc,
编写一个脚本来包装您的构建。(步骤1)从cobc生成翻译后的C代码。(通过2)使用gcc进行编译(优化程度较低)。在一个大型项目中,你可以嵌套脚本来构建一个完整的版本。
发布于 2012-11-25 15:14:24
请原谅迟到的便条;
为了控制C编译阶段,OpenCOBOL在构建链中考虑了一些环境变量。
有关列表,请参见http://opencobol.add1tocobol.com/#does-opencobol-work-with-llvm,其中包括COB_CFLAGS和COB_LDFLAGS
发布于 2012-03-26 11:26:04
在this OpenCobol forum thread中,看起来您需要使用-fno-strict-aliasing选项。无法在此处尝试,因为我们不使用OpenCobol。
https://stackoverflow.com/questions/9734558
复制相似问题