計算機發展了幾十年了,其中的技術層出不窮,令人眼花繚亂,而且每種技術還在不斷更新迭代中,讓人心煩。這篇文章是關於 我在這飛速發展中探索的思考。
一、計算機硬體
底層硬體,其工作原理是支撐龐大系統軟體的基礎,底層基礎決定上層建築。
電平的高和低,構成0和1;
對0和1順序排列規定,實現數的二進位制表示;規定0和1的一些特殊排列為控制符;
與或非邏輯閘電路,實現0和1的基本轉換,規定特殊的邏輯閘電路,實現數的基本運算,如加法器、乘法器;
二、過程性程式設計
控制符所包含的三個基本操作:比較(cmp)、跳轉(goto )、呼叫(call),規定了使一連串**能夠執行的過程步驟
三、結構性程式設計
需要實現更加複雜的功能,希望有限的輸入,能夠確定得到有限的輸出,而這個過程形成特定結構
四、物件導向
人類現實世界的複雜性要求**更加複雜,
1. 需要規定實體間的秩序,公有財產和私有財產,避免私有財產的無端爭奪,比如同一臺電腦掛多個qq
程式設計中稱為結構體成員的私有化
2. 同乙個實體在不同背景下有不同的解釋,比如程式在不同作業系統下
程式設計中稱為類的繼承,及多型性
五、聯想
人工智慧的出現,不知道會不會將人工神經網路的概念引入程式設計中呢
關於makefile的一點思考
在gnu編譯工具軟體中,如果對單一的原始檔進行編譯,可執行指令如下 gcc o x x.c 此指令會將原始檔編譯為目標檔案。若是對執行緒類檔案進行編譯,則在末尾加上 lpthread指令。但若是對多檔案進行編譯,即若是編譯的目標檔案同時包含另一檔案中的函式。則在編譯的時候需將另一檔案加到編譯原始檔中...
關於指標的一點思考
指標是乙個變數,所不同的是,它存的是位址。因為資料型別決定著如何解釋這個位址 位元組數和操作 因此根據的資料型別的不同,指標又有不同的型別。某個物件 a 的位址範圍為 a,a size n 其中size n是a所佔的位元組數 比如乙個一維陣列int a 10 位址範圍為 a,a 10 sizeof ...
關於演算法的一點思考。。。
關於演算法的一點思考。在實踐過程中,我發現 有時候要解決乙個問題,可以設計幾個演算法分步完成任務,這樣處理起來比較簡單,但是情況並非總是如此,有時,我們需要將幾個步驟放在同乙個演算法內連帶處理,這樣才比較容易處理問題。我還發現,有時候,解決問題的演算法,是被發現出來的,並加以一步一步的檢驗才得以確定...