【问题标题】:PRO*C compile wrong commentsPRO*C 编译错误注释
【发布时间】:2016-06-21 12:27:30
【问题描述】:

当我预编译一个 .pc 源文件时,我的电脑出现了一个奇怪的行为。我使用命令行指令,例如“proc wpd_ric_pla_02.pc wpd_ric_pla_02.c CODE=ANSI_C”。 如果我在另一台机器上编译完全相同的源文件,使用完全相同的 proc 版本(11.1.0.7.0),我没有问题。 我附上一张图片,显示生成的 .c 中的一些差异。 您可以在左侧看到正确的 .c,在右侧可以看到在我的机器上生成的 .c。 SQL 指令被错误地注释掉。 有人可以帮我理解为什么会这样吗? 谢谢你,塞巴斯蒂安。

【问题讨论】:

  • 注意:我对其他 .pc 源文件没有任何问题

标签: c oracle11g comments oracle-pro-c


【解决方案1】:

这可能与文件从一台机器复制到另一台机器有关。但这只是一个疯狂的猜测。

也许错误的文件有一些不可见的字符会弄乱编译器。

如果您在 Linux 中,可以通过 hexdump -c wpd_ric_pla_02.pc 进行检查。 如果您使用的是 Windows,我建议您使用 Notepad++ View / Show Symbol / Show All Characters 函数。

如果这不起作用,请尝试在单个查询中找出问题。

【讨论】:

  • 谢谢。我已经尝试使用 Notepad++ 检查它,将文件从它工作的文件复制回我的机器,并手动重写一些 SQL,在写回之前删除所有行。源文件很长,我会尝试逐字节检查。
  • 你好。我通过 java FileInputStream 检查了源文件。如果 read() 返回它的每一个字节,它就没有什么奇怪的了。只是换行、回车(每个 LF 都有自己的 CR)、制表符、空格、标准 ASCII 字符(范围 33 到 125)和一堆重音字母(à、è 等)。
  • 既然您有一个巨大的文件,下一步就是您尝试找出问题所在。您应该进行备份,然后开始删除有效的部分,直到只有文件中没有的部分。有了它,您可以在本地分析并尝试重写它,也许
猜你喜欢
  • 2021-12-04
  • 2011-05-29
  • 1970-01-01
  • 1970-01-01
  • 2013-09-28
  • 1970-01-01
  • 1970-01-01
  • 2019-08-18
  • 2021-03-24
相关资源
最近更新 更多