2014-09-23 336 views
0

在我目前的例子中,我有一个名为'Main.c'的C文件,它将美国英镑转换并打印成英国石英/英磅/千克,而变量美磅目前定义由用户输入(scanf)。该文件本身是通过Visual Express 2013执行的;然而,我想改变它,以便我可以导航到C文件并通过命令提示符(cmd)直接执行文件,同时传递一个值来定义美国英镑。如何通过cmd执行C文件

我明白,这是主要的要求:

void main(int argc, char *argv[]) 

而且我知道如何通过命令提示符导航到C文件:

>cd Directory/To/The/File 

然而,这是我卡住;我不知道如何执行C文件。我已经研究了这个,发现了几个例子,比如使用'gcc'和'cc',但是系统不能识别这些命令。我找到的材料没有一个完全解释了为了完成我想要做的事情,我必须做些什么;我是否必须安装某些东西,或者我是否使用了错误的命令,是否有可能尝试做什么,我必须做些什么?

+0

请原谅大拇指? – Kurtiss 2014-09-23 14:10:53

+0

人们有时会混淆“问题的答案显而易见有经验的人”与“不显示研究工作”。后者是倒退的好理由;前者不是。即使存在一些错误(例如,cd到文件不起作用),您的问题也会显示一些研究成果。我给你取消upvote。 – 2014-09-23 14:34:38

+0

对,我现在明白了,我已经改正了,谢谢。我可以用降薪,所以只要解释原因,这样我就不会犯同样的错误两次。它将那些想要帮助的人与那些只想成为痛苦的人分开。 – Kurtiss 2014-09-23 14:38:56

回答

4

从广义上来说,你需要做到以下几点:

  1. 编译使用编译生成可执行程序。
  2. 运行可执行文件。

当您“在Visual Studio中运行程序”时,它将为您执行所有这些步骤。

我对Windows中的命令行编译了解不多,但我相信msbuild是Visual Studio使用的编译器的名称。研究一下,你会看到如何编译。然后,编译将生成可执行文件,您只需在命令行中键入该可执行文件即可运行。

编辑:我发现an article这表明cl是命令行上可用的C编译器命令。

下面是相关摘录:

  • 在命令提示,与源文件,例如,CL simple.c的名称一起指定CL命令 - 然后按Enter编译程序。 cl.exe编译器会生成一个.obj文件,其中包含已编译的代码,然后运行链接程序以构建一个可执行程序,该程序具有源文件的名称,但具有。exe文件扩展名 - 例如Simple.exe。
  • +0

    不完全是我想要做的,但我确实通过使用Visual Studio的命令提示符来获得某些功能,但一旦我明白了这一点,就是遵循提供的链接。我发现的研究材料没有提到这个,非常感谢。 – Kurtiss 2014-09-23 14:33:57

    2
    1. 你不能cd到文件,只能到目录。命令cd表示“更改目录”。
    2. 你不能执行一个C文件,它只是一个文本文件,你的计算机不知道如何运行它。您需要先编译它(这是Visual Studio的功能)。在某个地方应该有一个EXE文件,你需要找到它。它是C程序的二进制,可执行形式,可以直接从命令行运行。
    +0

    1.是的,我知道,我的CD例子只是为了说明我知道如何通过命令提示符将自己指向所需的文件。 2.这是有道理的,所以我需要知道如何在这种情况下编译并执行所需的文件,.exe。 – Kurtiss 2014-09-23 14:07:45

    +0

    @Kurtiss:查看我的答案(http://stackoverflow.com/a/25997118/129655)。 'msbuild'是一个可以编译Visual Studio项目的工具。看起来'cl'可能是一个可以直接编译C文件的工具。 – 2014-09-23 14:09:54

    +0

    命令提示符返回'cl'不被识别,现在正在查看它。 – Kurtiss 2014-09-23 14:15:32