2014-09-23 342 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