平時大家在寫程序代碼的時候主要藉助一些開發工具,vs 2010 、Vc6.0 、blockcodes 、Cfree等,我最開始學習些代碼的時候也是從這些入的門,後來看linux的時候,發現強大的便衣工具gcc,使用它更直觀的知道程序的預處理、編譯、鏈接。
首先,使用vi編輯器寫一段hello world程序
-E gcc進行預處理後停止編譯,生成預處理之後的文件
-c 將預處理之後的文件編譯生成目標文件
-o 將生成的文件命名為指定名稱
執行可執行文件,由於後面沒有加換行符,看起來不很美觀。
注意:當然我們在編譯C代碼的過程中不需要一步步執行來生成可執行程序,可以直接一步生成可執行代碼
在採用模塊化的設計思想進行軟件開發時,通常整個程序是由多個源文件組成的,相應地也就形成了多個編譯單元,使用GCC能夠很好地管理這些編譯單元。
假設有一個由foo1.c和foo2.c兩個源文件組成的程序,為了對它們進行編譯,並最終生成可執行程序foo,可以使用下面這條命令:
gcc foo1.c foo2.c -o foo
如果同時處理的文件不止一個,GCC仍然會按照預處理、編譯和鏈接的過程依次進行。如果深究起來,上面這條命令大致相當於依次執行如下三條命令:
gcc -c foo1.c -o foo1.o
gcc -c foo2.c -o foo2.o
gcc foo1.o foo2.o -o foo
參考文件:http://www.cnblogs.com/avril/archive/2009/12/06/1617938.html
相關推薦
'Java是什麼?為什麼要學習Java?Java有哪些特點?'
"在正式開始Java學習之前,先來了解幾個關鍵性問題。那就是什麼是Java,為什麼要學習Java,Java 有哪些特點,Java 有哪些機制,如何來學習 Java 等幾個問題。通過這幾個問題讓大家瞭解 Java 的一些內容,從而展開 Java 的學習。1、java是什麼?J...
'Linux操作監控系統,實用命令分享,歡迎補充!附教程+思維導圖'
"操作系統是由一系列用於不同目的,服務不同人物的系統軟件組成,隨著Linux越來越流行,對Linux操作系統的一些基礎的監控與操作越來越重要。小編為你準備了高頻個Linux使用指南和linux學習思維導圖和教程受篇幅 限制文中只展示部分可分享的面試資源圖片,更多面試資料獲取...
'使用WIN10系統必須要關閉的功能'
"我們在日常使用WIN10系統的時候,系統默認開啟了系統自動更新,即 Windows Update。當然這個功能本意是好的,他可以及時的修復我們的系統漏洞,讓我們的系統更安全。避免黑客的攻擊。電腦自動配置更新,還可以優化操作系統,提高操作系統處理速度。可是在使用過程中我們發...
'華為最新:頂級旗艦沒火,良心機降價千元!系統與騰訊微信之爭?'
"華為Mate 20X:7.2英寸大屏的頂級旗艦沒火!大智能手機都在不斷的追求更高的屏佔比,於是華為推出了一款擁有7.2英寸大屏的旗艦手機Mate 20X,搭配納米工藝的麒麟980處理器,採用了5000毫安時的高密度大電池,擁有比同級別機型更長的續航能力。華為頂級旗艦這款手...
'noVnc遠程訪問Linux桌面(通過web方式)'
"OS:CentOS6 桌面1.介紹NoVnc是Web端的Vnc軟件、可以直接通過網頁訪問遠程主機,採用 HTML5、WebSockets、Canvas和 JavaScript實現,被普遍用在各大雲平臺中。網頁就是一個客戶端、類似 Windows 下的 vncviewer2...
'Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程'
"聲明:本頭條號【Kali技術】所有分享,僅限學習交流!請勿他用!一、課程概要 本課程主要分享XSS跨站腳本攻擊實戰教程!二、內容概要XSS漏洞原理反射型挖掘存儲型挖掘三、漏洞簡介在實踐漏洞之前,筆者準備先簡單介紹一下XSS漏洞,不過XSS的相關概念介紹並不是本文的重點,因...
推薦中...