linux命令是對(duì)Linux系統(tǒng)進(jìn)行管理的命令。對(duì)于Linux系統(tǒng)來(lái)說(shuō),無(wú)論是中央處理器、內(nèi)存、磁盤(pán)驅(qū)動(dòng)器、鍵盤(pán)、鼠標(biāo),還是用戶等都是文件,Linux系統(tǒng)管理的命令是它正常運(yùn)行的核心。
本文介紹了如何在最常見(jiàn)的編碼方式(Unicode, UTF-8, ANSI)之間進(jìn)行轉(zhuǎn)換,結(jié)合代碼實(shí)例,清晰明了,方便讀者理解,例子也可以直接拿來(lái)使用。
這篇文章介紹了如何在最常見(jiàn)的編碼方式(Unicode, UTF-8, ANSI)之間進(jìn)行轉(zhuǎn)換,結(jié)合代碼實(shí)例,清晰明了,方便讀者理解,例子也可以直接拿來(lái)使用。
nullptr和NULL有什么區(qū)別?
本文向讀者介紹了如何避免內(nèi)存泄漏的方法和原則,在細(xì)節(jié)和大體方向上均給出一些可行性方案。讀者可以嘗試文中提出的方法,改進(jìn)自己的代碼,大大減少內(nèi)存泄漏的可能性。
像大白這種調(diào)包俠,深知不懂底層技術(shù)點(diǎn)就如同空中樓閣,再這樣下去面阿里p10是沒(méi)希望了。想到這里,我開(kāi)始慌了,所以今天和大家一起學(xué)習(xí)個(gè)底層技術(shù)點(diǎn)-零拷貝Zero-Copy。
大多數(shù)時(shí)候我都是寫(xiě)一些業(yè)務(wù)代碼,可能一堆 CRUD 就能解決問(wèn)題,但這樣的工作對(duì)技術(shù)人的提升并不多,如何讓自己從業(yè)務(wù)中解脫出來(lái)找到寫(xiě)代碼的樂(lè)趣呢,我做過(guò)一些嘗試,使用設(shè)計(jì)模式改善自己的業(yè)務(wù)代碼就是其中的一種。
小編對(duì)Linux這一塊的實(shí)際開(kāi)發(fā)經(jīng)驗(yàn)雖然還不是很足,但也知道進(jìn)程間通信有那么幾種方式:管道、消息隊(duì)列、共享內(nèi)存、套接字等。某項(xiàng)目中使用了MQTT作為進(jìn)程間的通信方式,感覺(jué)很新穎,網(wǎng)上好像也比較少有看到使用MQTT來(lái)作為進(jìn)程間通信的方式的。這兩篇筆記我們就來(lái)一起學(xué)習(xí)一下這種方式。
只有5千行代碼的GuiLite是嵌入式、單片機(jī)中常用的GUI框架;它就是C++編寫(xiě),在GitHub有4.8K star,在Gitee有2K star。可能你覺(jué)得5千行能做什么?
本文以32位系統(tǒng)為例,詳細(xì)介紹了內(nèi)核空間(kernel space)和用戶空間(user space)。
武俠小說(shuō)中,各路俠客綠林好漢都是從基本功開(kāi)始一招一式學(xué)起,掌握了足夠多的招式后,加之勤學(xué)苦練,量變引起質(zhì)變,會(huì)有一天打開(kāi)任督二脈頓悟出這些招式背后的哲學(xué)邏輯,成為一代宗師。在編程的學(xué)習(xí)過(guò)程中,我們何嘗不是從一招一式的函數(shù)、語(yǔ)法、特性等學(xué)起。
根據(jù)IEEE(國(guó)際電氣和電子工程師協(xié)會(huì))的定義,嵌入式系統(tǒng)(Embedded System)是指以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。
微控制器制造商的開(kāi)發(fā)板,以及他們與開(kāi)發(fā)板一起提供的軟件項(xiàng)目例程,在工程師著手一個(gè)新設(shè)計(jì)時(shí)可以提供很大幫助。但在設(shè)計(jì)項(xiàng)目完成其早期階段后,進(jìn)一步設(shè)計(jì)時(shí),制造商提供的軟件也可能會(huì)導(dǎo)致一些問(wèn)題。使用實(shí)時(shí)操作系統(tǒng)作為應(yīng)用程序代碼平臺(tái)的設(shè)計(jì)還面臨著許多挑戰(zhàn),比如如何將功能分配給不同的并行任務(wù)、如何設(shè)計(jì)高可靠的進(jìn)程間通信、以及如何在硬件上測(cè)試整個(gè)軟件包等問(wèn)題。
很多初學(xué)者都不知道這個(gè)“do{...} while(0U)”作用和意義,甚至覺(jué)得這樣寫(xiě)的代碼復(fù)雜且沒(méi)意義。相信使用過(guò)STM32Cube HAL庫(kù)的朋友都知道,源碼里面有許多do{...} while(0U)的宏定義語(yǔ)句。今天講的主要知識(shí)點(diǎn)是:HAL庫(kù)中do{...} while(0U)作用和意義。
在GitHub發(fā)布項(xiàng)目之前,你可以用免費(fèi)的官方代碼掃描程序來(lái)檢查Bug了。編程很難,難就難在常有Bug而不自知。
在軟件開(kāi)發(fā)過(guò)程中,調(diào)試是必不可少的環(huán)節(jié),嵌入式操作系統(tǒng)的調(diào)試與桌面操作系統(tǒng)的調(diào)試相比有很大差別,嵌入式系統(tǒng)的可視化調(diào)試能力比桌面操作系統(tǒng)要弱一點(diǎn)。對(duì)于導(dǎo)航這種業(yè)務(wù)場(chǎng)景比較復(fù)雜的程序開(kāi)發(fā),可視化調(diào)試環(huán)境能讓我們業(yè)務(wù)場(chǎng)景開(kāi)發(fā)事半功倍,也能快速定位導(dǎo)航業(yè)務(wù)與車(chē)機(jī)中其他模塊交互出現(xiàn)的問(wèn)題,提高開(kāi)發(fā)過(guò)程中的調(diào)試效率。
if...else是所有高級(jí)編程語(yǔ)言都有的必備功能,但現(xiàn)實(shí)中的代碼往往存在著過(guò)多的if...else。雖然if...else是必須的,但濫用的話,會(huì)對(duì)代碼的可讀性、可維護(hù)性造成很大傷害,進(jìn)而危害到整個(gè)軟件系統(tǒng)。
武俠小說(shuō)中,各路俠客綠林好漢都是從基本功開(kāi)始一招一式學(xué)起,掌握了足夠多的招式后,加之勤學(xué)苦練,量變引起質(zhì)變,會(huì)有一天打開(kāi)任督二脈頓悟出這些招式背后的哲學(xué)邏輯,成為一代宗師。在編程的學(xué)習(xí)過(guò)程中,我們何嘗不是從一招一式的函數(shù)、語(yǔ)法、特性等學(xué)起,掌握了一門(mén)編程語(yǔ)言后,再學(xué)習(xí)另一門(mén)語(yǔ)言就會(huì)快很多,如同擁有內(nèi)功后,習(xí)得其他武功也會(huì)輕松很多。
如何保證發(fā)布出去的bin文件是最終測(cè)試通過(guò)的版本?
一組漫畫(huà)告訴你!