在使用 lvgl 庫的時候,筆者使用的V7版本的庫,使用過程中發(fā)現(xiàn)網(wǎng)上關(guān)于V7版本的資料非常少,官網(wǎng)有文檔介紹其如何使用,但有些方面還不是很全面,而且網(wǎng)上現(xiàn)在的中文教程大多數(shù)是針對于V6版本的,V6和V7使用上的差異在有些方面還是挺大的,所以筆者也就想把自己在使用V7版本的庫的時候的一些心得記錄下來。
今天分享一個朋友的文章,關(guān)于DOS、匯編的內(nèi)容,以及雷軍的故事。這是一段古董代碼了,因為在1994年,當(dāng)時我的一個老師也是做匯編項目,他跟我聊過的故事是,當(dāng)時是他跟一個前輩一起去現(xiàn)場給客戶看故障,調(diào)試,用的ARM匯編,當(dāng)時前輩是賺了2w,他賺到了6k的樣子。
這里,我將在平時工作過程中總結(jié)的內(nèi)存溢出的情況,以代碼案例的形式直觀的分享給大家,希望能夠為小伙伴們帶來實質(zhì)性的幫助。
多線程并發(fā)執(zhí)行時有很多同學(xué)捋不清楚調(diào)度的隨機(jī)性會導(dǎo)致哪些問題,要知道如果訪問臨界資源不加鎖會導(dǎo)致一些突發(fā)情況發(fā)生甚至死鎖。
前一段時間,小灰發(fā)布了上下兩篇關(guān)于股票買賣的算法題講解,激發(fā)了很多小伙伴的興趣。 這一次,小灰把這兩篇漫畫整合在一起,并且修改了其中的一些細(xì)節(jié)錯誤。
叮。。。。。美團(tuán)來電。這次不是外賣而是電話面試。所報崗位為后端/服務(wù)端開發(fā),但是從我的復(fù)盤來看,這和 Java 后端開發(fā)的內(nèi)容差不多,除了部分的語言特性外,還是四大件基礎(chǔ)知識為重,下面我們來看看都問了啥,小心下次面你的時候就有這些問題哦~
函數(shù)宏,即包含多條語句的宏定義,其通常為某一被頻繁調(diào)用的功能的語句封裝,且不想通過函數(shù)方式封裝來降低額外的彈棧壓棧開銷。
大家都知道okhttp是一款由square公司開源的java版本http客戶端工具。實際上,square公司還開源了基于okhttp進(jìn)一步封裝的retrofit工具,用來支持通過接口的方式發(fā)起http請求。如果還在直接使用RestTemplate或者okhttp,或者基于它們封裝的HttpUtils,那么可以嘗試使用Retrofit。
函數(shù)宏,即包含多條語句的宏定義,其通常為某一被頻繁調(diào)用的功能的語句封裝,且不想通過函數(shù)方式封裝來降低額外的彈棧壓棧開銷。
宏的使用,大家經(jīng)常會用,但是一般只是簡單定義一個符號常量,類似于 #define WHEEL_SCALE_MM?0.53f、 #define LOG_I(tag, text_fmt, ...) log_i(tag, text_fmt, ##__VA_ARGS__)? ,但是除此之外還有宏還有個##粘貼作用,可以配合#define這個常量表達(dá)式,可以做成一個宏定義指針函數(shù)列表,繼而查詢執(zhí)行函數(shù)。話不多說,我們開始今天的分享,首先還是會進(jìn)行一下常規(guī)的描述,再分享"##"粘貼的妙用。
在Linux下的開發(fā)中,printf打印調(diào)試信息默認(rèn)輸出到標(biāo)準(zhǔn)輸出 stdout (即屏幕/終端)中。我們也可以使用輸出重定向技術(shù)輸出到指定文件中,輸出重定向即是把原本要輸出到屏幕的信息寫入到指定文件中。
之前從應(yīng)用的角度給大家分享過Bootloader相關(guān)的文章,今天從底層原理來給大家描述ARM處理器如何編寫B(tài)ootloader。
在我們?nèi)粘>幋a中會發(fā)現(xiàn)有些功能代碼,會不斷的在不同的成員函數(shù)中用到,但是又不好將這些代碼獨(dú)立成一個成員函數(shù)。解決辦法之一就是寫一個公共的函數(shù),不過函數(shù)用到的一些變量,就可能會成為全局變量。再說為了復(fù)用這么一段代碼,就要單立出一個函數(shù),也不是很好維護(hù)。此時就可以用到仿函數(shù)了。
小林寫這么多篇圖解文章,你們猜我收到的最多的讀者問題是什么?沒錯,就是問我是使用什么畫圖工具,看來對這一點(diǎn)大家都相當(dāng)好奇,那干脆不如寫一篇介紹下我是怎么畫圖的。
上篇分享了事件驅(qū)動型的菜單框架,也實現(xiàn)了一個基本的小項目。但是怎么看怎么都覺得界面不爽,單純顯示文字的方式實在是太單調(diào)了,如果想要顯示顏色豐富的圖片,MCU資源受限又很難直接在程序中直接定義圖片大數(shù)組。于是,這次選擇在SD卡中放圖片,通過Fatfs去讀取SD卡中的圖片來進(jìn)行顯示……
程序代碼是主觀性很強(qiáng)的東西,同樣的一個功能,每一個程序員所寫出來的代碼都不一樣,所以那句名言“一千個讀者就有一千個哈姆雷特”在代碼上同樣使用。同時,代碼又是只可意會卻很難言傳的東西。硬件原理,看的多了即使外行人也能指點(diǎn)一下,但是代碼只有編寫的人才清楚。這也使得很多人認(rèn)為代碼很神秘。
很多的小伙伴經(jīng)常會有這樣的困惑,我看了很多技術(shù)的學(xué)習(xí)文檔、書籍、甚至視頻,我想動手實踐,于是我打開了GitHub,想找個開源項目,進(jìn)行學(xué)習(xí),獲取項目實戰(zhàn)經(jīng)驗。這個時候很多小伙伴就會面臨這樣的問題:“我不會搜啊,我該怎么找呀?”,最終只能放棄。相信看完這篇文章,你就可以學(xué)會如何精準(zhǔn)地在GitHub搜索項目。
前幾天我在世偉兄的開源群上分享了這個框架,有群友希望我用這個框架寫一個小項目,于是我就突發(fā)奇思妙想,在1-2天內(nèi)設(shè)計規(guī)劃了這個一個課題:基于小熊派簡易氣體探測儀。
本文向讀者介紹了如何避免內(nèi)存泄漏的方法和原則,在細(xì)節(jié)和大體方向上均給出一些可行性方案。讀者可以嘗試文中提出的方法,改進(jìn)自己的代碼,大大減少內(nèi)存泄漏的可能性。
最近在開發(fā)的過程當(dāng)中,對于已有的代碼,想將相關(guān)類繪制成UML類圖,雖然現(xiàn)在有很多UML類圖的優(yōu)秀軟件,其實看到這里我就想IDEA中有沒有像PlantUML一樣的自動生成的插件,本著懷疑的態(tài)度百度了一下,果然IDEA還是很強(qiáng)大的,這個插件都是自帶的,接下稍微講述如何利用IDEA生成UML類圖的教程。