c語言多文件的程序的編譯和運行
1:安裝MinGW及GCC編譯器
2:配置環境變數(註:可能需要重啟後生效)
計算機-->屬性-->高級系統設置-->環境變數-->系統:path 中添加C:\MinGW\bin;
當然MinGW是安在C盤下,按不同路徑修改
3:打開Notepad++,編寫一段C++代碼並保存
例如:
#include <iostream>
using namespace std;
int main(){
int a, b;
cout<<"Input:"<<endl;
while(cin>>a>>b){
cout<<a+b<<endl;
}
return 0;
}
4:菜單欄--》運行--》運行,彈出框中輸入:
cmd /k g++ -o $(NAME_PART).exe "$(FULL_CURRENT_PATH)" & PAUSE & EXIT
選擇快捷鍵後保存為: G++編譯,注意快捷鍵不要有重復,在點擊彈出框的運行,Ok,關閉Notepad,再打開Notepad++;
5:菜單欄--》運行--》運行,彈出框中輸入:
cmd /k "$(NAME_PART)" & PAUSE & EXIT
同理保存名稱換為為: G++運行,再點運行程序就會執行了
㈡ 在c語言中,把兩個函數放在兩個程序文件中,怎樣作為兩個文件進行編譯,連接和運行
不知道你用的是什麼編譯器,如果用的是VC的話,可以嘗試下我的做法:
創建兩個源代碼文件:1.cpp和2.cpp
1.cpp中內容:
#include<stdio.h>
#include"2.cpp"/*採用包含命令調用2.cpp中的函數*/
int max(int x,int y)
{
return x>y?x:y;
}
int main()
{
int a,b,m,n;
a=10;
b=30;
m=max(a,b);
n=min(a,b);
printf("%3d%3d\n",m,n);
return 0;
}
2.cpp中內容:
int min(int x,int y)
{
return x<y?x:y;
}
把這兩個源代碼放到一個文件夾下,編譯並運行1.cpp即可。注意,2.cpp中沒有main函數,所以不能直接編譯2.cpp。其實由於最終1.cpp和2.cpp要連接到一起形成一個可執行文件1.exe,所以2.cpp中也不能有main函數。
㈢ c語言中的編輯,編譯,連接,運行分別是什麼意思
1、編輯:編寫代碼,製作C語言的源文件。
2、編譯:是由編譯程序將C語言源文件轉換成二進制中間文件,對文件內部的語法語義做處理,如果編譯出錯,無法進行後續動作。
3、鏈接:將編譯中生成的中間文件組合成二進制可執知行文件,這一步會對文件之間的關聯做檢查,如果出錯,將不會生成可執行文件,也就無法執行。
4、執行:運行可執行文件,這一步道是編寫代碼的最終目的。
(3)c語言多文件的程序的編譯和運行擴展閱讀:
DOS命令通常分為三類:內部命令、外部命令和批處理命令。
1、內部命令:
其包含在命令解釋程序COMMAND.COM中,一旦啟動DOS,這些命令就被調入內存,只要在DOS系統提示符下輸入這些命令,就可立即執行。
2、外部命令:
其以文件的形式存儲在系統盤上,所帶擴展名為COM和EXE。DOS啟動時,它們並沒有被調入內存,執行前必須從系統盤讀進內存。因此輸入外部命令時,要了解該命令是否在當前盤上,不然DOS無法找到它們。
3、批處理命令:
實際上是個文件,該文件包含多條命令,當用戶鍵入批處理文件名時,DOS將順序執行其中的各條命令。注意,批處理命令必須用「.BAT」作為擴展名。
C語言的運算非常靈活,功能十分豐富,運算種類遠多於其它程序設計語言。在表達式方面較其它程序語言更為簡潔,如自加、自減、逗號運算和三目運算使表達式更為簡單。
當多種不同運算組成一個運算表達式,即一個運算式中出現多種運算符時,運算的優先順序和結合規則就會顯得十分重要。
網路-運行命令
網路-C語言
㈣ C語言文件的編譯與執行的四個階段並分別描述
開發C程序有四個步驟:編輯、編譯、連接和運行。
任何一個體系結構處理器上都可以使用C語言程序,只要該體系結構處理器有相應的C語言編譯器和庫,那麼C源代碼就可以編譯並連接到目標二進制文件上運行。
1、預處理:導入源程序並保存(C文件)。
2、編譯:將源程序轉換為目標文件(Obj文件)。
3、鏈接:將目標文件生成為可執行文件(EXE文件)。
4、運行:執行,獲取運行結果的EXE文件。
(4)c語言多文件的程序的編譯和運行擴展閱讀:
將C語言代碼分為程序的幾個階段:
1、首先,源代碼文件測試。以及相關的頭文件,比如stdio。H、由預處理器CPP預處理為.I文件。預編譯的。文件不包含任何宏定義,因為所有宏都已展開,並且包含的文件已插入。我歸檔。
2、編譯過程是對預處理文件進行詞法分析、語法分析、語義分析和優化,生成相應的匯編代碼文件。這個過程往往是整個程序的核心部分,也是最復雜的部分之一。
3、匯編程序不直接輸出可執行文件,而是輸出目標文件。匯編程序可以調用LD來生成可以運行的可執行程序。也就是說,您需要鏈接大量的文件才能獲得「a.out」,即最終的可執行文件。
4、在鏈接過程中,需要重新調整其他目標文件中定義的函數調用指令,而其他目標文件中定義的變數也存在同樣的問題。
㈤ c語言中如何同時運行多個源文件
第一步:
將源文件1(1.c)修改為如下形式:
#include "print.h"
#include "2.c"
int main(void)
{
printHello();
return 0;
}
其中的2.c就是源文件2的文件名
第二步,將三個文件保存到同一目錄中
第三步,打開TC2,執行FILE-CHANGE DIR,將工作目錄換到三個文件所在的目錄。
第四步,在TC2中打開1.c文件,編譯運行。
建議不要再使用TC2這個相對原始的IDE了,上面介紹的這個方法也並不是標准方法,建議使用TC2006/VC/BCB等現代的IDE環境,如果實在是舍棄不下DOS字元界面,那就試試GCC吧!
㈥ 在網上下載了一個c語言源代碼,裡面很多.c.h文件,請問我要怎麼編譯才能運行起來
首先讀一下readme文件,看一下這個游戲的編譯環境是怎麼樣的,是運行在win下還是linux,然後在正確的環境下使用游戲代碼中的Makefile文件來編譯這個游戲。我假設它是vc6編寫的,那麼可以這么做。我的vc6文件目錄位於C:\Program Files (x86)\Microsoft Visual Studio\VC98\Bin。在命令提示符下進入這個目錄後,運行目錄下的vars32.bat設置環境,再用cd命令轉到游戲代碼目錄,執行nmake /f makefile,看一下編譯結果,如果正確的話,就會生成可執行文件了。如果不對,要麼適當修改游戲代碼,要麼調整一下Makefile文件的內容,這是細活,得慢慢琢磨。
㈦ c語言編寫和編譯多文件的程序
第一個問題
請問,我是不是該這樣做:
在main.c中#include
在fun.c中同樣#include
(好像是必需的,請詳細解釋)
這是必需的。因為編譯器只是把包含文件的代碼復制過來,既然你二個文件中都用到頭文件的內容,那當然要包含頭文件,否則就會出錯。
我的觀點,如果這兩步都是必需的
那麼當有很多個比如10個.c程序每個里頭都要#include
那麼文件是不是會特別大,當有100個.c程序都要包含一下的話,那麼不是非常重復么?)
那當然是會重復的。不過這個對程序的運行效率沒任何影響,只是在編譯過程中對文件的分析時間會稍長些,這也是沒有辦法的事,全看代碼編寫者如何組織結構了。
第二個問題:
會的。解決的方法就是在可能被多次包含的頭文件中開頭加上#pragma
once,那樣就可以保證此頭文件代碼只被執行一次,而不會造成頭文件中函數多次重復定義至於引起這種情況的情況。當然你也可以自己用#ifdef等預編譯處理來解決。你問的問題不就是這種情況么?main.c和fun.c中都包含頭文件tou.h
第三個問題:
當我在main.c中這樣
#define
unchar
unsigned
char
那麼當我在fun.c中還需要重新創建替換宏unchar嗎
可以不在創建而直接使用嗎?
答案是需重新創建,不能直接使用。但你可以把一些在多個文件中使用的宏、全局變數等統一定義到一個頭文件中,那這樣就可以避免多次定義了。
㈧ C語言的編譯和運行按什麼鍵
編譯F9 運行Ctrl+F9
不同的編譯器命令快捷鍵略有不同。
下面是Visual Stdio的命令快捷鍵列表:
CTRL + SHIFT + B
生成解決方案
CTRL + F7
生成編譯
CTRL + O
打開文件
CTRL + SHIFT + O
打開項目
CTRL + SHIFT + C
顯示類視圖窗口
F4
顯示屬性窗口
SHIFT + F4
顯示項目屬性窗口
CTRL + SHIFT + E
顯示資源視圖
F12
轉到定義
CTRL + F12
轉到聲明
CTRL + ALT + J
對象瀏覽
CTRL + ALT + F1
幫助目錄
CTRL + F1
動態幫助
F1
幫助
SHIFT + F1
當前窗口幫助
CTRL + ALT + F3
幫助-搜索
SHIFT + ALT + ENTER
全屏顯示
CTRL + -
向後定位
CTRL + SHIFT + -
向前定位
CTRL + F4
關閉文檔窗口
CTRL + PAGE DOWN
游標定位到窗口上方
CTRL + PAGE UP
游標定位到窗口下方
CTRL + F6
CTRL + TAB
下一個文檔窗口
CTRL + SHIFT + F6
CTRL + SHIFT + TAB
上一個文檔窗口
ALT + F6
下一個面板窗口
CTRL + K, CTRL + L
取消remark
CTRL + K, CTRL + C
注釋選擇的代碼
CTRL + K, CTRL + U
取消對選擇代碼的注釋
CTRL + M, CTRL + O
折疊代碼定義
CTRL + M, CTRL + L
展開代碼定義
CTRL + DELETE
刪除至詞尾
CTRL + BACKSPACE
刪除至詞頭
SHIFT + TAB
取消製表符
CTRL + U
轉小寫
CTRL + SHIFT + U
轉大寫
CTRL + SHIFT + END
選擇至文檔末尾
CTRL + SHIFT + HOME
選擇至文檔末尾開始
SHIFT + END
選擇至行尾
SHIFT + HOME
選擇至行開始處
SHIFT + ALT + END
垂直選擇到最後尾
SHIFT + ALT + HOME
垂直選擇到最前面
CTRL + A
全選
CTRL + W
選擇當前單詞
CTRL + SHIFT + PAGE UP
選擇至本頁前面
CTRL + SHIFT + PAGE DOWN
選擇至本頁後面
CTRL + END
文檔定位到最後
CTRL + HOME
文檔定位到最前
CTRL + G
轉到…
CTRL + K, CTRL + P
上一個標簽
CTRL + K, CTRL + N
下一個標簽
ALT + F10
調試-ApplyCodeChanges
CTRL + ALT+ Break
停止調試
CTRL + SHIFT + F9
取消所有斷點
CTRL + F9
允許中斷
CTRL + SHIFT + F5
調試-重新開始
F5
運行調試
CTRL + F5
運行不調試
F10
跨過程序執行
F11
單步逐句執行
CTRL + J
列出成員
CTRL + PAGE DOWN
下一個視圖
CTRL + B
格式-粗體
CTRL + SHIFT + T
格式-文字縮進
㈨ 編輯,編譯和運行C程序需要什麼條件
c程序的編輯,編譯,鏈接和運行
編輯
對於C語言來說,任何文本編輯器都是可以的;windows自帶的notepad,linux常用VIM都可以
編譯,鏈接
雖然這是兩個步驟,但通常是同一套tool,例如開源的gcc系列,微軟的visual C++都有自己的編譯鏈接工具。
運行
一旦編譯鏈接完成通常就可以在目標機器上運行了;如果使用了動態庫,還需要運行環境里有對應的庫文件才行。