tft每日頭條

 > 科技

 > 程序員編程開發思路

程序員編程開發思路

科技 更新时间:2024-07-02 14:25:26

編程是一項複雜性的工作,解決複雜性的思想就是分治,分層抽象。

編程是一個系統性的工程,其所依托的平台也是如此。

一、程序開發平台

程序開發平台也就是集成開發環境(IDE,Integrated Development Environment ),是用于提供程序開發環境的應用程序,一般包括代碼編輯器、編譯器、調試器和圖形用戶界面等工具。集成了代碼編寫功能、分析功能、編譯功能、調試功能等一體化的開發軟件服務套件。所有具備這一特性的軟件或者軟件套(組)都可以叫集成開發環境。如Visual Studio、Eclipse、JBuilder、PyCharm等。

開發平台除了提供編輯器、編譯器、鍊接器、調試器等主要工具以外,通常還提供圖形界面環境,可以集成一些應用程序開發框架。這樣寫代碼便可以利用現成的庫(函數庫、類庫),還可以通過框架去繼承一些已有的類,通過重載(如C 重載虛函數)去擴充一些功能。

程序員編程開發思路(編程之開發平台與運行平台)1

标準C和C 定義了9個不同的翻譯階段。當然,實現沒有必要在代碼中分成9個獨立的階段,但是翻譯的結果必須好像已經這樣做了一樣,這9個階段是:

1 物理源字符被映射到源字符集中。其中包括三字符組合(trigraph)替換以及諸如把回車/換行映射到一個單獨的MSDOS環境下的換行字符那樣的東西。在C 程序中,任何不在基礎源字符集中的字符都被它的通用字符名替換。

2 所有以反斜杠結束的行都和它們接下來的行合并,并且删去反斜杠(物理行轉換為邏輯行)。

3 源碼被分析成預處理标記,并且注釋被一個單獨的空字符所替換,C 雙字符被識别為标記。

4 調用預處理指令并且擴展宏,對于任何被包含的文件循環地重複步驟1到4。

5 源字符退出字符常量序列,普通字符名被映射成執行字符集成員(例如,'\a'将在ASCII環境下轉換成7的一個字節值)。

6 相鄰的字符串被連接。

7 傳統的編譯:詞彙和語義分析,并翻譯成彙編語言或機器碼。

8 執行任何待解決的模闆實例(C )。

9 鍊接:解決外部引用,準備好程序映像以便執行。

二、程序運行平台

操作系統是程序的運行平台。同一硬件平台能夠運行多用戶、多道程序是操作系統的功能,所以用戶程序需要在操作系統的調度下運行,以便統一多個程序的資源管理。操作系統既是用戶使用的界面接口,也是程序開發的接口。

程序員編程開發思路(編程之開發平台與運行平台)2

如在顯示屏上顯示一串字符的hellowWord。

#include <stdio.h> int main() { puts("hello World"); return 0; }

編譯成鍊接成的應用程序helloWord.exe與操作系統的交互如下:

(以下文本用OS表示操作系統(Operating System),用EF(Executable File)表示可執行文件或需要運行的程序helloWord.exe)

1 用戶告知OS執行EF(點擊或輸入EF路徑);

2 OS檢索EF是否是可執行文件,并通過程序首部信息确定代碼和數據在EF中的位置并計算出對應的磁盤塊地址;

3 OS創建一個新的進程,并将EF映射到該進程結構,表示由該進程執行EF;

4 OS為EF設置CPU上下文環境,并跳到程序開始處;

5 OS的調度程序選中EF進程;

6 執行EF的第一條指令,發現缺頁異常,OS分配一頁物理内存,并将代碼從磁盤讀入内存,繼續執行;

7 EF執行puts()函數(系統調用);

8 OS找到要将字符串送往的顯示器,通常設備是由一個進程控制的,所以,OS将要寫的字符串送給那個進程;

9 OS控制設備的進程告訴設備的窗口系統它要顯示字符串,窗口系統确定這是一個合法的操作,然後将字符串轉換成像素,将像素寫入設備的存儲映像區;

10 視頻硬件将像素轉換成顯示器可接收的一組控制/數據信号;

11 顯示器解釋信号,激發顯示屏顯示字符;

程序員編程開發思路(編程之開發平台與運行平台)3

-End-

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved