日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

说说程序员、编译器、CPU之间的三角恋

發布時間:2025/4/16 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 说说程序员、编译器、CPU之间的三角恋 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


編程工作的演進史

1、CPU需要的只是1和0組成的二進制數據

(1)不管編程怎么變,最終編程得到的可執行二進制程序都是給CPU運行的。CPU需要的只是按照CPU設計時的規律(機器指令)排布的一串二進制1和0組成的數字(機器碼),CPU根本不關心這些二進制是怎么來的。

(2)這些二進制可能是一個很厲害的程序員直接用1和0拼出來的;也可以是用匯編語言編寫最終編譯得到的;也可以是用C語言編寫最終編譯得到的;也可以是用java C# php bash等語言編寫然后解釋得到的;

(3)編程工作的演進其實一直是在處理上一個層次段落:就是使用何種語言編寫程序(用某種語言進行編程),然后如何把這種程序源代碼轉成二進制(編譯器的發明)。

(4)CPU接收到一串1010序列后如何工作達到目的,這就是設計制造CPU的公司要考慮的事情了,與軟件工程師完全無關。


2、早期的紙卡打孔編程者

(1)最早期的時候,CPU也很簡單,指令集很少,二進制位數也不多。那時候編譯器也沒被發明,編程語言也沒被發明,那時候就是用二進制直接編程的。

(2)總結:最早的編程沒有語言也沒有編譯器,程序員直接使用二進制和機器(CPU)對話。

(3)這種方式的壞處就是不容易擴展,隨著CPU的進一步復雜化,指令的變多,指令位數的變多,編程難度呈幾何倍數增長。人的大腦慢慢就跟不上這個節奏。


3、編程工作的第一次革命:由二進制機器碼到匯編語言

(1)第一次革命就是:發明了匯編語言。匯編語言的本質就是用一個符號來代替一串二進制。

MOV 10101010101010

SUB 01010101010101

(2)有了匯編語言之后,程序員就不用再去記憶二進制序列了。編程時只需要用匯編指令來編程即可,匯編指令就是一個符號(符號就是由文字構成的,如MOV)。因為人類大腦天生對文字符號更加友好,因此用符號編程更簡單。

(3)用匯編語言編寫的源程序不能直接給CPU運行,必須通過一個翻譯過程,把源代碼翻譯成二進制序列才能給CPU。這個翻譯的過程就叫匯編,執行翻譯動作的就是匯編器。


4、編程工作的第二次革命:由匯編語言到C語言

(1)匯編語言也有一些不盡如人意的地方,譬如:沒有可移植性。在這個CPU上寫的匯編程序無法直接在另一個CPU上運行。因此匯編語言是和CPU一一對應的。

(2)為了可移植性于是乎發明了高級語言。第一個高級語言就是C語言。C語言進一步靠近人的思維,為人的思維發明了很多CPU沒有的東西,譬如數組。最終的目的就是降低編程難度,讓高級語言更接近人的思維,然后通過編譯器、匯編器等的翻譯將這些源代碼變成二進制然后給CPU運行。


5、革命無窮盡、層次變更多

(1)在C語言之上還有更高級語言,譬如:C++、Java、C#、bash等。越往上越靠近人的思維,越往上語言本身提供的封裝越多,越往上編程難度越低、語言的掌握越容易。


1、CPU只認識二進制機器指令

(1)CPU是最終干活的,而CPU只認識只接受二進制。

2、人類喜歡符號而不是二進制

(1)人類的大腦本身不喜歡二進制而喜歡符號、文字。

(2)人類和機器之間天生有代溝,于是乎編程不容易。


3、連接人(程序員)與機器(CPU)的橋梁:編譯器

(1)編譯器降低了編程難度。編譯器的代表就是編程語言,每一種編程語言都有對應的編譯器,這個編譯器的作用就是把這種語言的源文件編譯成可執行程序。

(2)關鍵是:有了編譯器(高級語言)之后,我們程序員就不再盯著CPU(二進制),而是改為盯著編譯器(編程語言、編程語言的語法),所以我們學習編程的關鍵變成了學習編譯器的習性,也就是編程語言的語法。


4、發明一門語言關鍵就在于發明它的編譯器

(1)編譯語言的關鍵就是編譯器。yacc和lex工具就是用來發明編程語言的。


5、高級語言與低級語言的差別

(1)越高級的語言越靠近人類思維;越低級的語言越靠近機器的需要。

