tft每日頭條

 > 旅遊

 > 在夢開始的地方遊戲

在夢開始的地方遊戲

旅遊 更新时间:2024-12-28 15:48:18

Hello,world 是每個程序員的第一個程序,可以說是程序員們夢開始的地方#程序#

在夢開始的地方遊戲(Hellowrold)1

今天以Hello, world 為題,這是我來記錄計算機科學學習的第一步。

為什麼要以Hello, world 為題相信大家都了解,這是程序員開始幹事情的第一步,有個笑話是這樣說的”一程序員退休了,想給自己找點興趣愛好,想來想去決定練字,說幹就幹,把宣紙鋪好,鎮紙擺好,拿起毛筆想了半天,憋出來兩個字——Hello, world。

這仿佛就是一個職業病似的。

#include <stdio.h>

int main()

{

printf("hello, world");

return 0;

}

在我的頹廢學習生涯中,又是常常困惑于程序到底是怎麼做事情的?

難道就僅僅是一個blackbox嗎?我給他輸入,他自己神奇的就把結果給我輸出了(不管結果是不是我想要的)hhh

當然這也是程序設計引人入勝之處,這樣的特性也迷倒了一批又一批的有志青年, 引無數英雄盡折腰

但其實知道太多的内部細節也是很困難的, 不知道你讀到這裡是否有興趣和我在之後的一段時間裡共同探尋,計算機科學的奧秘,複習一下計算機體系結構

說道計算機體系結構,就不得不提起一本經典名著——CSAPP 《computer system a programmer's perspective》 深入理解計算機系統

用我剛開始網上沖浪的學到話說就是“沒聽過這本書,你就out啦!!”(互聯網考古)??狗頭保命

這一系列文章就算是對CSAPP 的學習筆記,以及計算機體系結構的複習,和大家一來分享我的學習過程,如果對一些同學起到微小的幫助那我就非常高興了!

好的讓我們開始這個刺激的旅行吧

Hello,world 到底是怎麼在計算機中運行的

為啥你一點編譯,一點運行,程序就可以按照你的指令來做事情呢?

哈哈! 其實這個過程很複雜。但是不要擔心,我會用平實的語言來為你娓娓道來

我們都知道(hhh的都知道)有沒有想數學題的答案 :易知什麼什麼,不難看出)到底是什麼鬼?我咋沒看出呢?

但是确實是這樣的不難看出的看不出就說明基礎不牢呀!

執行一個寫好的代碼需要保存,編譯,運行

在hello,world 中我們将文件保存為 hello.c, 用gcc編譯 ,用終端執行。

在夢開始的地方遊戲(Hellowrold)2

vim編輯代碼和保存

在夢開始的地方遊戲(Hellowrold)3

終端編譯和執行

這好神奇,電腦居然可以按照我的指令辦事!!!

可是為什麼呢?

因為你長得帥?當然不是了hhh

其實這就涉及到我們今天講的核心了,程序的編譯和執行

語言分為兩種一種是解釋型的語言,一種是編譯型的語言,雖然他們都能寫程序,但是其作用機制完全不同,

比如python就是解釋型的語言通過python解釋器來一邊解釋一邊執行程序。

而c語言就是編譯類型的語言,需要一次性将代碼都編譯為機器語言,變成機器語言後就是一個可執行文件,比如hello.exe

當然文件的後綴名并不是所有情況下都有的,若是在linux系統中可執行文件沒有後綴名

總的來說:由于是一邊解釋一邊執行,所以每次python 這種解釋型語言是會稍微慢一些的,而編譯類型的語言是将代碼變成了二進制的可執行文件,我們今天主要介紹c語言這種編譯類型的語言的前身後世。

其實就是第一章的總覽:1.1 - 1.4 的内容

我們來一步一步思考, 編譯器在編譯時在做什麼,我們都知道計算機隻能識别二進制的01串,為什麼可以處理人類可以閱讀的有一定意義的代碼呢?

為了解決機器可以閱讀并出路人類的文字,我們計算機的前輩們 創造出了ascii碼雖然他隻能表示成256個字符但在早期的計算機發展過程中肯定是足夠用的,畢竟鍵盤上的字符也沒有200個。我們終究還是要在鍵盤上做事情的!!!!

在夢開始的地方遊戲(Hellowrold)4

未完待續。。。。。。。。

舉報/反饋

,

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

查看全部

相关旅遊资讯推荐

热门旅遊资讯推荐

网友关注

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