g 編譯使用方法

2021-06-08 19:31:56 字數 1436 閱讀 9987

用g++編譯單個原始檔myprog.cc很簡單,只要把檔名當引數傳給g++就行了。

$ g++ myprog.cc

$ ls -l

-rwxr-xr-x 1 wvh users 13644 oct 5 16:17 a.out

-rw-r--r-- 1 wvh users 220 oct 5 16:17 myprog.cc

預設情況下,unix和linux作業系統生成的目標檔案是當前目錄下的a.out,只要輸入./a.out就可以執行。在cygwin系統下,你得到的是a.exe,通過輸入./a或者./a.exe都可以執行。

要定義g++的輸出檔名,使用-o選項如下所示:

$ g++ myprog.cc -o runme

$ ls -l

-rw-r--r-- 1 wvh users 220 oct 5 16:17 myprog.cc

-rwxr-xr-x 1 wvh users 13644 oct 5 16:28 runme

如果編譯多個原始檔,只要在命令列裡列出它們就行了,如下所示,最終產生的輸出檔案是showdate:

$ g++ showdate.cc helper.cc –o showdate

如果你想先編譯這些原始檔,最後再把它們鏈結成乙個2進製檔案,可以用-c選項,那麼g++就只產生object檔案,如下所示:

$ g++ -c showdate.cc

$ g++ -c helper.cc

$ g++ showdate.o helper.o –o showdate

$ ls -l

total 124

-rw-r--r-- 1 wvh users 210 oct 5 12:42 helper.cc

-rw-r--r-- 1 wvh users 45 oct 5 12:29 helper.h

-rw-r--r-- 1 wvh users 1104 oct 5 13:50 helper.o

-rwxr-xr-x 1 wvh users 13891 oct 5 13:51 showdate

-rw-r--r-- 1 wvh users 208 oct 5 12:44 showdate.cc

-rw-r--r-- 1 wvh users 1008 oct 5 13:50 showdate.o

注意

所有的gcc編譯器都是通過檔案的字尾名來判斷檔案型別的,然後選擇應該進行的操作(比如,字尾名為.o的檔案只需要進行鏈結),檔案型別到操作的對映記錄在gcc的specs檔案裡。在gcc版本4以前,specs檔案是標準文字檔案,可以用任何文字編輯器修改;但是gcc版本4以後specs檔案是內建檔案,必須要進行解壓才能修改。

很顯然,當你的專案檔案稍微多點,使用命令列來編譯就不可接受了,特別是還要加上搜尋目錄、優化選項和其他g++選項。解決的方案就是make,不過本文並不討論它。

QEMU編譯及使用方法

qemu是乙個支援跨平台虛擬化的虛擬機器,有user mode和system mode兩種配置方式。其中qemu在system mode配置下模擬出整個計算機,可以在qemu之上執行乙個作業系統。qemu的system mode與常見的vmware和virtualbox等虛擬機器比較相似,但是qem...

QEMU編譯及使用方法

qemu是乙個支援跨平台虛擬化的虛擬機器,有user mode和system mode兩種配置方式。其中qemu在system mode配置下模擬出整個計算機,可以在qemu之上執行乙個作業系統。qemu的system mode與常見的vmware和virtualbox等虛擬機器比較相似,但是qem...

編譯器使用方法

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...