導航:首頁 > 源碼編譯 > 編譯器軟體包

編譯器軟體包

發布時間:2023-02-19 18:22:40

Ⅰ 如何安裝icc編譯

執行sudo apt-get install libstdc++5時,可能出現「無法找到軟體包libstdc++5」,自己在網上搜索下載這個文件,得到一個compat-libstdc++-33_3.2.3-48.3_i386.deb安裝包,然cd 到deb包所在的位置,執行

Ⅱ sclock.exe是什麼文件

這是windows平台的可執行文件 (executable file) 可移植可執行 (PE) 文件格式的文件,它可以載入到內存中,並由操作系統載入程序執行。它可以是 .exe文件 .sys文件 .com文件 .bat文件等。 如記事本程序 notepad.exe ,這類程序通常用來處理或者輔助處理其它文件。比如:myfile.txt雙擊打開由notepad.exe記事本程序來進行編輯。 我們做一件事,可以把順序以及具體做什麼事寫在mybat.bat文件中,那運行它就可以把要做的事件執行了。 可以理解為:這類文件可以「單獨運行」,或者理解為「有生命」的文件! 如果把它用日常通俗的一點的例子來形容:衣服,鞋子等都是普通的文件,那人就是可執行文件! 人可以做衣服穿衣服,衣服卻要依靠人來做。布也要由人一加工成衣服! 2.1 Win32可執行文件的開發過程 在DOS下,生成一個可執行文件的步驟比較簡單,用編譯器將源程序編譯為obj文件,再用鏈接器將obj文件鏈接成exe文件,不同語言的開發過程都差不多。 DOS可執行文件中的內容是由源程序中所寫的代碼和數據定義轉換而來的。惟一的例外是帶覆蓋部分(Overlay)的exe文件,它在基本的exe文件後附加了一些自定義的數據,其中可執行部分的長度由文件頭偏移0002h和0004h中的長度給出,該長度之後到文件實際長度這部分就是Overlay部分。這樣,即使一個帶覆蓋的exe文件大小遠遠超過640 KB,在DOS下也能運行,因為操作系統只裝入真正的可執行部分,然後由程序自己去讀取覆蓋部分的數據。一些打包軟體生成的奇大無比的自解壓包就採用這種結構,可執行部分是解包代碼,覆蓋部分是被壓縮的數據。DOS對可執行文件覆蓋部分的數據格式並沒有規定,它是程序員按自己的方式組織的。如果程序員願意,也可以把這些數據單獨放在另外一個文件中。 Win32可執行文件叫做PE文件。PE文件的基本結構和DOS可執行文件有很大的不同。它把程序中的不同部分分成各種節區(Section),其中可以有一個節區是放置各種資源的,如菜單、對話框、點陣圖、游標、圖標和聲音等(詳見第17章)。雖然可以把資源部分理解成類似DOS可執行文件中的「覆蓋」部分,但由於資源是Win32可執行文件的標准組成部分,而且是非常重要的組成部分,它的格式是固定的。所以與DOS軟體的開發過程相比,Win32軟體的開發中多了一個創建資源文件的步驟。 以使用MASM32軟體包為例,在用Win32匯編開發軟體的流程中,程序員要做的工作分創建代碼和創建資源兩部分,如圖2.1所示。 代碼部分的開發工作與DOS下寫代碼的步驟是一樣的。程序員用文本編輯器書寫匯編源代碼(*.asm文件)。與C源代碼類似,asm文件中也可以用include語句包含數據定義和函數聲明的頭文件,Win32匯編的頭文件一般用inc作擴展名。大部分的include文件是編譯器軟體包附帶提供的,如MASM32軟體包附帶的Windows.inc文件定義了Win32 API中很多參數和數據結構,其他的inc文件則是不同DLL中的Win32 API函數聲明。最後,asm文件經匯編編譯器編譯成以obj為擴展名的目標文件。 資源文件中可以包括對話框、快捷鍵、菜單、字元串、版本信息和一些圖形資源等內容。資源文件的源文件是一種類似「腳本」的文本文件,它的擴展名一般為rc,其中用不同的語法定義了不同類型的資源,資源腳本文件最後由資源編譯器編譯成資源文件*.res。資源腳本文件同樣用到很多預定義值,所以軟體包中一般也包括資源頭文件供源文件來導入。MASM32軟體包中的資源頭文件是Resource.h。 在資源文件中,不同類型資源的記錄方式是不同的。對話框資源只記錄定義值,如對話框的大小、位置等,並非真正存儲對話框最後顯示在屏幕上的像素。這些大小、位置等信息最後由Windows解釋後才在屏幕上被繪畫成像素;菜單、字元串、快捷鍵等由文本構成;圖形資源則真正由像素組成,它們在資源腳本中被定義為一個文件名,由資源編譯器從磁碟文件導入。Windows在資源中支持的圖形文件有bmp點陣圖文件、cur游標文件和ico圖標文件,這些圖形文件可以用其他圖形處理軟體生成。另外,wav聲音文件也可以用在資源中。創建資源的方法在第5章中有詳細的描述。 圖2.1 Win32可執行文件的開發過程 編譯好目標文件*.obj和資源文件*.res後,最後一步是用鏈接器將它們鏈接成可執行文件。鏈接的時候要用到函數庫。在DOS環境下編程的時候,使用的函數庫是靜態庫。靜態庫是一些已經編譯好的代碼模塊。當用戶在源程序中用到某個函數的時候,鏈接器從庫文件中將這個函數的二進制代碼取出,與obj文件合在一起生成最終的exe文件。但在Win32環境下,大部分的公用函數封裝在DLL文件中,以動態鏈接的方式供用戶程序調用。這時候庫文件中只需要包含函數在DLL中的位置信息,不再需要有二進制代碼部分。所以鏈接的時候也只是把庫文件中的位置信息取出放入最後的可執行文件中。Win32中這種只包含位置信息的庫文件稱為導入庫。動態鏈接的概念在第11章中有詳細的描述。 由於Win32匯編編程中使用不同匯編編譯器的時候,匯編源程序的格式和資源腳本文件的格式可能稍微有所不同。各種頭文件、庫文件的文件名也有所不同。所以在開始編程之前,必須先選定一種合適的編譯器。 2.2 編譯器和鏈接器 選擇匯編編譯器是開始工作的第一步。不同的編譯器用法各不相同,選擇合適的編譯器可以為開發工作節省很多的時間。這里簡單介紹幾種不同系列的編譯器。常用的匯編編譯器有Microsoft公司的MASM系列和Borland公司的TASM系列,還有一些小公司推出的或者免費的匯編軟體包。
記得採納啊

