【问题标题】:Where to put the C file to compile and run将C文件放在哪里编译和运行
【发布时间】:2014-08-30 22:12:18
【问题描述】:

我知道这个问题可能已经在网站上,并且我查看了this,但我无法解决我一直遇到的问题。

今天我得到了一本 C 编程书,只是为了研究它。但是,我无法比第 17 页更进一步,因为我似乎无法获得一段代码来编译。我正在使用 Cygwin 终端,我尝试按照所有步骤让它工作,但在书中并没有具体说明如何编译。

我的脚本的路径是C:\Users\Shawn\Desktop\C\hello.c,但是当我尝试以任何方式运行它时:

gcc C:\Users\Shawn\Desktop\C\hello.c

gcc /Users/Shawn/Desktop/C/hello.c

我只是得到以下信息:

$ gcc C:\Users\Shawn\Desktop\C\hello.c
gcc: error: C:UsersShawnDesktopChello.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.

我不知道如何让终端找到正确的文件。

【问题讨论】:

  • 你为什么不在终端中进入那个目录然后编译呢?可执行文件将仅在该文件夹中创建。
  • 什么意思?使用 C:\Users\Shawn\Desktop\C?
  • cd /Users/Shawn/Desktop/C
  • 它似乎不起作用。
  • 什么不起作用,“cd”命令不起作用或无法编译?

标签: c gcc terminal cygwin


【解决方案1】:

shell 将反斜杠字符 (\) 视为 escape。改用两个反斜杠:

$ echo C:\Users\Shawn\Desktop\C\hello.c
C:UsersShawnDesktopChello.c

$ echo C:\\Users\\Shawn\\Desktop\\C\\hello.c
C:\Users\Shawn\Desktop\C\hello.c

【讨论】:

  • 好的,我做到了。它找到了文件..但现在我得到了一个完全不同的错误:cygwin warning: MS-DOS style path detected: C:\Users\Shawn\Desktop\C\hello.c Preferred POSIX equivalent is: /cygdrive/c/Users/Shawn/Desktop/C/hello.c CYGWIN environment variable option "nodosfilewarning" turns off this warning. Consult the user's guide for more details about POSIX paths: http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
  • 为什么不用斜线?
  • @Hi-Angel 阅读我的回答中链接的维基百科文章。
  • 那又怎样?链接的维基百科页面是关于反斜杠的,我说的是斜杠。
  • 试试这个.....在文件hello. c上运行dos2unix....它将是dos2unix hello. c然后编译它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-17
  • 1970-01-01
相关资源
最近更新 更多