www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 公眾號精選 > 程序喵大人
[導(dǎo)讀]經(jīng)常有一些小伙伴問我有沒有C學(xué)習(xí)路線的相關(guān)文章分享一下,對此我特意整理了一張C學(xué)習(xí)路線圖分享給大家!直接看圖:高清圖片,請?zhí)砑映绦蜻魑⑿奴@取圖中我分了11個板塊:C語言入門基礎(chǔ)知識C基礎(chǔ)C進(jìn)階C新特性操作系統(tǒng)編譯鏈接C項目推薦工具編碼規(guī)范推薦網(wǎng)站推薦書籍具體如下:C語言入門基礎(chǔ)知...

經(jīng)常有一些小伙伴問我有沒有C 學(xué)習(xí)路線的相關(guān)文章分享一下,對此我特意整理了一張C 學(xué)習(xí)路線圖分享給大家!


直接看圖:

高清圖片,請?zhí)砑映绦蜻魑⑿奴@取



圖中我分了11個板塊:

  • C語言入門基礎(chǔ)知識

  • C 基礎(chǔ)

  • C 進(jìn)階

  • C 新特性

  • 操作系統(tǒng)

  • 編譯鏈接

  • C 項目

  • 推薦工具

  • 編碼規(guī)范

  • 推薦網(wǎng)站

  • 推薦書籍


具體如下:


C語言入門基礎(chǔ)知識

使用C 不可避免的需要用到C語言,所以C語言的基礎(chǔ)知識我們也需要了解,主要有:

  • 數(shù)據(jù)類型

  • 流程控制

  • 函數(shù)

  • 指針

  • 內(nèi)存布局

  • 結(jié)構(gòu)體、共用體

  • 文件操作

  • 回調(diào)函數(shù)


C 基礎(chǔ)

這里整理了一些C 必須要知道的基礎(chǔ)知識,主要有:

  • constexpr

  • namespace

  • 引用與指針的區(qū)別

  • new/delete、new[]/delete[]

  • C/C 混合編程

  • 類的封裝

  • class與struct的區(qū)別

  • 面向?qū)ο缶幊趟枷?/span>

  • 構(gòu)造和析構(gòu)

  • 拷貝構(gòu)造、移動構(gòu)造

  • 賦值構(gòu)造、移動賦值

  • 四種強(qiáng)制類型轉(zhuǎn)換

  • 靜態(tài)成員

  • 對象管理

  • 函數(shù)重載

  • 友元函數(shù)與友元類

  • 操作符重載

  • 繼承與多繼承

  • 多態(tài)

  • 虛函數(shù)與抽象類

  • 函數(shù)模板與類模板

  • 輸入輸出類

  • 異常處理


C 進(jìn)階

我把下面的一些知識歸為進(jìn)階知識點,可能你學(xué)完了也沒進(jìn)階到哪里去,但是也是進(jìn)階必備知識點,主要有:

  • new/delete、new[]/delete[]為什么要配對使用

  • RAII特性

  • 智能指針

  • 內(nèi)存泄漏的調(diào)試

  • STL

    ???vector

  • resize

  • reserve

  • capacity

  • clear

  • swap

  • at

? ? ? ? ???array

? ? ? ?????map

? ? ? ?????unordered_map

? ? ? ?????list

? ? ? ?????tuple


C 新特性

現(xiàn)在C 開發(fā)基本上都會使用C 11,而且C 新特性在面試時也是面試官常問的知識點,這里我總結(jié)了一些必須要知道的C 新特性:

  • auto/decltype

  • 列表初始化

  • 左值、右值、左值引用、右值引用

  • 移動語義、完美轉(zhuǎn)發(fā)

  • std::function、std::bind

  • lambda表達(dá)式

  • std::thread

  • std::lock_guard、std::unique_lock

  • std::shared_ptr、std::unique_ptr

  • std::mutex

  • 原子操作

  • enum class

  • 條件變量

  • nullptr

  • chrono


操作系統(tǒng)

操作系統(tǒng)非常重要,要學(xué)好C 就一定要打好操作系統(tǒng)的基礎(chǔ),但操作系統(tǒng)我們也沒必要全都鉆到細(xì)節(jié)里去,重點攻克下面幾個知識點即可:

  • 進(jìn)程與線程的區(qū)別

  • 進(jìn)程管理與調(diào)度

  • 內(nèi)存管理

  • 并發(fā)與同步

  • 文件I/O


工具

這里推薦下我在開發(fā)過程中經(jīng)常會用到的幾個工具:

  • 調(diào)試工具:gdb、lldb

  • 構(gòu)建工具:Cmake、bazel

  • 靜態(tài)代碼檢測工具:cppcheck、Clang-Tidy、SonarQube

  • 內(nèi)存檢測工具:valgrind、ASan

  • profiling工具:gperftools、perf


編碼規(guī)范

使用一門語言一定要了解一下它常用的編碼規(guī)范,有了編碼規(guī)范代碼寫的才能稍微漂亮一點,目前多數(shù)C 開發(fā)團(tuán)隊都會參考Google編碼規(guī)范來寫代碼。


編譯鏈接知識點

