chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux背后的思想

5RJg_mcuworld ? 來(lái)源:嵌入式資訊精選 ? 2019-11-27 15:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

01 Linus Torvalds

Linus Torvalds兩次改變了技術(shù),第一次是Linux內(nèi)核,它幫助互聯(lián)網(wǎng)的發(fā)展;第二次是Git,全球開(kāi)發(fā)者使用的源代碼管理系統(tǒng)。在一次TED的采訪(fǎng)中,Torvalds以極其開(kāi)放的態(tài)度討論了他獨(dú)特的工作方式和性格特點(diǎn)。 Torvalds說(shuō):“我不是一個(gè)空想家,我是一名工程師,我非常樂(lè)意跟夢(mèng)想家在一起,他們行走四方,仰望蒼穹,看著滿(mǎn)天星辰說(shuō),“我想到那兒去?!钡沂堑皖^看路的那種人,我只想填好眼前這個(gè)坑,不讓自己掉進(jìn)去,這就是我?!?

02 關(guān)于開(kāi)源

Linus Torvald Linux并不是一個(gè)合作的產(chǎn)物,它是我一系列項(xiàng)目中的一個(gè),純粹出于自己當(dāng)時(shí)的需要,部分原因是我需要得到結(jié)果,但更重要的原因是我享受編程。這段旅程的終點(diǎn),在25年后的今天(2016),我們?nèi)晕催_(dá)到。當(dāng)年我只是想做一個(gè)完全屬于自己的項(xiàng)目,我壓根就沒(méi)想過(guò)開(kāi)源這件事。但在那之后,隨著項(xiàng)目越來(lái)越大,你會(huì)開(kāi)始想讓別人知道。感覺(jué)就像“哇,快來(lái)看看我的成果!” 成千上萬(wàn)的人想?yún)⑴c進(jìn)來(lái)(Linux內(nèi)核項(xiàng)目),但很多時(shí)候,我成為了那個(gè)斷點(diǎn),我無(wú)法讓自己跨出那一步,同上千人合作。 因此Git是我的第二個(gè)大項(xiàng)目,它存在的意義就是維護(hù)我的第一個(gè)大項(xiàng)目。事實(shí)上這就是我的工作方式。我編程并不是為了… ,我編程是因?yàn)楹猛?,但我也想做一些有意義的事情,因此我設(shè)計(jì)每一個(gè)程序僅僅是因?yàn)槲易约盒枰?而我喜歡開(kāi)源軟件的一點(diǎn)就是,它能讓形形色色的人在一起合作。我們不必相互喜歡,有時(shí)候我們甚至互相討厭。是真的,我們經(jīng)常吵得不可開(kāi)交。 科學(xué)界的開(kāi)源顯然是一種回歸,科學(xué)最初是開(kāi)源的。但之后變得越來(lái)越封閉,只存在那些昂貴的科學(xué)期刊上。開(kāi)源讓科學(xué)回歸了,我們有了arXiv和開(kāi)放期刊。

小編有話(huà)說(shuō) Linux并不是選擇了開(kāi)源,只是因?yàn)殚_(kāi)源恰好是Linux需要的。就如Linus Torvalds所說(shuō):“純粹出于自己當(dāng)時(shí)的需要。”

Linus Torvalds是睿智的,做好自己能控制的。

開(kāi)源不僅僅代表源代碼的開(kāi)放,開(kāi)源更是一種工作方式,一種教育方式。因?yàn)橛辛碎_(kāi)源,我們多了一種更好的合作共贏(yíng)的工作方式;因?yàn)橛辛碎_(kāi)源,讓更多從業(yè)者和學(xué)生能夠?qū)W習(xí)到更好的技術(shù)。

03代碼的品味

Linus Torvalds 有時(shí)候你可以換個(gè)角度看問(wèn)題,重寫(xiě)代碼,排除特例,完美覆蓋所有情況,這就是好的代碼。同時(shí)也很簡(jiǎn)單,這是最基本的原則。細(xì)節(jié)非常重要。對(duì)我來(lái)說(shuō),我愿意與之共事的人,必須有好的品位。

采訪(fǎng)中Linus Torvalds對(duì)比了以下2個(gè)函數(shù):

小編有話(huà)說(shuō) 大牛們總是對(duì)自己嚴(yán)格要求,不僅僅是要實(shí)現(xiàn)功能,并且要優(yōu)雅的實(shí)現(xiàn)。下面我們來(lái)看看采訪(fǎng)中Linus Torvalds對(duì)比的兩段代碼:

1. 不怎么漂亮的代碼