Ⅲ 我想為openwrt編譯一個軟體包,應該怎麼辦

下面是Makefile中一些約定俗成的目標名稱及其含義:

all
編譯整個軟體包,但不重建任何文檔。一般此目標作為默認的終極目標。此目標一般對所有源程序的編譯和連接使用"-g"選項,以使最終的可執行程序中包含調試信息。可使用 strip 程序去掉這些調試符號。
clean
清除當前目錄下在 make 過程中產生的文件。它不能刪除軟體包的配置文件,也不能刪除 build 時創建的那些文件。
distclean
類似於"clean",但增加刪除當前目錄下的的配置文件、build 過程產生的文件。
info
產生必要的 Info 文檔。
check 或 test
完成所有的自檢功能。在執行檢查之前,應確保所有程序已經被創建(但可以尚未安裝)。為了進行測試,需要實現在程序沒有安裝的情況下被執行的測試命令
install
完成程序的編譯並將最終的可執行程序、庫文件等拷貝到指定的目錄。此種安裝一般不對可執行程序進行 strip 操作。
install-strip
和"install"類似,但是會對復制到安裝目錄下的可執行文件進行 strip 操作。
uninstall
刪除所有由"install"安裝的文件。
installcheck
執行安裝檢查。在執行安裝檢查之前,需要確保所有程序已經被創建並且被安裝。
installdirs
創建安裝目錄及其子目錄。它不能更改軟體的編譯目錄,而僅僅是創建程序的安裝目錄。

下面是 Makefile 中一些約定俗成的變數名稱及其含義:

這些約定俗成的變數分為三類。第一類代表可執行程序的名字,例如 CC 代表編譯器這個可執行程序;第二類代表程序使用的參數(多個參數使用空格分開),例如 CFLAGS 代表編譯器執行時使用的參數(一種怪異的做法是直接在 CC 中包含參數);第三類代表安裝目錄,例如 prefix 等等,含義簡單,下面只列出它們的默認值。

AR 函數庫打包程序,可創建靜態庫.a文檔。默認是"ar"。
AS 匯編程序。默認是"as"。
CC C編譯程序。默認是"cc"。
CXX C++編譯程序。默認是"g++"。
CPP C/C++預處理器。默認是"$(CC) -E"。
FC Fortran編譯器。默認是"f77"。
PC Pascal語言編譯器。默認是"pc"。
YACC Yacc文法分析器。默認是"yacc"。

ARFLAGS 函數庫打包程序的命令行參數。默認值是"rv"。
ASFLAGS 匯編程序的命令行參數。
CFLAGS C編譯程序的命令行參數。
CXXFLAGS C++編譯程序的命令行參數。
CPPFLAGS C/C++預處理器的命令行參數。
FFLAGS Fortran編譯器的命令行參數。
PFLAGS Pascal編譯器的命令行參數。
YFLAGS Yacc文法分析器的命令行參數。
LDFLAGS 鏈接器的命令行參數。

prefix /usr/local
exec_prefix $(prefix)
bindir $(exec_prefix)/bin
sbindir $(exec_prefix)/sbin
libexecdir $(exec_prefix)/libexec
datadir $(prefix)/share
sysconfdir $(prefix)/etc
sharedstatedir $(prefix)/com
localstatedir $(prefix)/var
libdir $(exec_prefix)/lib
infodir $(prefix)/info
includedir $(prefix)/include
oldincludedir $(prefix)/include
mandir $(prefix)/man
srcdir 需要編譯的源文件所在的目錄,無默認值

Ⅳ 如何安裝GCC編譯器和開發工具

在CentOS 7和RHEL 7系統上如何安裝Gnu GCC編譯器和相關的工具比如:autoconf,automake,flex, c++編譯器等工具。我們可以通過在centos 或者rhel 7 系統上安裝下面的軟體包來搭建基本的開發環境。

autoconf

automake

binutils

bison

flex

gcc

gcc-c++

gettext

libtool

make

patch

pkgconfig

redhat-rpm-config

rpm-build

rpm-sign
顯示當前系統的yum group,使用下面的命令:

yum group list
命令輸出:

[root@itsprite /]# yum group list
Loaded plugins: fastestmirror, langpacks
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile

* base: mirrors.btte.net

* extras: mirrors.btte.net

* updates: mirrors.btte.net
Available environment groups:

Minimal Install

Infrastructure Server

File and Print Server

Basic Web Server

Virtualization Host

Server with GUI

GNOME Desktop

KDE Plasma Workspaces

Development and Creative Workstation
Available Groups:

Compatibility Libraries

Console Internet Tools

Development Tools

Graphical Administration Tools

Legacy UNIX Compatibility

Scientific Support

Security Tools

Smart Card Support

System Administration Tools

System Management
Done
安裝GCC和開發環境
輸入下面的命令:

yum group install "Development Tools"
安裝完之後,使用下面的命令來驗證gcc是否安裝成功:

whereis gcc
命令輸出:

[root@itsprite /]# whereis gcc
gcc:/usr/bin/gcc /usr/lib/gcc /usr/libexec/gcc /usr/share/man/man1/gcc.1.gz
輸入下面的命令來查看gcc工具的版本:

[root@itsprite /]# gcc --version
gcc (GCC) 4.8.2 20140120(Red Hat 4.8.2-16)
Copyright (C)2013 Free Software Foundation, Inc.
This is free software; see the source for ing conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
測試GCC編譯器
下面我們使用剛安裝好的GCC編譯器來編譯一個c語言程序.
創建下面的test.c程序:

#include
int main(void){

printf("Hello World!\n");

return0;
}
輸入命令編譯test.c 文件:

gcc test.c -o test
執行編譯後的文件:


./test
Hello World!

Ⅳ 如何在linux中安裝gcc編譯器

2004年4月20日最新版本的GCC編譯器3.4.0發布了。目前,GCC可以用來編譯C/C++、FORTRAN、java、OBJC、ADA等語言的程序,可根據需要選擇安裝支持的語言。GCC 3.4.0比以前版本更好地支持了C++標准。本文以在Redhat Linux上安裝GCC3.4.0為例,介紹了GCC的安裝過程。

安裝之前,系統中必須要有cc或者gcc等編譯器,並且是可用的,或者用環境變數CC指定系統上的編譯器。如果系統上沒有編譯器,不能安裝源代碼形式的GCC 3.4.0。如果是這種情況,可以在網上找一個與你系統相適應的如RPM等二進制形式的GCC軟體包來安裝使用。本文介紹的是以源代碼形式提供的GCC軟體包的安裝過程,軟體包本身和其安裝過程同樣適用於其它Linux和Unix系統。

系統上原來的GCC編譯器可能是把gcc等命令文件、庫文件、頭文件等分別存放到系統中的不同目錄下的。與此不同,現在GCC建議我們將一個版本的GCC安裝在一個單獨的目錄下。這樣做的好處是將來不需要它的時候可以方便地刪除整個目錄即可(因為GCC沒有uninstall功能);缺點是在安裝完成後要做一些設置工作才能使編譯器工作正常。在本文中我採用這個方案安裝GCC 3.4.0,並且在安裝完成後,仍然能夠使用原來低版本的GCC編譯器,即一個系統上可以同時存在並使用多個版本的GCC編譯器。

按照本文提供的步驟和設置選項,即使以前沒有安裝過GCC,也可以在系統上安裝上一個可工作的新版本的GCC編譯器。

1. 下載

在GCC網站上(http://gcc.gnu.org/)或者通過網上搜索可以查找到下載資源。目前GCC的最新版本為 3.4.0。可供下載的文件一般有兩種形式:gcc-3.4.0.tar.gz和gcc-3.4.0.tar.bz2,只是壓縮格式不一樣,內容完全一致,下載其中一種即可。

2. 解壓縮

根據壓縮格式,選擇下面相應的一種方式解包(以下的「%」表示命令行提示符):

% tar xzvf gcc-3.4.0.tar.gz
或者
% bzcat gcc-3.4.0.tar.bz2 | tar xvf -

新生成的gcc-3.4.0這個目錄被稱為源目錄,用${srcdir}表示它。以後在出現${srcdir}的地方,應該用真實的路徑來替換它。用pwd命令可以查看當前路徑。

在${srcdir}/INSTALL目錄下有詳細的GCC安裝說明,可用瀏覽器打開index.html閱讀。

3. 建立目標目錄

目標目錄(用${objdir}表示)是用來存放編譯結果的地方。GCC建議編譯後的文件不要放在源目錄${srcdir]中(雖然這樣做也可以),最好單獨存放在另外一個目錄中,而且不能是${srcdir}的子目錄。

例如,可以這樣建立一個叫 gcc-build 的目標目錄(與源目錄${srcdir}是同級目錄):

% mkdir gcc-build
% cd gcc-build

以下的操作主要是在目標目錄 ${objdir} 下進行。

4. 配置

配置的目的是決定將GCC編譯器安裝到什麼地方(${destdir}),支持什麼語言以及指定其它一些選項等。其中,${destdir}不能與${objdir}或${srcdir}目錄相同。

配置是通過執行${srcdir}下的configure來完成的。其命令格式為(記得用你的真實路徑替換${destdir}):

% ${srcdir}/configure --prefix=${destdir} [其它選項]

例如,如果想將GCC 3.4.0安裝到/usr/local/gcc-3.4.0目錄下,則${destdir}就表示這個路徑。

在我的機器上,我是這樣配置的:

% ../gcc-3.4.0/configure --prefix=/usr/local/gcc-3.4.0 --enable-threads=posix --disable-checking --enable--long-long --host=i386-redhat-linux --with-system-zlib --enable-languages=c,c++,java

將GCC安裝在/usr/local/gcc-3.4.0目錄下,支持C/C++和JAVA語言,其它選項參見GCC提供的幫助說明。

5. 編譯

% make

這是一個漫長的過程。在我的機器上(P4-1.6),這個過程用了50多分鍾。

6. 安裝

執行下面的命令將編譯好的庫文件等拷貝到${destdir}目錄中(根據你設定的路徑,可能需要管理員的許可權):

% make install

至此,GCC 3.4.0安裝過程就完成了。

6. 其它設置

GCC 3.4.0的所有文件,包括命令文件(如gcc、g++)、庫文件等都在${destdir}目錄下分別存放,如命令文件放在bin目錄下、庫文件在lib下、頭文件在include下等。由於命令文件和庫文件所在的目錄還沒有包含在相應的搜索路徑內,所以必須要作適當的設置之後編譯器才能順利地找到並使用它們。

6.1 gcc、g++、gcj的設置

要想使用GCC 3.4.0的gcc等命令,簡單的方法就是把它的路徑${destdir}/bin放在環境變數PATH中。我不用這種方式,而是用符號連接的方式實現,這樣做的好處是我仍然可以使用系統上原來的舊版本的GCC編譯器。

首先,查看原來的gcc所在的路徑:

% which gcc

在我的系統上,上述命令顯示:/usr/bin/gcc。因此,原來的gcc命令在/usr/bin目錄下。我們可以把GCC 3.4.0中的gcc、g++、gcj等命令在/usr/bin目錄下分別做一個符號連接:

% cd /usr/bin
% ln -s ${destdir}/bin/gcc gcc34
% ln -s ${destdir}/bin/g++ g++34
% ln -s ${destdir}/bin/gcj gcj34

這樣,就可以分別使用gcc34、g++34、gcj34來調用GCC 3.4.0的gcc、g++、gcj完成對C、C++、JAVA程序的編譯了。同時,仍然能夠使用舊版本的GCC編譯器中的gcc、g++等命令。

6.2 庫路徑的設置

將${destdir}/lib路徑添加到環境變數LD_LIBRARY_PATH中,最好添加到系統的配置文件中,這樣就不必要每次都設置這個環境變數了。

例如,如果GCC 3.4.0安裝在/usr/local/gcc-3.4.0目錄下,在RH Linux下可以直接在命令行上執行或者在文件/etc/profile中添加下面一句:

setenv LD_LIBRARY_PATH /usr/local/gcc-3.4.0/lib:$LD_LIBRARY_PATH

7. 測試

用新的編譯命令(gcc34、g++34等)編譯你以前的C、C++程序,檢驗新安裝的GCC編譯器是否能正常工作。

8. 根據需要,可以刪除或者保留${srcdir}和${objdir}目錄。

Ⅵ cprimerplus第6版需要買習題嗎

需要
重磅通知:C Primer Plus 第6版 中文版的配套習題解答書出版啦!

人郵非同步社區
官方微信:非同步社區,人民郵電出版社創辦的IT專業圖書社區
來自專欄非同步圖書
《C Primer Plus 第6版 中文版》的《C Primer Plus 第6版 中文版習題解答》隆重出版。北京師范大學名師詳細剖析所有題目,全面提升C編程能力的優選編程練習冊。學習C Primer Plus的不再愁自己啃習慣集了。

本在在對《C Primer Plus 第6版》中文版每章內容做了簡單總結和梳理的基礎上,對所有復習題和編程練習做了詳細的解答。每章首先提供了思維導圖,方便讀者快速查詢常用的知識點,然後簡明扼要地概括和提煉了每章的難點和重點知識。本書既可作為學習筆記,也可以作為知識點速查手冊,旨在給讀者提供一些參考。

習題解答截圖展示:

本書的復習題部分通過詳細的分析和解答,不僅給出了題目的答案,還強調如何利用C語言的基本原理和基本方法分析、解決問題的過程。在編程練習中,首先按照程序開發的基本流程,通過分析題目要求的基本功能,設計相關的程序流程和基本演算法,隨後實現代碼。其目的是通過對題目的分析和實現,不斷鍛煉和培養讀者分析、設計程序的基本能力。本書提供了所有編程練習的完整代碼,並且在代碼中添加了詳細的注釋幫助讀者理解程序意圖。

程序設計中的任何一個問題都會有很多種解決方案,本書提供的只是其中一種基本的解決方案。本書盡量提供一種簡單的、易於讀者理解的解決方案,以盡量清晰、可讀的形式呈現給讀者,並不能保證其在演算法上最優,代碼實現上也遠不夠簡潔、優美。讀者可以在本書提供的解決方案和代碼的基礎上,不斷優化和改進,實現更優的演算法。

選擇C語言的理由
在過去40多年裡,C語言已成為最重要、最流行的編程語言之一。它的成長歸功於使用過的人都對它很滿意。過去20多年裡,雖然許多人都從C語言轉而使用其他編程語言(如,C++、Objective C、Java等),但是C語言仍憑借自身實力在眾多語言中脫穎而出。在學習C語言的過程中,會發現它的許多優點(見圖1.1)。下面,我們來看看其中較為突出的幾點。

圖1.1C語言的優點

1.2.1設計特性
C是一門流行的語言,融合了計算機科學理論和實踐的控制特性。C語言的設計理念讓用戶能輕松地完成自頂向下的規劃、結構化編程和模塊化設計。因此,用C語言編寫的程序更易懂、更可靠。

1.2.2高效性
C是高效的語言。在設計上,它充分利用了當前計算機的優勢,因此C程序相對更緊湊,而且運行速度很快。實際上,C語言具有通常是匯編語言才具有的微調控制能力(匯編語言是為特殊的中央處理單元設計的一系列內部指令,使用助記符來表示;不同的CPU系列使用不同的匯編語言),可以根據具體情況微調程序以獲得最大運行速度或最有效地使用內存。

1.2.3可移植性
C是可移植的語言。這意味著,在一種系統中編寫的C程序稍作修改或不修改就能在其他系統運行。如需修改,也只需簡單更改主程序頭文件中的少許項即可。大部分語言都希望成為可移植語言,但是,如果經歷過把IBM PC BASIC程序轉換成蘋果BASIC(兩者是近親),或者在UNIX系統中運行IBM大型機的FORTRAN程序的人都知道,移植是最麻煩的事。C語言是可移植方面的佼佼者。從8位微處理器到克雷超級計算機,許多計算機體系結構都可以使用C編譯器(C編譯器是把C代碼轉換成計算機內部指令的程序)。但是要注意,程序中針對特殊硬體設備(如,顯示監視器)或操作系統特殊功能(如,Windows 8或OS X)編寫的部分,通常是不可移植的。

由於C語言與UNIX關系密切,UNIX系統通常會將C編譯器作為軟體包的一部分。安裝Linux時,通常也會安裝C編譯器。供個人計算機使用的C編譯器很多,運行各種版本的Windows和Macintosh(即,Mac)的PC都能找到合適的C編譯器。因此,無論是使用家庭計算機、專業工作站,還是大型機,都能找到針對特定系統的C編譯器。

1.2.4強大而靈活
C語言功能強大且靈活(計算機領域經常使用這兩個詞)。例如,功能強大且靈活的UNIX操作系統,大部分是用C語言寫的;其他語言(如,FORTRAN、Perl、Python、Pascal、LISP、Logo、BASIC)的許多編譯器和解釋器都是用C語言編寫的。因此,在UNIX機上使用FORTRAN時,最終是由C程序生成最後的可執行程序。C程序可以用於解決物理學和工程學的問題,甚至可用於製作電影的動畫特效。

1.2.5面向程序員
C語言是為了滿足程序員的需求而設計的,程序員利用C可以訪問硬體、操控內存中的位。C語言有豐富的運算符,能讓程序員簡潔地表達自己的意圖。C語言不像Pascal甚至是C++那麼嚴格。這樣的靈活性既是優點也是缺點。優點是,許多任務用C來處理都非常簡潔(如,轉換數據的格式);缺點是,你可能會犯一些莫名其妙的錯誤,這些錯誤不可能在其他語言中出現。C語言在提供更多自由的同時,也讓使用者承擔了更大的責任。

另外,大多數C實現都有一個大型的庫,包含眾多有用的C函數。這些函數用於處理程序員經常需要解決的問題。

1.2.6缺點
人無完人,金無足赤。C語言也有一些缺點。例如,前面提到的,要享受用C語言自由編程的樂趣,就必須承擔更多的責任。特別是,C語言使用指針,而涉及指針的編程錯誤往往難以察覺。有句話說的好:想擁有自由就必須時刻保持警惕。

C語言緊湊簡潔,結合了大量的運算符。正因如此,我們也可以編寫出讓人極其費解的代碼。雖然沒必要強迫自己編寫晦澀的代碼,但是有興趣寫寫也無妨。試問,除C語言外還為哪種語言舉辦過年度混亂代碼大賽[1]?

瑕不掩瑜,C語言的優點比缺點多很多。我們不想在這里多費筆墨,還是來聊聊C語言的其他話題。

C Primer Plus 第6版 中文版習題解答
史蒂芬·普拉達(Stephen Prata),曹良亮 編

《C Primer Plus 第6版 中文版習題解答》【摘要 書評 試讀】- 京東圖書
本書共分為17章,每一章的主題與《C Primer Plus(第6版)中文版》完全一致。每章開篇採用思維導圖的方式列出本章的知識點,然後對每章的重點內容進行了梳理總結,最後則對每章中的復習題和編程練習進行了分析並給出了解答思路,確保讀者在徹底夯實理論知識的同時,進一步提升實際編程能力。
作為《C Primer Plus(第6版)中文版》的配套參考書,本書特別適合需要系統學習C語言的初學者閱讀,也適合打算鞏固C語言知識或者希望進一步提高編程技術的程序員閱讀。

簡要目錄
第1章 初識C語言

第2章 C語言概述

第3章 數據和C

第4章 字元串與格式化輸入/輸出

第5章 運算符、表達式和語句

第6章 C控制語句——循環

第7章 C控制語句—分支和跳轉

第8章 字元輸入/輸出和輸入驗證

第9章 函數

第10章 數組和指針

第11章 字元串和字元串函數

第12章 存儲類別、鏈接和內存管理

第13章 文件輸入/輸出

第14章 結構和其他數據形式

第15章 位操作

第16章 C預處理器和C庫

第17章 高級數據表示

Ⅶ 後綴為bin的文件是一種怎樣的文件,exe文件又是一種怎樣的文件可執行文件是一種怎樣的文件

BIN文件
二進制文件,其用途依系統或應用而定 。
一種文件格式binary的縮寫。
一個後綴名為".bin"的文件,只是表明它是binary格式。比如虛擬光碟機文件常用.bin作為後綴,但並不意味著所有.bin文件都是虛擬光碟機文件。
Linux下安裝BIN文件的方法:
1.先賦予許可權: chmod 777 *.bin
2.開始安裝: ./*.bin (注意 我在前面加上了兩個字元)
好了 剩下的就和Windows一樣了
另外在軟體的安裝後文件夾中大部分軟體或伺服器軟體都有個 bin 文件夾
因為 bin (binary)其中文意思既是:二進制
裡面存放的一般是可執行的二進制文件,所以我們通常使用較大型的軟體時都會發現有這個名稱的文件夾,

exe文件
1. EXE File 可執行程序 一種可在操作系統存儲空間中浮動定位的可執行程序。MS-DOS和MS-WINDOWS下,此類文件擴展名為.exe
2.WINDOWS操作系統中的二進制可執行文件,可執行文件分兩種一種是後輟名為.COM另一種就是.EXE 了
.COM一般用於DOS,在WINDOWS系統中的執行文件一般都是.EXE文件
在 MS-DOS 中,用以標識可執行文件的文件擴展
名。用戶在提示行中輸入不帶 .exe 擴展名的文件名後按 Enter 鍵就能運行可
執行程序

可執行文件 可執行文件 (executable file)
可移植可執行 (PE) 文件格式的文件,它可以載入到內存中,並由操作系統載入程序執行。它可以是 .exe 或 .dll 文件。COM、BAT也都是可執行文件!
如記事本程序 notepad.exe ,這類程序通常用來處理或者輔助處理其它文件。比如:myfile.txt雙擊打開由notepad.exe記事本程序來進行編輯。
我們做一件事,可以把順序以及具體做什麼事寫在mybat.bat文件中,那運行它就可以把要做的事件執行了。
可以理解為:這類文件可以「單獨運行」,或者理解為「有生命」的文件!
如果把它用日常通俗的一點的例子來形容:衣服,鞋子等都是普通的文件,那人就是可執行文件! 人可以做衣服穿衣服,衣服卻要依靠人來做。布也要由人一加工成衣服!
2.1 Win32可執行文件的開發過程
在DOS下,生成一個可執行文件的步驟比較簡單,用編譯器將源程序編譯為obj文件,再用鏈接器將obj文件鏈接成exe文件,不同語言的開發過程都差不多。
DOS可執行文件中的內容是由源程序中所寫的代碼和數據定義轉換而來的。惟一的例外是帶覆蓋部分(Overlay)的exe文件,它在基本的exe文件後附加了一些自定義的數據,其中可執行部分的長度由文件頭偏移0002h和0004h中的長度給出,該長度之後到文件實際長度這部分就是Overlay部分。這樣,即使一個帶覆蓋的exe文件大小遠遠超過640 KB,在DOS下也能運行,因為操作系統只裝入真正的可執行部分,然後由程序自己去讀取覆蓋部分的數據。一些打包軟體生成的奇大無比的自解壓包就採用這種結構,可執行部分是解包代碼,覆蓋部分是被壓縮的數據。DOS對可執行文件覆蓋部分的數據格式並沒有規定,它是程序員按自己的方式組織的。如果程序員願意,也可以把這些數據單獨放在另外一個文件中。
Win32可執行文件叫做PE文件。PE文件的基本結構和DOS可執行文件有很大的不同。它把程序中的不同部分分成各種節區(Section),其中可以有一個節區是放置各種資源的,如菜單、對話框、點陣圖、游標、圖標和聲音等(詳見第17章)。雖然可以把資源部分理解成類似DOS可執行文件中的「覆蓋」部分,但由於資源是Win32可執行文件的標准組成部分,而且是非常重要的組成部分,它的格式是固定的。所以與DOS軟體的開發過程相比,Win32軟體的開發中多了一個創建資源文件的步驟。
以使用MASM32軟體包為例,在用Win32匯編開發軟體的流程中,程序員要做的工作分創建代碼和創建資源兩部分,如圖2.1所示。
代碼部分的開發工作與DOS下寫代碼的步驟是一樣的。程序員用文本編輯器書寫匯編源代碼(*.asm文件)。與C源代碼類似,asm文件中也可以用include語句包含數據定義和函數聲明的頭文件,Win32匯編的頭文件一般用inc作擴展名。大部分的include文件是編譯器軟體包附帶提供的,如MASM32軟體包附帶的Windows.inc文件定義了Win32 API中很多參數和數據結構,其他的inc文件則是不同DLL中的Win32 API函數聲明。最後,asm文件經匯編編譯器編譯成以obj為擴展名的目標文件。
資源文件中可以包括對話框、快捷鍵、菜單、字元串、版本信息和一些圖形資源等內容。資源文件的源文件是一種類似「腳本」的文本文件,它的擴展名一般為rc,其中用不同的語法定義了不同類型的資源,資源腳本文件最後由資源編譯器編譯成資源文件*.res。資源腳本文件同樣用到很多預定義值,所以軟體包中一般也包括資源頭文件供源文件來導入。MASM32軟體包中的資源頭文件是Resource.h。
在資源文件中,不同類型資源的記錄方式是不同的。對話框資源只記錄定義值,如對話框的大小、位置等,並非真正存儲對話框最後顯示在屏幕上的像素。這些大小、位置等信息最後由Windows解釋後才在屏幕上被繪畫成像素;菜單、字元串、快捷鍵等由文本構成;圖形資源則真正由像素組成,它們在資源腳本中被定義為一個文件名,由資源編譯器從磁碟文件導入。Windows在資源中支持的圖形文件有bmp點陣圖文件、cur游標文件和ico圖標文件,這些圖形文件可以用其他圖形處理軟體生成。另外,wav聲音文件也可以用在資源中。創建資源的方法在第5章中有詳細的描述。
圖2.1 Win32可執行文件的開發過程
編譯好目標文件*.obj和資源文件*.res後,最後一步是用鏈接器將它們鏈接成可執行文件。鏈接的時候要用到函數庫。在DOS環境下編程的時候,使用的函數庫是靜態庫。靜態庫是一些已經編譯好的代碼模塊。當用戶在源程序中用到某個函數的時候,鏈接器從庫文件中將這個函數的二進制代碼取出,與obj文件合在一起生成最終的exe文件。但在Win32環境下,大部分的公用函數封裝在DLL文件中,以動態鏈接的方式供用戶程序調用。這時候庫文件中只需要包含函數在DLL中的位置信息,不再需要有二進制代碼部分。所以鏈接的時候也只是把庫文件中的位置信息取出放入最後的可執行文件中。Win32中這種只包含位置信息的庫文件稱為導入庫。動態鏈接的概念在第11章中有詳細的描述。
由於Win32匯編編程中使用不同匯編編譯器的時候,匯編源程序的格式和資源腳本文件的格式可能稍微有所不同。各種頭文件、庫文件的文件名也有所不同。所以在開始編程之前,必須先選定一種合適的編譯器。
2.2 編譯器和鏈接器
選擇匯編編譯器是開始工作的第一步。不同的編譯器用法各不相同,選擇合適的編譯器可以為開發工作節省很多的時間。這里簡單介紹幾種不同系列的編譯器。常用的匯編編譯器有Microsoft公司的MASM系列和Borland公司的TASM系列,還有一些小公司推出的或者免費的匯編軟體包。

Ⅷ 急!請問虛擬Ubuntu下怎麼下載安裝g95編譯器

您好,apt-get install build-essential 自動安裝gcc和g++以及其他的開發組件。

ubuntu 默認的 更新軟體的源 可能會很慢,你可以上網搜索一下 中國的ubuntu 源。 配置文件時 /etc/source.list
配置好更新源後安裝軟體:$sudo apt-get install gcc查詢:$apt-cache search gcc
會出現源裡面所有和 gcc 有關的軟體包名稱如:
cpp-3.4 - GNU C 預處理器
cpp-4.2 - GNU C 預處理器
gcc-3.4 - GNU C 編譯器
gcc-3.4-base - GNU 編譯器套裝 (基本包)
gcc-4.2 - GNU C 編譯器
gcc-4.2-base - GNU 編譯器套裝 (基本包)
gcc-4.2-multilib - The GNU C compiler (multilib files)
gdc-4.2 - The D compiler
cpp-4.1 - GNU C 預處理器
cpp-4.3 - GNU C 預處理器
gcc-4.1 - GNU C 編譯器
gcc-4.1-base - GNU 編譯器套裝 (基本包)
gcc-4.1-multilib - The GNU C compiler
gcc-4.3 - GNU C 編譯器
gcc-4.3-base - GNU 編譯器套裝 (基本包)
$apt-cache show gcc-4.3
如果系統已經默認安裝了 gcc-4.4.1 版本,你卻想用 gcc-4.3 版本 你可以2個同時安裝。或者刪除掉之前的。
刪除:$sudo apt-get remove --purge gcc-4.4.1 (--purge 參數是徹底刪除包括配置文件)
如果2個版本的 gcc 都存在。 你需要更改默認命令 gcc 的鏈接:刪除掉sudo rm /usr/bin/gcc
創建你需要的gcc版本鏈接
這樣系統默認gcc 版本就是 gcc-4.3了。

Ⅸ 我想自學C++編程,請問需要給電腦安裝什麼軟體

1、gcc

GCC(GNU Compiler Collection,GNU編譯器套件)是由GNU開發的編程語言譯器。GNU編譯器套件包括C、C++、 Objective-C、 Fortran、Java、Ada和Go語言前端,也包括了這些語言的庫(如libstdc++,libgcj等。)

GCC的初衷是為GNU操作系統專門編寫的一款編譯器。GNU系統是徹底的自由軟體。此處,「自由」的含義是它尊重用戶的自由。

2、llvm+Clang

LLVM是構架編譯器(compiler)的框架系統,以C++編寫而成,用於優化以任意程序語言編寫的程序的編譯時間(compile-time)、鏈接時間(link-time)、運行時間(run-time)以及空閑時間(idle-time),對開發者保持開放,並兼容已有腳本。

LLVM計劃啟動於2000年,最初由University of Illinois at Urbana-Champaign的Chris Lattner主持開展。2006年Chris Lattner加盟Apple Inc.並致力於LLVM在Apple開發體系中的應用。Apple也是LLVM計劃的主要資助者。

3、Watcom C/C++

Watcom C/C++ 編譯器、Watch Fortran 編譯器 經已在不其先前所屬公司Sybase售賣, 而被 SciTech 軟體公司 作為 Open Watcom 開源包 發行。類似於其他的 開源編譯器(例如 [GCC])項目,Watcom C代碼小而便攜, 其編譯器後端(代碼生成器)的目標碼可變。

該編譯器可在DOS、OS/2、Windows等操作系統上運行,並生成各種可運行的(不必是該操作系統的)代碼。該編譯器支持Novell NetWare的 NLM 目標碼。目前正進行 為 Linux、modern BSD (例如FreeBSD) 操作系統 重定目標碼,以便在 x86、PowerPC 及其它處理器上運行。

Open Watcom C/C++ 的1.4版於2005年12月發行,採用 Linux x86 為實驗目標, 支持NT、OS/2等host平台曾有某被棄置的QNX版本,但其編譯所須的庫並未開源發行。當前最近的穩定版是1.9版,在2010年6月發行。

4、Digital Mars

DigitalMars是一款高性能的編譯器,功能包含,快速編譯/鏈接時、強大的優化技術、Contract設計、完整的資源庫、瀏覽HTML文檔,反匯編、庫、資源編譯器等。命令行及GUI版本、教程、代碼示例、在線更新、標准模板庫等等。

5、MSVC系列

與Visual Studio集成發布,微軟自己的編譯器,VS是一個基本完整的開發工具集,它包括了整個軟體生命周期中所需要的大部分工具,如UML工具、代碼管控工具、集成開發環境(IDE)等等。

所寫的目標代碼適用於微軟支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft Silverlight 及Windows Phone。

閱讀全文

與編譯器軟體包相關的資料

熱點內容
php正則class 瀏覽:734
怎麼在文件夾查找一堆文件 瀏覽:541
核酸報告用什麼app 瀏覽:789
u8怎麼ping通伺服器地址 瀏覽:992
安卓什麼手機支持背部輕敲調出健康碼 瀏覽:868
程序員抽獎排行 瀏覽:742
扭蛋人生安卓如何下載 瀏覽:722
什麼app文檔資源多好 瀏覽:922
黑馬程序員APP 瀏覽:146
掌閱小說是哪個app 瀏覽:45
如何把u盤的軟體安裝到安卓機 瀏覽:998
php跑在什麼伺服器 瀏覽:122
編譯器怎麼跳轉到下一行 瀏覽:450
嵌入式py編譯器 瀏覽:324
rplayer下載安卓哪個文件夾 瀏覽:298
安卓手機里的電子狗怎麼用 瀏覽:748
pythonspyder入門 瀏覽:764
趣質貓app是什麼 瀏覽:61
皮帶壓縮機經常吸不上 瀏覽:207
西部隨行版怎樣加密 瀏覽:997