【发布时间】:2012-09-23 16:43:28
【问题描述】:
我计划使用 Cygwin 套件在 Windows 上使用 Netbeans 编写一个 ANSI-C 程序,然后我想在 UNIX 系列操作系统上编译源代码并使用该程序。我应该担心任何类型的兼容性问题吗?
【问题讨论】:
-
行终止符,确保为每个系统/编译器使用正确的格式。
-
你能解释的更详细些吗?
-
UNIX 系统以
\n终止文本文件行,而Windows 倾向于\r\n行终止。您可能需要在两者之间进行转换,或者找到一个选项来切换 Netbeans 中的默认类型。可能是一个称为换行符或行终止的选项。 -
@TheZ - 在 C 中使用
\n应该 表示“行终结符,不管它是什么”,除非您使用二进制模式(又名“raw”)I/O(也是 google 的 [raw 与熟终端 io]),即以文本模式将字符串“one line\n”写入文件应该写入正确的平台行结尾。问题主要出现在系统之间移动写入的文本文件时,而不是移动源代码时出现。 -
@StephenP 这不是真的,我之前切换过系统和编译器,并且在响应意外的换行符时抛出了非常神秘的错误。所以它是需要注意的。
标签: c windows unix compilation