學(xué)習(xí)C 一定要了解一些編譯和鏈接的知識,如何連一些常見的編譯鏈接錯誤都解決不了,那怎么能是個合格的C 程序員呢?

  • 預(yù)處理、編譯、匯編、鏈接

  • 靜態(tài)鏈接

  • 動態(tài)鏈接

  • Debug與Release的區(qū)別


C 項目

光學(xué)開車不行,你得上路;光學(xué)理論知識不行,得實踐呀!



可能普通學(xué)生不知道做個什么項目?我有個想法,可不可以做這樣一個小東西,輸入是一段人物視頻,輸出也是一段視頻,但是輸出的視頻中會對人物做一些特效處理,比如畫一個人臉框,添加一些字幕,貼一個動畫貼紙,貼個濾鏡等。


在擼項目的過程中,應(yīng)該會遇到很多問題:

  • 如何解碼視頻?是不是要引入個第三方庫?怎么才能在工程中接入第三方庫?如何編譯,如何鏈接?

  • 如果編碼視頻?是不是又要引入個第三方庫?

  • 如何畫一個人臉框?是不是需要先識別到人臉?怎么識別人臉?是不是要引入三方人臉識別庫?

  • 如何添加字幕?如何添加動畫?如何貼個濾鏡呢?鏈接個ffmpeg?


你還會遇到一些問題:


如何制定這個項目的編碼規(guī)范呢?使用什么編碼風(fēng)格,你可能需要Google編碼規(guī)范。

項目最好統(tǒng)一使用C 11新特性,可以看這個:《c 11新特性,所有知識點都在這了!》


如何設(shè)計這個項目的架構(gòu)呢?這是個技術(shù)活,也是個經(jīng)驗活,你可以參考參考別的項目?或者自底向下,走一步看一步,哪個模塊的代碼寫完后看著不順眼了重構(gòu)一波,一般我看自己兩個月前寫的那些代碼都會感到別扭,這時就可以考慮考慮學(xué)習(xí)一波設(shè)計模式!


項目的功能越來越多,邏輯越來越復(fù)雜,bug會越來越多,如何調(diào)試這些代碼?你可能需要看看這個:《我是怎么調(diào)試代碼的?》


項目功能很多,這時你會接觸到多線程,同步,死鎖等概念,如何設(shè)計多線程,使用線程池嗎?如何做好同步,解決數(shù)據(jù)競爭問題,是使用原子操作,還是使用互斥鎖等。使用鎖的過程中如何避免死鎖,如果出現(xiàn)了死鎖怎么定位呢?C 線程池的實現(xiàn)之格式修訂版


功能增多,性能肯定越來越差,如何做好性能優(yōu)化,如何更好的管理內(nèi)存?使用什么工具來做性能分析呢?可能需要看看這個《這么多性能調(diào)優(yōu)工具,看看你知道幾個?》


相信擼完這個項目后,你的C 也可以算作入門了吧!


再推薦幾個我常用的網(wǎng)站:

  • https://cppinsights.io/

  • https://godbolt.org/

  • http://www.sunistudio.com/cppfaq/


再推薦基本個人認(rèn)為比較優(yōu)質(zhì)的書籍:

  • 《C Primer Plus》

  • 《Effective C 》

  • 《Effective STL》

  • 《Effective Modern C 》

  • 《STL源碼剖析》

  • 《深入理解計算機(jī)系統(tǒng)》

  • 《現(xiàn)代操作系統(tǒng)》


再引用在一個論壇中看到的C 學(xué)習(xí)路線,看著蠻有道理推薦給大家:

我提供一條線吧,針對C/C 以及針對LINUX后端服務(wù)器開發(fā)和分布式系統(tǒng)開發(fā)這條線:

0. 斯坦福的《編程范式》課程百度一下很多資源

1.《c primer》1個月刷完第一遍做課后習(xí)題答案看《C primer習(xí)題集》

2.《EffectiveC 》1個月刷完第一遍

3.(可選)《CSAPP》的Tinyweb瀏覽器實驗(這個其實更多是C但是還是建議做一下原因后面說)(1個月)

4.跟MIT68242012年spring的分布式系統(tǒng)課程做完它的lab學(xué)習(xí)其代碼課程主頁:https://pdoscsailmitedu/archive/6824-2012/indexhtml(2個半月)

4a. (可選)拋棄lab中助教提供的框架代碼自己實現(xiàn)一套完整的tinydistributedfilesystem(2個月)

5. 陳碩大牛的《Linux多線程服務(wù)端編程使用muduoC 網(wǎng)絡(luò)庫》刷書 練習(xí)認(rèn)認(rèn)真真的分析學(xué)習(xí)muduo網(wǎng)絡(luò)庫(2個月)

6. 第3、第4、第5步中遇到的問題去針對性看《C primer》和《EffectiveC 》中相對應(yīng)的章節(jié)

7. 學(xué)習(xí)過程中好好利用GOOGLE、STACKOVERFLOW

好啦到這里大概C 理論算入門再往深一點點的水平也有一定的C 的代碼量啦個人感覺刷刷題找工作也沒啥問題了大概的時間列出來了好好評估下吧

說一句哈真要走C 這條線的話就別把自己局限到C 中啦也把C給學(xué)啦看看《APUE》、K
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