remove_list_entry(entry){ prev = NULL; walk = head; // Walk the list while (walk != entry) { prev = walk; walk = walk->next;} // Remove the entry by updating the // head or the previous entry if(!prev) { head = entry->next; } else { prev->next = entry->next;}}上面的代碼,需要區(qū)分要移除的成員是否為鏈表的頭一個(gè)成員。需要單獨(dú)處理特例情況(要移除的成員為鏈表的頭一個(gè)成員)。這個(gè)函數(shù)比較好理解,這里小編就不做更多的解釋了。 2.好的代碼

remove_list_entry(entry){ // The "indirect" pointer points to the // *address* of the thing we'll update indirect = &head; // Walk the list, looking for the thing that // points to the entry we want to remove while ((*indirect) != entry)) { indirect = &(*indirect)->next; } // .. and just remove it *indirect = entry->next;} 這個(gè)代碼完全不需要單獨(dú)處理特例情況,程序整體更加整潔、優(yōu)雅。其實(shí)現(xiàn)原理為:指針變量indirect保存的是鏈表成員結(jié)構(gòu)體中的next成員的地址(head指針也可這樣看),如下圖所示:

所以變量*indirect就相當(dāng)于是前一個(gè)鏈表成員的next成員(相對(duì)于要移除的成員來(lái)說(shuō))。當(dāng)找到要移除的成員后,進(jìn)行如下操作即可:

*indirect = entry->next;

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 互聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    55

    文章

    11251

    瀏覽量

    106489
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11511

    瀏覽量

    213866
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3689

    瀏覽量

    95277

原文標(biāo)題:Linux 背后的思想(內(nèi)含 Linus 在 TED 采訪(fǎng)視頻)

文章出處:【微信號(hào):mcuworld,微信公眾號(hào):嵌入式資訊精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    華為工程師總結(jié)Linux筆記

    1-1 所示 1.2 Linux 操作系統(tǒng)簡(jiǎn)介 Linux 操作系統(tǒng)是基于 UNIX 以網(wǎng)絡(luò)為核心的設(shè)計(jì)思想,是一個(gè)性能穩(wěn)定的多用戶(hù)網(wǎng)絡(luò)操作系統(tǒng),Linux 能運(yùn)行各種工具軟件
    發(fā)表于 07-14 15:28

    Linux權(quán)限管理基礎(chǔ)入門(mén)

    Linux的廣闊天空中,權(quán)限管理猶如一只翱翔的雄鷹,掌控著系統(tǒng)的安全與秩序。掌握Linux權(quán)限,不僅能讓你的系統(tǒng)管理更加得心應(yīng)手,還能有效防止未授權(quán)訪(fǎng)問(wèn)和數(shù)據(jù)泄露。本文將帶你深入探索Linux權(quán)限的奧秘,助你成為權(quán)限管理的高手
    的頭像 發(fā)表于 05-06 13:44 ?256次閱讀
    <b class='flag-5'>Linux</b>權(quán)限管理基礎(chǔ)入門(mén)

    Linux主要的性能有哪些?

    ? 什么是Linux? ? Linux是一套自由傳播的類(lèi)Unix操作系統(tǒng),是一個(gè)基于posix和unix的多用戶(hù)、多任務(wù)、支持多線(xiàn)程和多cpu的操作系統(tǒng)。它的基本思想有兩點(diǎn),一切都是文件和每個(gè)軟件
    的頭像 發(fā)表于 04-30 18:09 ?243次閱讀
    <b class='flag-5'>Linux</b>主要的性能有哪些?

    完整版—單片機(jī)編程思想(推薦下載?。?/a>

    單片機(jī)的編程思想,希望能幫助大家寫(xiě)出簡(jiǎn)明的代碼 內(nèi)容簡(jiǎn)介 以單片機(jī)裸環(huán)境為基礎(chǔ),為編程者定義了一個(gè)微操作系統(tǒng)(MOS)的編程環(huán)境,并面向應(yīng)用中不斷提高的需求對(duì)編程策略進(jìn)行了深度剖析與研究,從而分離
    發(fā)表于 04-16 15:06

    Linux網(wǎng)絡(luò)設(shè)置與基礎(chǔ)服務(wù)

    Linux網(wǎng)絡(luò)設(shè)置與基礎(chǔ)服務(wù)
    的頭像 發(fā)表于 04-09 11:51 ?2586次閱讀
    <b class='flag-5'>Linux</b>網(wǎng)絡(luò)設(shè)置與基礎(chǔ)服務(wù)

    干貨來(lái)嘍!實(shí)用樹(shù)莓派Linux編譯指南

    通常情況下,模組對(duì)接的Linux協(xié)議是USB協(xié)議,模組通過(guò)USB插入Linux設(shè)備后可直接使用,系統(tǒng)會(huì)檢測(cè)出設(shè)備的標(biāo)識(shí):PID VID。 然而實(shí)際運(yùn)用中,時(shí)有新手朋友問(wèn): Linux對(duì)新手用戶(hù)實(shí)在
    的頭像 發(fā)表于 12-18 16:31 ?546次閱讀
    干貨來(lái)嘍!實(shí)用樹(shù)莓派<b class='flag-5'>Linux</b>編譯指南

    揭秘國(guó)外IP代理背后的技術(shù)原理與運(yùn)作機(jī)制

    國(guó)外IP代理背后的技術(shù)原理與運(yùn)作機(jī)制主要基于代理服務(wù)器和IP地址的轉(zhuǎn)發(fā)機(jī)制。
    的頭像 發(fā)表于 11-23 17:32 ?655次閱讀

    Linux應(yīng)用編程的基本概念

    Linux應(yīng)用編程涉及到在Linux環(huán)境下開(kāi)發(fā)和運(yùn)行應(yīng)用程序的一系列概念。以下是一些涵蓋Linux應(yīng)用編程的基本概念。
    的頭像 發(fā)表于 10-24 17:19 ?662次閱讀

    Linux實(shí)用命令大全

    Linux實(shí)用命令大全
    的頭像 發(fā)表于 10-23 13:50 ?658次閱讀
    <b class='flag-5'>Linux</b>實(shí)用命令大全

    Linux根文件系統(tǒng)的掛載過(guò)程

    Linux根文件系統(tǒng)(rootfs)是Linux系統(tǒng)中所有其他文件系統(tǒng)和目錄的起點(diǎn),它是內(nèi)核啟動(dòng)時(shí)掛載的第一個(gè)文件系統(tǒng)。
    的頭像 發(fā)表于 10-05 16:50 ?972次閱讀

    如何構(gòu)建Linux根文件系統(tǒng)

    構(gòu)建Linux根文件系統(tǒng)是一個(gè)涉及多個(gè)步驟和概念的過(guò)程,它對(duì)于Linux系統(tǒng)的啟動(dòng)和運(yùn)行至關(guān)重要。
    的頭像 發(fā)表于 10-05 16:47 ?695次閱讀

    linux驅(qū)動(dòng)程序如何加載進(jìn)內(nèi)核

    Linux系統(tǒng)中,驅(qū)動(dòng)程序是內(nèi)核與硬件設(shè)備之間的橋梁。它們?cè)试S內(nèi)核與硬件設(shè)備進(jìn)行通信,從而實(shí)現(xiàn)對(duì)硬件設(shè)備的控制和管理。 驅(qū)動(dòng)程序的編寫(xiě) 驅(qū)動(dòng)程序的編寫(xiě)是Linux驅(qū)動(dòng)開(kāi)發(fā)的基礎(chǔ)。在編寫(xiě)驅(qū)動(dòng)程序之前
    的頭像 發(fā)表于 08-30 15:02 ?1108次閱讀

    小白也會(huì)的,在linux上跑android應(yīng)用的方案

    介紹一個(gè)可以在linux上跑安卓應(yīng)用的linux桌面——OpenFDE
    的頭像 發(fā)表于 08-23 11:14 ?1242次閱讀
    小白也會(huì)的,在<b class='flag-5'>linux</b>上跑android應(yīng)用的方案

    Linux內(nèi)核測(cè)試技術(shù)

    Linux 內(nèi)核是Linux操作系統(tǒng)的核心部分,負(fù)責(zé)管理硬件資源和提供系統(tǒng)調(diào)用接口。隨著 Linux 內(nèi)核的不斷發(fā)展和更新,其復(fù)雜性和代碼規(guī)模也在不斷增加。因此,確保內(nèi)核的穩(wěn)定性和可靠性變得尤為重要
    的頭像 發(fā)表于 08-13 13:42 ?1328次閱讀
    <b class='flag-5'>Linux</b>內(nèi)核測(cè)試技術(shù)

    freebsd和linux哪個(gè)好用

    操作系統(tǒng)歷史和起源: FreeBSD和Linux都是基于UNIX的操作系統(tǒng)。FreeBSD起源于加州大學(xué)伯克利分校的BSD項(xiàng)目,而Linux則是由Linus Torvalds在1991年創(chuàng)建
    的頭像 發(fā)表于 08-08 10:29 ?1028次閱讀