1. C語言編輯編譯連接的作用是什麼
1
編輯:
就是寫代碼或修改代碼,製作C語言的源文件和頭文件。
2
編譯:是由編譯程序將C語言源文件轉換成二進制中間文件,在這一步中,會對文件內部的語法語義做處理,如果編譯出錯,無法進行後續動作。
3
鏈接:將2中生成的中間文件組合成二進制可執行文件,這一步會對文件之間的關聯做檢查,如果出錯,將不會生成可執行文件,也就無法執行。
4
執行:
運行可執行文件,這一步是編寫代碼的最終目的。
以上四步每步均依賴於上一步,這是一個逐步由高級語言(C語言)到機器語言(可執行文件)轉化的過程。廣義的編譯,包含編譯鏈接兩個部分。
2. 程序的作用是什麼
對於企業來說,小程序的主要作用主要有以下幾個:
拉新客
對於企業而言,客戶永遠都是第一位的,只有不斷的獲取客戶,才能為自己帶來收入。而小程序就可以做好這一點,因為小程序的獲客能力非常強大。以「附近的小程序」為例,企業可以利用小程序的這個功能,直接向周邊5KM范圍內的微信用戶展示自己,然後再配合一些營銷手段,往往能夠吸引一批客戶進入小程序,並進行消費。
留老客
對於企業而言,不僅要獲取新客戶,而且還要在客戶消費之後,把客戶留下來。而小程序就可以做好這一點,因為的會員管理能力非常強大。對於企業而言,可以藉助小程序的這項能力,對會員進行引導升級,最終讓客戶留下來,並觸發客戶二次消費行為。例如,企業可也設置客戶在首次消費後成為會員,然後在總消費金額達到一定的數量之後可進行升級,升級後的會員可享受折扣優惠、積分兌換、反饋有利等活動。而這些營銷手段往往能夠有效地刺激客戶進行二次消費。
裂變客戶
對於企業而言,客戶與客戶之間的口口相傳,往往能夠實現口碑傳播,從而裂變出一批新客戶。而小程序就可以做好這一點,因為小程序是基於微信運行的,因此可以轉發到微信群、轉發給微信好友。對於企業而言,可以藉助小程序的這項能力,再配合一些諸如砍價、分享領紅包等營銷活動來觸發用戶的轉發、分享行為,從而實現裂變客戶裂變。
3. 什麼叫做程序連接
寫的代碼需要使用其他人開發的DLL提供的函數,那麼我們的程序需要將這個DLL先載入內存,之後才能使用它(DLL),根據DLL被加入到內存的時機,分為動態連接和靜態連接。
動態連接:
只在使用到DLL的時候才將它載入內存,如果程序在運行過程中,從來沒有執行到使用DLL的分支,那麼這個DLL是不會被載入內存的。
靜態連接:
在程序啟動後立即載入這個DLL,而不是等需要時再進行載入。
在EXE編譯時,如果做成動態連接,那麼DLL是不會被編譯到EXE文件中,所以EXE文件會比較小,但是使用EXE時,必須還同時擁有對應的DLL文件;如果做成靜態連接,那麼這個DLL是要被編譯進EXE中的,這樣EXE文件的體積就會變大。
4. 電腦上有個寬頻連接有什麼作用
這是在用戶如果不使用路由器進行撥號時,通過網卡埠來建立的撥號連接程序,通過此寬頻連接將運營商分配的賬號密碼來發送給運營商,獲得認證通過後才會獲得上網許可權。
5. 解釋一下連接器在程序設計環境中的作用(基礎答案即可)
鏈接器嘛,將庫文件和程序編譯生成的目標文件 鏈接成一個 可執行文件 excuted file. 因為要使一個程序運行是需要很多操作的,比如一個cout,系統後台還做了很多操作,但是是冗餘繁雜的操作,於是有了動態運行時的說法runtime,鏈接器的作用就是將你的目標文件和必要的庫文件合成一個能夠在機器上執行的二進制可執行文件。
6. 驅動程序的作用是什麼
驅動程序是硬體廠商根據操作系統編寫的配置文件,是添加到操作系統中的一小塊代碼,其中包含有關硬體設備的信息。當安裝新硬體時,驅動程序是一項不可或缺的元件。可以說沒有驅動程序,計算機中的硬體就無法工作。有了驅動程序中的這些信息,計算機就可以與設備進行通信。
操作系統不同,硬體的驅動程序也不同,各個硬體廠商為了保證硬體的兼容性及增強硬體的功能會不斷地升級驅動程序。如:Nvidia 顯卡晶元公司平均每個月會升級顯卡驅動程序2-3次。凡是安裝一個原本不屬於你電腦中的硬體設備時,系統就會要求安裝驅動程序,將新的硬體與電腦系統連接起來。驅動程序扮演溝通的角色,把硬體的功能告訴電腦系統,並且也將系統的指令傳達給硬體,讓它開始工作。
當用戶在安裝新硬體時總會被要求放入「這種硬體的驅動程序」,很多人這時就開始頭痛。不是找不到驅動程序的碟片,就是找不到文件的位置,或是根本不知道什麼是驅動程序。比如安裝列印機這類的硬體外設,並不是把連接線接上就算完成,如果這時候開始使用,系統會告訴你,找不到驅動程序。怎麼辦呢?參照說明書也未必就能順利安裝。其實在安裝方面還是有一定的慣例與通則可尋的,這些都可以幫你做到無障礙安裝。
在Windows系統中,需要安裝主板、光碟機、顯卡、音效卡等一套完整的驅動程序。如果需要外接別的硬體設備,則還要安裝相應的驅動程序,如:上網或接入區域網要安裝網卡、Modem甚至ISDN、ADSL的驅動程序;外接列印機要安裝列印機驅動程序;外接游戲要安裝手柄、方向盤、搖桿、跳舞毯等的驅動程序。
7. 程序編譯連接的過程中各幹了什麼事情
呵呵,樓主應該看看《編譯原理》。
我的空間里的一篇日誌或許對樓主也有幫助。
鏈接是把程序代碼與所需要的其他目標代碼,或函數庫,Run-time 庫連接在一起。
比如 printf,程序代碼里沒有它內部實現的代碼,只是說要調用這個功能。
連接程序會把它內部實現代碼從 Run-time 庫里提出來,放在一起,這樣程序才可以單獨執行。
對於使用了第三方函數庫的代碼來說,鏈接程序同樣會在第三方函數庫中提取相關內容,加在一個可執行文件(Exe 或其他)中。
另外,一些比較大的程序,可能會分若干個文件,它們互相調用彼此的函數。可以獨立編譯成若干個目標代碼。如果這些函數有的缺失了,編譯也可以通過。
這樣做的好處是,對於大型程序,分成若幹部分分別編譯,加快了編譯過程。同時,減少每個源碼文件的行數。
比如,寫一個計算程序。後台計算有一個文件,可以編譯成功。前台界面有一個文件,也可以編譯成功。它們分辨編譯成兩個不同的目標代碼文件(obj 或其他)
然後經過鏈接過程
這個例子的話,可以認為有這個式子:
前台.obj + 後台.obj + .... + 第三方函數庫 + Run-time 庫 = Exe
鏈接的時候,才會檢查這種相互依賴是否完整。
比如前台部分是否使用了有些函數,而這些函數在後台處理模塊中並不存在?或者忘記寫這個函數了?
或者是否調用了一個後台函數,而這個函數的參數與調用的時候根本不一致?
發生這些情況時,才會給出鏈接警告和錯誤。
8. C語言中編譯程序和連接程序的作用和原理是什麼關鍵是原理,越詳細越好,謝了~
編譯主要工作是檢查一下你的源代碼,看看它是否能夠讀懂,如果可以完全明白,就把你的源代碼變成一種計算機更方便處理的文件,通常我們稱為目標文件,常用後綴.obj 或.o,編譯的工作就結束了。
鏈接程序的拿到目標文件後,進行裝配工作。因為你設計的程序中,要不是調用自己設計的功能,要不調用系統提供的功能。鏈接就是把根據你程序說明的調用關系,找到相應的程序,把它們拼接起來,形成可以被操作系統執行的文件,也就是可執行文件。
9. C語言編輯編譯連接的作用是什麼
C語言編輯的作用是檢查語法,製作C語言的源文件和頭文件,生成匯編代碼。
C語言編輯的作用是將匯編代碼轉換機器碼。在這一步中,會對文件內部的語法語義做處理,如果編譯出錯,無法進行後續動作。
C語言鏈接的作用是將機器碼鏈接到一起生成可執行程序。這一步會對文件之間的關聯做檢查,如果出錯,將不會生成可執行程序,也就無法執行。
(9)連接程序的作用是什麼擴展閱讀:
C語言鏈接時,將源文件中用到的庫函數與匯編生成的目標文件.o合並生成可執行文件。該可執行文件會變大很多,一般是調用自己電腦上的靜態庫。
靜態庫和應用程序編譯在一起,在任何情況下都能運行,而動態庫是動態鏈接,文件生效時才會調用。很多代碼編譯通過,鏈接失敗就極有可能在靜態庫和動態庫這出現了紕漏,要視情況解決。缺少相關所需文件,就會鏈接報錯。這個時候就要檢查下本地的鏈接庫是不是缺損。
10. (1)什麼是源程序(對匯編來說)、匯編程序(編譯程序)、連接程序、目標程序、執行程序
(1)略
(2)略
(3)
數據是被定義在數據段的,函數是被定義在代碼段的
變數通過內存定址方式來獲取,比如mov ax,[1234]
函數是通過call指令來調用的,並通過ret指令返回
(4)
C的輸入輸出一般直接用函數解決
而匯編既可以通過調用系統的中斷,也可以通過操作硬體的方式來實現
比如鍵盤輸入可以預先設置int 9中斷,在其中直接讀取鍵盤的埠
顯示器輸出可以通過直接寫現存的方式實現,或者直接控制顯卡
公共資源的共享其實就是把那些數據的內存地址讓大家都知道唄
(5)
先把C的源碼編譯了,然後用反匯編軟體(DEBUG或OllyDBG)反匯編
不過這種方法有點不是讓人很愉快,因為高級語言生成的匯編指令非常多,常常會會讓你找不到北