c動態編譯並執行
開發C程序有四個步驟:編輯、編譯、連接和運行。
任何一個體系結構處理器上都可以使用C語言程序,只要該體系結構處理器有相應的C語言編譯器和庫,那麼C源代碼就可以編譯並連接到目標二進制文件上運行。
1、預處理:導入源程序並保存(C文件)。
2、編譯:將源程序轉換為目標文件(Obj文件)。
3、鏈接:將目標文件生成為可執行文件(EXE文件)。
4、運行:執行,獲取運行結果的EXE文件。
(1)c動態編譯並執行擴展閱讀:
將C語言代碼分為程序的幾個階段:
1、首先,源代碼文件測試。以及相關的頭文件,比如stdio。H、由預處理器CPP預處理為.I文件。預編譯的。文件不包含任何宏定義,因為所有宏都已展開,並且包含的文件已插入。我歸檔。
2、編譯過程是對預處理文件進行詞法分析、語法分析、語義分析和優化,生成相應的匯編代碼文件。這個過程往往是整個程序的核心部分,也是最復雜的部分之一。
3、匯編程序不直接輸出可執行文件,而是輸出目標文件。匯編程序可以調用LD來生成可以運行的可執行程序。也就是說,您需要鏈接大量的文件才能獲得「a.out」,即最終的可執行文件。
4、在鏈接過程中,需要重新調整其他目標文件中定義的函數調用指令,而其他目標文件中定義的變數也存在同樣的問題。
② 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++都有自己的編譯鏈接工具。
運行
一旦編譯鏈接完成通常就可以在目標機器上運行了;如果使用了動態庫,還需要運行環境里有對應的庫文件才行。
④ 寫了一個程序可以編譯c語言,怎麼自動再鏈接然後執行生成的可執行文件
編譯的大致過程如下:
你完成的其實是前面一部分,的第一階段,生成了中間代碼。
目標代碼,即目標文件包含著機器代碼(可直接被計算機中央處理器執行)以及代碼在運行時使用的數據,如重定位信息,如用於鏈接或調試的程序符號(變數和函數的名字),此外還包括其他調試信息。
後面是由鏈接程序將編譯後形成的一組目標模塊以及它們所需要的庫函數鏈接在一起,形成一個完整的載入模塊。
目前的編譯工具通常編譯器和鏈接器都是分開,例如GNU的編譯器是gcc,鏈接器是ld
⑤ c語言如何把c程序編譯成可執行的exe文件
1、編寫一段簡單的代碼,如下圖所示,編輯一段簡單的輸出語句。
⑥ 在C語言中,完成C源文件編輯後到生成執行文件的步驟是什麼
編譯鏈接,期間查找錯誤並更正,重復編譯鏈接過程,知道修改正確。然後得到可執行文件。
⑦ 如何用C#動態編譯,執行代碼
代碼如下:
/*
*使用C#動態編譯代碼和執行
*作者:yaob
*/
staticvoidMain(string[]args)
{
//編譯器
CodeDomProvidercdp=CodeDomProvider.CreateProvider("C#");
//編譯器的參數
CompilerParameterscp=newCompilerParameters();
cp.ReferencedAssemblies.Add("System.dll");
cp.GenerateExecutable=false;
cp.GenerateInMemory=true;
//編譯結果
CompilerResultscr=cdp.CompileAssemblyFromSource(cp,HelloWorld());
if(cr.Errors.HasErrors)Console.WriteLine("編譯出錯!");
else
{
//編譯後的程序集
Assemblyass=cr.CompiledAssembly;
//得到HelloWorld類中的SayHello方法
Typetype=ass.GetType("HelloWorld.HelloWorld");
MethodInfomi=type.GetMethod("SayHello");
//執行
mi.Invoke(null,null);
}
}
//動態構建的代碼
staticstringHelloWorld()
{
StringBuildersbCode=newStringBuilder();
sbCode.AppendLine("usingSystem;");
sbCode.AppendLine("namespaceHelloWorld");
sbCode.AppendLine("{");
sbCode.AppendLine("classHelloWorld");
sbCode.AppendLine("{");
sbCode.AppendLine("publicstaticvoidSayHello()");
sbCode.AppendLine("{");
sbCode.AppendLine("Console.WriteLine("Hello~World~!");");
sbCode.AppendLine("}");
sbCode.AppendLine("}");
sbCode.AppendLine("}");
returnsbCode.ToString();
}
⑧ 怎樣在linux下編寫C程序並編譯執行
.編譯單個源文件
[例如]在屏幕上列印"Hello,Linux."
[源代碼]#include<stdio.h
#include<stdlib.h
int main(int argc,char **argv){printf("Hello,Linux.\n");exit(0);}將源文件保存為hello.c,開始進行編譯
$gcc -o hello hello.c
編譯成功完成後,在當前路徑下,生成一個名為hello的文件,然後執行
$./hello在屏幕上,你將會看到列印結果:Hello,Linux.
說明:在默認情況下,編譯成功完成後,會在當前路徑下,生成一個名為a.out的文件,然後執行$./a.out便可列印結果,但通常可以通過選項-o來指定自己的可執行程序名稱;
2.編譯多個源文件
3.使用外部函數庫
4.使用共享函數庫和靜態函數庫5.gcc選項詳細描述