據(jù)悉,每年軟件Bug會(huì)讓美國(guó)經(jīng)濟(jì)面臨近600億美元的損失。我們都知道,軟件Bug很煩人的,會(huì)對(duì)我們的工作、生活帶來(lái)很多毀滅性的影響?,F(xiàn)在,就讓我們按時(shí)間順序來(lái)盤點(diǎn)下史上最具有毀滅性的20個(gè)軟件Bug。
生活中用到的鎖,用途都比較簡(jiǎn)單粗暴,上鎖基本是為了防止外人進(jìn)來(lái)、電動(dòng)車被偷等。但生活中也不是沒有BUG的,比如加鎖的電動(dòng)車在「廣西 - 竊·格瓦拉」面前,鎖就是形同虛設(shè)。那在編程世界里,「鎖」更是五花八門,多種多樣,每種鎖的加鎖開銷以及應(yīng)用場(chǎng)景也可能會(huì)不同。
最近又趕上跳槽的高峰期(金九銀十,招聘旺季),好多讀者都問我要有沒有最新面試題?于是,我找華為朋友整理了一份內(nèi)部資料 《第6版:互聯(lián)網(wǎng)大廠面試題》并分類4份PDF,累計(jì) 926 頁(yè)!
最近想倒騰一下博客,看了很多現(xiàn)成的比較成熟的開源博客系統(tǒng),自己也簡(jiǎn)單從下面幾個(gè)維度總結(jié)對(duì)比了一下:star 數(shù)量、技術(shù)選型、社區(qū)生態(tài)。當(dāng)然,好東西不能獨(dú)享,下面簡(jiǎn)單分享一下我所做的筆記。
C中大多數(shù)緩沖區(qū)溢出問題可以直接追溯到標(biāo)準(zhǔn) C 庫(kù)。最有害的罪魁禍?zhǔn)资遣贿M(jìn)行自變量檢查的、有問題的字符串操作strcpy、strcat、sprintf?和?gets。大部分程序員仍然會(huì)使用這些函數(shù),因?yàn)閺膩?lái)沒有人教開發(fā)人員避免使用它們。某些人從各處獲得某個(gè)提示,但即使是優(yōu)秀的開發(fā)人員也會(huì)被這弄糟,下面就來(lái)分析一下。
The GNU Compiler Collection通常簡(jiǎn)稱GCC,是一套由GNU開發(fā)的編譯器集,為什么是編輯器集而不是編譯器呢?那是因?yàn)樗粌H支持C語(yǔ)言言編譯,還支持C++、Ada、Objective C等許多語(yǔ)言??梢运鶡o(wú)所不在,它不僅支持 X86處理器架構(gòu), 還支持 ARM, Motorola 68000, Motorola 8800,AtmelAVR,MIPS 等處理器架構(gòu)。
啥是PID?PID就是“比例(proportional)、積分(integral)、微分(derivative)”,是一種很常見的控制算法。
最近,Ruby編程語(yǔ)言的創(chuàng)始人兼主設(shè)計(jì)師、云平臺(tái)即服務(wù)公司Heroku的Ruby首席架構(gòu)師松本行弘在一次演講中表示,由松本行弘領(lǐng)導(dǎo)的Ruby社區(qū)對(duì)該編程語(yǔ)言的發(fā)展進(jìn)行了深入思考。此次30分鐘的演講中還提到了該編程語(yǔ)言即將迎來(lái)激動(dòng)人心的新發(fā)展。 松本表示:“在過
曾經(jīng)我一直以為自己C語(yǔ)言學(xué)的還挺好的,直到看到這幾個(gè)例子……
缺點(diǎn):語(yǔ)法正確,邏輯錯(cuò)誤;死板的語(yǔ)法;需要子函數(shù)來(lái)處理分支。
今天主要是跟大家分享幾個(gè)交換兩數(shù)的宏,他們的實(shí)現(xiàn)或許會(huì)給你帶來(lái)新的啟發(fā)和收獲!
線程存在于進(jìn)程當(dāng)中,是操作系統(tǒng)調(diào)度執(zhí)行的最小單位。說通俗點(diǎn)線程就是干活,多線程也就是同時(shí)可以干不同的活而且還不會(huì)互相打擾,線程并沒有自己的獨(dú)立空間。
我們?cè)趯W(xué)習(xí)C語(yǔ)言時(shí),通常認(rèn)為浮點(diǎn)數(shù)和小數(shù)是等價(jià)的,并沒有嚴(yán)格區(qū)分它們的概念,這也并沒有影響到我們的學(xué)習(xí),原因就是浮點(diǎn)數(shù)和小數(shù)是綁定在一起的,只有小數(shù)才使用浮點(diǎn)格式來(lái)存儲(chǔ)。其實(shí),整數(shù)和小數(shù)可以都使用定點(diǎn)格式來(lái)存儲(chǔ),也可以都使用浮點(diǎn)格式來(lái)存儲(chǔ),但實(shí)際情況卻是,C語(yǔ)言使用定點(diǎn)格式存儲(chǔ)整數(shù),使用浮點(diǎn)格式存儲(chǔ)小數(shù),這是在 “數(shù)值范圍” 和 “數(shù)值精度” 兩項(xiàng)重要指標(biāo)之間追求平衡的結(jié)果。
「代碼寫得好」是對(duì)機(jī)器學(xué)習(xí)研究者及開發(fā)者最好的贊揚(yáng)。其第一層意思是說,你的模型非常好,有自己的理解與修正;第二層意思是說代碼的結(jié)構(gòu)、命名規(guī)則、編寫邏輯都非常優(yōu)秀。我們?cè)?jīng)將寫代碼比喻成寫文章:不僅需要有一個(gè)主旨,告訴別人代碼的作用是什么,同時(shí)還應(yīng)該在精煉與易讀之間做權(quán)衡。
代碼版本控制對(duì)于我們嵌入式軟件開發(fā)崗是一項(xiàng)基礎(chǔ)、必備的技能,需要熟練掌握。實(shí)際工作中常用的版本控制系統(tǒng)有:Git(分布式版本控制系統(tǒng))與SVN(集中式版本控制系統(tǒng))。本文分享了Git在實(shí)際工作中的基本使用方法。
Redis是基于c語(yǔ)言編寫的開源非關(guān)系型內(nèi)存數(shù)據(jù)庫(kù),可以用作數(shù)據(jù)庫(kù)、緩存、消息中間件,這么優(yōu)秀的東西客定要一點(diǎn)一點(diǎn)的吃透它。這是關(guān)于Redis五種數(shù)據(jù)結(jié)構(gòu)詳解,包括這五種的數(shù)據(jù)結(jié)構(gòu)的底層原理實(shí)現(xiàn)。
URL去重在我們?nèi)粘9ぷ髦泻兔嬖囍泻艹S龅?,包括阿里,網(wǎng)易云、優(yōu)酷、作業(yè)幫等知名互聯(lián)網(wǎng)公司都出現(xiàn)過相關(guān)面試題,而且和URL去重比較類似的,如IP黑/白名單判斷等也經(jīng)常出現(xiàn)在我們的工作中,所以本文就來(lái)“盤一盤”URL 去重的問題。
關(guān)注、星標(biāo)公眾號(hào),不錯(cuò)過精彩內(nèi)容 來(lái)源:網(wǎng)絡(luò) 編輯整理:strongerHuang 可能很多人都不習(xí)慣使用,Keil、IAR自帶的編輯器,可能代碼補(bǔ)全、錯(cuò)誤提示、高亮等編輯功能相對(duì)來(lái)說支持的不是很好,雖然Keil 5.25開始對(duì)界面的支持好了很多,但是很多人還是青睞于第三
TIOBE已公布2020年9月的編程語(yǔ)言排行榜,C語(yǔ)言依然排行第一了,隨后分別是Java、Python、C++、C#。
Windows下常用IDE來(lái)編譯,Linux下直接使用gcc來(lái)編譯,編譯過程是Linux嵌入式編程的基礎(chǔ),也是嵌入式高頻基礎(chǔ)面試問題。