(2)人與機器總勞動量(總復雜度)守恒。人要是復雜一點機器就可以簡單一點;人簡單一點機器就需要復雜一點。這個規律描述的就是:編程語言越簡單,人使用起來越簡單,編譯器設計起來就更復雜;編程語言越復雜、程序員使用起來越麻煩,則編譯器設計越簡單,CPU執行效率越高。



像編譯器一樣思考吧

語法是什么?語法就是編譯器的習性

(1)編譯器反應在編程中就是語法。

譬如1:

for (i=0; i<10; i++);

{

xxx;

}


譬如2:

int i; !!i;

解析:!在C語言中是邏輯取反的意思,邏輯取反意思就是0取反就是1,不是0的數取反就是0

問題:讓你用C語言編程實現:如果一個數i是0則返回0,如果不是0則返回1

一般實現: if (i == 0){return 0;} else{return 1;}

或者可以用三母運算符: (i==0)?(0):(1);

極客式寫法: !!i;


習得一門語言就像認識一個朋友

(1)從新開始認識一個人到成為好朋友,這里面要經歷:時間、共事。

(2)學習一門編程語言也需要:時間、實踐(共事)

學習編程語言要懂得換位思考

(1)預處理中處理程序注釋、空行。


轉載于:https://blog.51cto.com/songmao/1880887

總結

以上是生活随笔為你收集整理的说说程序员、编译器、CPU之间的三角恋的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久无吗视频 | 天堂网中文在线观看 | 国产精品久久久免费观看 | 中文字幕久久精品 | 麻豆视频黄色 | 国产亚洲女人久久久久毛片 | 中文字幕日韩无 | 精品福利在线观看 | 久操热线 | 97香蕉久久夜色精品国产 | 欧美日韩一区二区视频在线观看 | 穿扒开跪着折磨屁股视频 | 国产综合久久久久 | 毛片在线网 | 亚洲熟妇一区二区 | 黄色片网站免费观看 | 中文日韩字幕 | 亚洲欧美一区二区三区 | 98超碰在线| 美女隐私无遮挡网站 | 尤物国产在线 | 香蕉视频免费在线播放 | 三级在线免费 | 亚洲另类欧美日韩 | 看片久久| 午夜免费播放观看在线视频 | 伊人春色av | 一二区精品 | 久草久热 | 少妇无码一区二区三区免费 | 中文字幕精品久久久久人妻红杏1 | 日本黄色小视频 | 无码精品人妻一区二区三区影院 | 免费一区二区三区 | 在线视频亚洲色图 | 欧美精品一级片 | 亚洲精品小视频在线观看 | 桃色91| 久久伊人av | 97xxxxx| 在线观看色网站 | 精东传媒在线 | 日韩精品一区二区三区电影 | 在线a网| 欧美性教育视频 | 精品国产一 | 动漫美女被艹 | 久久人人艹 | 自拍99| 亚洲一区二区精品在线观看 | 色婷在线 | 亚洲理论片 | 久久综合色综合 | yw在线观看 | 亚洲欧美在线不卡 | 一区二区男女 | 亚州av综合色区无码一区 | 高h乱l高辣h文短篇h | 国产18在线观看 | 经典三级第一页 | 国产91久久精品一区二区 | 中文不卡av| 日韩日韩日韩日韩日韩 | 久久九九久精品国产免费直播 | 少妇人妻精品一区二区三区 | 灌篮高手全国大赛电影 | 三级全黄的视频 | 亚洲色图视频网站 | 久久久久亚洲av成人毛片韩 | 国产亚洲制服欧洲高清一区 | 欧美高清在线观看 | 亚洲激情视频在线播放 | 久久成人免费电影 | 一级少妇片 | 国产ts人妖调教重口男 | 美国一区二区 | 精品蜜桃一区二区三区 | 免费在线观看av网站 | 国产欧美一级 | 中文字幕在线网 | 特黄特色大片免费 | 91丝袜呻吟高潮美腿白嫩在线观看 | 欧美色影院 | 91精品国产日韩91久久久久久 | 夜夜夜操操操 | 色噜噜日韩精品欧美一区二区 | 精品一区二区三区在线视频 | 第一色综合| 国产麻豆精品久久一二三 | 久草免费在线观看视频 | 免费黄色小视频网站 | 中文字幕专区 | 情侣黄网站免费看 | 红桃成人网 | 欧美在线一二三区 | 成年人在线观看视频 | 婷婷狠狠| www.啪| 国产成人毛片 |