【C語言】C 程序開發快速入門


1. C 程序開發快速入門

  • 需求說明
    要求開發一個 hello.c 程序,可以輸出 “hello,world”
  • 開發步驟
  1. 創 建 一 個 空 項 目 (VC++2010 是 以 項 目 的 方 式 管 理 源 代 碼 ) , 如 下 圖,項 目 存 放 路 徑 :F:\C study\C\01_hello
    在這里插入圖片描述
    在這里插入圖片描述

  2. 編寫到文件名為 hello.c 文件中。

//引入頭文件
#include <stdio.h>
//main函數,是程序執行的入口
void main(){
	//1.printf是一個函數,需要一個頭文件才能使用
	//2.printf是在<stdio.h>,需要引入該頭文件
	printf("Hello World!");
	//讓窗口停留
	getchar();
}
  1. 點擊 開始執行(不調試) 按鈕運行程序 (這個按鈕需要配置)
    在這里插入圖片描述
    在這里插入圖片描述
    在這里插入圖片描述
    在這里插入圖片描述
  • 添加完成后就會發現多了一個按鈕,或者也可以按 Ctrl+F5(開始執行不調試)
    在這里插入圖片描述
  • 執行上面的hell.c代碼后,發現有個黑色的窗口一閃而過,沒有停留,所以要配置下才能使窗口停留:
//讓窗口停留
getchar();

在這里插入圖片描述

2. C 程序運行機制流程

C 程序運行機制(過程)簡述

  1. 編輯:比如編寫我們的 hello.c 文件, 就是 源代碼.
    在這里插入圖片描述

  2. 編譯:將 hello.c 程序 翻譯成 目標文件(hello.obj) // 在計算機底層執行
    在這里插入圖片描述

  3. 鏈接:將目標文件 hello.obj + 庫文件 生成可執行文件 (01_hello.exe) //在計算機底層執行
    在這里插入圖片描述

  4. 運行:執行 .exe 文件, 得到運行結果
    在這里插入圖片描述

C程序的運行機制流程

在這里插入圖片描述

  • 編譯程序cl.exe和鏈接程序link.exe在我們安裝vs 2010的bin目錄

在這里插入圖片描述

  • C 程序執行流程圖解分析

在這里插入圖片描述

3. 編譯、鏈接和運行詳解

  • 什么是編譯?
  1. 有了 C 源文件,通過編譯器將其編譯成 obj 文件(目標文件)。
  2. 如果程序沒有錯誤,沒有任何提示,但在 Debug 目錄下會出現一個 hello.obj 文件,該文件稱為目標文件。
  • 什么是鏈接?
  1. 有了目標文件(.obj 文件),通過鏈接程序將其和運行需要的 c 庫文件鏈接成 exe 文件(可執行文件)。
  2. 如果程序沒有錯誤,沒有任何提示,但在 Debug 目錄下會出現一個項目名.exe 文件,該文件稱為可執行文件。
  3. 為什么需要鏈接庫文件呢? 因為我們的 C 程序中會使用 C 程序庫的內容,比如 <stdio.h> <stdlib.h> 中的函數printf() system()等等, 這些函數不是程序員自己寫的,而是 C 程序庫中提供的,因此需要鏈接。
  4. 你會發現鏈接后,生成的.exe 文件,比 obj 文件大了很多。
  • 源文件 hello.c 只有 1KB

在這里插入圖片描述

  • 編譯后的 hello.obj 有 4KB
    在這里插入圖片描述
  • 運行的 hello.exe 有 27KB
    在這里插入圖片描述
  • 什么是運行?
  1. 有了可執行的 exe 文件, 也稱為可執行程序 (二進制文件)
  2. 在控制台下可以直接運行 exe 文件

4. C 程序開發注意事項

  • 對修改后的 hello.c 源文件需要重新編譯鏈接,生成新的 exe 文件后,再執行,才能生效。

5. 如果想只生成目標 exe 文件,不想執行結果

  • 如:hello.c 程序代碼修改后只想生成 .exe 文件,不要執行結果
    在這里插入圖片描述

  • 可以這樣做:打開 VC++ 2010 ,生成–> 重新生成解決方案(或 Ctrl+Alt+F7
    在這里插入圖片描述

  • 也可以直接生成解決方案(F7
    在這里插入圖片描述

  • 代碼如下:
    在這里插入圖片描述

  • 可以看到生成后的 exe 文件就不會彈出來執行了

  • 在文件夾中雙擊打開 exe 文件
    在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM