中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

銷項稅和進項導入是在國稅網(wǎng)站做嗎制作網(wǎng)站費用

銷項稅和進項導入是在國稅網(wǎng)站做嗎,制作網(wǎng)站費用,個人網(wǎng)站例子,制作制作網(wǎng)站開發(fā)目錄 一,gcc簡介 二,C語言源文件的編譯過程 1.預處理 2.編譯 3.匯編 4.鏈接 5.動靜態(tài)庫 一,gcc簡介 相信有不少的小白和我一樣在學習Linux之前只聽說過visual studio。其實這個gcc這個編譯器實現(xiàn)的功能便是和visual studio一樣的功能&…

目錄

一,gcc簡介

二,C語言源文件的編譯過程

1.預處理

2.編譯

3.匯編

?4.鏈接

5.動靜態(tài)庫?


一,gcc簡介

相信有不少的小白和我一樣在學習Linux之前只聽說過visual? studio。其實這個gcc這個編譯器實現(xiàn)的功能便是和visual studio一樣的功能,但是gcc只能夠支持c語言。如果要支持C++的話便要用到g++。

二,C語言源文件的編譯過程

1.預處理

在C源文件運行時做的第一步便是預處理,在預處理的過程中要做的便是:

1.頭文件展開。

2.去掉注釋。

3.條件編譯。

4.宏替換。

這上面的四步便是預處理時要做的四步。那我們在Linux中要如何的去觀察這一個過程呢?這個時候便要使用到一個Linux的指令了。這個指令便是——gcc -E:代表的意思便是開始編譯C源文件等到預處理結(jié)束以后便停止翻譯??梢詠矶未a來看看效果。如以下代碼:

#include<stdio.h> //頭文件2 #define M 123 //宏定義3 #define v1 1  4 #define v2 0  5 #define v3 0  6 int main()  7 {  8   printf("hello Linux:%d \n",M);  9   printf("hello C++ :%d \n",M);  10   11 //  printf("hello Linux:%d \n",M);//注釋  12 //  printf("hello C++ :%d \n",M);  13 //    14 //  printf("hello Linux:%d \n",M);  15 //  printf("hello C++ :%d \n",M);  16   17 #if(v1) //條件編譯 18   printf("普通版本\n");  19 #elif(v2)  20     printf("會員版本\n");  21 #else  22     printf("超級會員版本\n");  23 #endif  24                                                                                                                                                                                        25     return 0 ;    26 }  

當我執(zhí)行如下指令時:gcc -E texe2.c -o code.i。當我們輸入這條指令時便會得到一個code.i文件。當用vim進到這個文件里面是便會看到頭文件被展開了,宏被替換掉了,注釋被刪掉了,預處理指令只有條件成立的那一部分被留下來。

2.編譯

這個編譯便是代碼翻譯的第二步,在這個過程中我們要做的便是將英文代碼變成匯編代碼。在Linux 系統(tǒng)下輸入gcc -S ,這條指令便可以生成一個經(jīng)過編譯后的匯編文件。比如對上述的code.i文件進行編譯-gcc -S code.i -o code.s,便會得到這樣一個匯編文件:

這樣子便將c源文件給弄成了匯編文件了。

3.匯編

在這個過程中要做到的便是將匯編文件翻譯為重定向的二進制文件。在Linux系統(tǒng)下輸入指令:gcc -c便可。如對上述的code.s文件進行翻譯便可以輸入指令-code -c code.s -o code.o。在執(zhí)行完這個指令以后便會形成一個code.o文件。用vim打開該文件便會是這樣一個光景:

因為vim是文本編輯器,但是code.o文件卻是二進制文件所以就會出現(xiàn)這樣的錯誤。要打開二進制文件要調(diào)用另一個指令——od。打開后便是這樣的:

我們自然是看不懂的,但是計算機就能看懂。在進行到這一步以后一個二進制文件也就是目標文件便生成了。但是此時我們還不能運行。

?4.鏈接

生成目標文件以后,如果要運行的話便要經(jīng)過鏈接這一步。經(jīng)過了鏈接這一步以后代碼才可以變成一個可執(zhí)行文件。在Linux環(huán)境下就是輸入指令gcc 。對于上述的code.o文件也就是輸入指令 ——gcc code.o -o mybin:

5.動靜態(tài)庫?

1.庫的分類

其實可執(zhí)行文件 = 頭文件+代碼+庫。在這里頭文件相當于一個功能函數(shù)聲明的集合,代碼就是我們調(diào)用功能函數(shù)的指令,庫便是各種功能函數(shù)的定義。在這里的庫便分為兩種庫,一種叫做動態(tài)庫,一種叫做靜態(tài)庫。動態(tài)庫的后綴是so,靜態(tài)庫的后綴是.a。在Linux環(huán)境下輸入指令ls /usr/lib64/libc.so.6便可以查看這個動態(tài)庫。

得到這個藍色的路徑便是動態(tài)庫的路徑。lib表示庫,c表示動態(tài)庫的名字,so表示是動態(tài)庫,6表示版本。

2.鏈接方式

在Linux中有兩種鏈接方式。一種是動態(tài)連接方式,一種是靜態(tài)鏈接方式。這兩種不同的鏈接方式各自有各自的優(yōu)點。動態(tài)鏈接形成的可執(zhí)行程序比較小,靜態(tài)鏈接形成的可執(zhí)行序比較大。這兩種差別是因為這兩種鏈接調(diào)用庫中功能函數(shù)的方式的不同導致的。

1.動態(tài)鏈接是通過函數(shù)的地址來調(diào)用的,靜態(tài)鏈接是通過將函數(shù)拷貝到可執(zhí)行文件中來調(diào)用的。

2.動態(tài)庫的函數(shù)調(diào)用會受到動態(tài)庫的存在與否影響,但是靜態(tài)庫則不受這個影響。

?

http://www.risenshineclean.com/news/41808.html

相關(guān)文章:

  • 自己的電腦做服務(wù)器建立網(wǎng)站的方法百度競價搜索
  • 做能支付的網(wǎng)站貴嗎國內(nèi)免費域名
  • 小說網(wǎng)站建設(shè)的支柱app推廣活動策劃方案
  • 做門的網(wǎng)站1688的網(wǎng)站特色
  • python 做的網(wǎng)站有哪些如何在網(wǎng)絡(luò)上推廣產(chǎn)品
  • 顏色搭配的網(wǎng)站班級優(yōu)化大師官網(wǎng)下載
  • 什么網(wǎng)站可以做醫(yī)療設(shè)備的磁力鏈
  • 做網(wǎng)站 要域名 主機 還有啥東莞網(wǎng)站seo公司
  • 建設(shè)銀行網(wǎng)站機構(gòu)長沙seo推廣外包
  • 金華網(wǎng)站建設(shè)外包百度定位店鋪位置怎么設(shè)置
  • 臺式機做網(wǎng)站服務(wù)器百度的首頁
  • 東莞市住房建設(shè)局網(wǎng)站成都百度推廣開戶公司
  • 鄭州網(wǎng)站建設(shè)漢獅百度下載安裝到桌面
  • 天津河東區(qū)網(wǎng)站建設(shè)持續(xù)優(yōu)化完善防控措施
  • 今日河南新聞聯(lián)播上海整站seo
  • 專門做簡歷的網(wǎng)站有哪些長沙關(guān)鍵詞優(yōu)化方法
  • 檢察院加強網(wǎng)站建設(shè)長沙優(yōu)化網(wǎng)站推廣
  • 在線做heatmap的網(wǎng)站谷歌推廣怎么操作
  • 深夜免費軟件app下載seo營銷的概念
  • 一般網(wǎng)站用什么軟件做怎么注冊一個自己的網(wǎng)站
  • 軟件公司網(wǎng)站系統(tǒng)集成建設(shè)營銷推廣的特點
  • wordpress寄出郵箱地址小學生班級優(yōu)化大師
  • 外貿(mào)平臺免費網(wǎng)站網(wǎng)站優(yōu)化推廣平臺
  • 學做網(wǎng)站設(shè)計需要多少錢網(wǎng)頁制作教程步驟
  • 網(wǎng)站建設(shè)整個過程個人介紹網(wǎng)頁制作
  • 做外貿(mào)在哪個網(wǎng)站北京百度推廣電話號碼
  • 上海阿里巴巴做網(wǎng)站免費的短視頻app大全下載
  • 商業(yè)網(wǎng)站改版需要多久愛站網(wǎng)綜合查詢
  • 無錫工廠網(wǎng)站建設(shè)南寧百度關(guān)鍵詞推廣
  • 松江營銷型網(wǎng)站建設(shè)b站是哪個網(wǎng)站