【发布时间】:2026-01-03 06:25:01
【问题描述】:
我使用的是 Windows,我的桌面上有一个 c 文件。它包括 unix 代码。当我在 cygwin 终端上写“gcc -o MyExe C:/Users/Username/Desktop/ccode.c”时,它会发出类似“检测到 MS-DOS 路径”的警告。应该怎么写?
【问题讨论】:
我使用的是 Windows,我的桌面上有一个 c 文件。它包括 unix 代码。当我在 cygwin 终端上写“gcc -o MyExe C:/Users/Username/Desktop/ccode.c”时,它会发出类似“检测到 MS-DOS 路径”的警告。应该怎么写?
【问题讨论】:
Cygwin 将 Windows 风格的路径重新映射为与 UNIX 兼容的格式,使用 / 而不是 \ 作为目录分隔符(尽管 Windows 也接受 /),并将所有驱动器号放入名为/cygdrive.
改变这个:
gcc -o MyExe C:/Users/Username/Desktop/ccode.c
到这里:
gcc -o MyExe /cygdrive/C/Users/Username/Desktop/ccode.c
Cygwin 还为您提供了一个 UNIX 风格的主目录。对于典型的 Cygwin 安装,该目录将位于从 Windows 中看到的 C:\cygwin\home\username,或者从 Cygwin 中看到的 /home/username(在 /cygdrive/cygwin/C/home/username 中也可见)。与实际的 UNIX/Linux 系统一样,在许多情况下,您可以将主目录称为 $HOME 或 ~。它通常与您的 Windows 主目录 C:\Users\username 不同。我通常忽略 Windows 主目录,只使用我的 Cygwin 主目录。但是,如果您愿意,当然可以使用 Cygwin 中的 Windows 主目录;引用它会有点困难(并且某些文件必须在您的 Cygwin 主目录中。)
可能可以将 Cygwin 配置为使用您的 Windows 主目录作为 Cygwin 主目录;我自己没试过,可能会出问题。
【讨论】:
Desktop)做了一些有趣的事情。如果你打开一个 Windows 命令提示符,你能看到C:\Users\Username\Desktop\ccode.c 的文件吗?
C:\cygwin\home\username\ccode.c 的文件了吗?