C語言編程過程中,經(jīng)常會用到如 #include、#define 等指令,這些標識開頭的指令被稱為預處理指令,預處理指令由預處理程序(預處理器)操作。相比其他編程語言,C/C++ 語言更依賴預處理器,故在閱讀或開發(fā) C/C++ 程序過程中,可能會接觸大量的預處理指令。
說到指針,估計還是有很多小伙伴都還是云里霧里的,有點“知其然,而不知其所以然”。但是,不得不說,學了指針,C語言才能算是入門了。指針是C語言的「精華」,可以說,對對指針的掌握程度,「直接決定」了你C語言的編程能力。
C語言編程過程中,經(jīng)常會用到如 #include、#define 等指令,這些標識開頭的指令被稱為預處理指令,預處理指令由預處理程序(預處理器)操作。相比其他編程語言,C/C++ 語言更依賴預處理器,故在閱讀或開發(fā) C/C++ 程序過程中,可能會接觸大量的預處理指令。
多年前的一個夜晚,風雨大作,一個名叫Docker的年輕人來到Linux帝國拜見帝國的長老?!癓inux長老,天下程序員苦于應用部署久矣,我要改變這一現(xiàn)狀,希望長老你能幫幫我” 長老回答:“哦,小小年紀,口氣不小,先請入座,你有何所求,愿聞其詳”Docker坐下后開始侃侃而談:“當今天下,應用開發(fā)、測試、部署,各種庫的依賴紛繁復雜,再加上版本之間的差異,經(jīng)常出現(xiàn)在開發(fā)環(huán)境運行正常,而到測試環(huán)境和線上環(huán)境就出問題的現(xiàn)象,程序員們飽受此苦,是時候改變這一狀況了?!?/p>
young gc、old gc、full gc、mixed gc 傻傻分不清?這個問題的前置條件是你得知道 GC 分代,為什么分代。這個在之前文章提了,不清楚的可以去看看?,F(xiàn)在我們來回答一下這個問題。
算法是一個程序和軟件的靈魂,作為一名優(yōu)秀的程序員,只有對一些基礎的算法有著全面的掌握,才會在設計程序和編寫代碼的過程中顯得得心應手。本文是近百個C語言算法系列的第二篇,包括了經(jīng)典的Fibonacci數(shù)列、簡易計算器、回文檢查、質數(shù)檢查等算法。也許他們能在你的畢業(yè)設計或者面試中派上用場。
什么是文件?程序員使用I/O最終都逃不過文件這個概念
我們在對 vector 做 push 操作的時候,或者對某個指針做 new 操作的時候,如果沒有做異常處理,一旦系統(tǒng)內(nèi)存不夠用了,程序是會被 terminate 掉的。這就要求我們熟悉 C++ 異常,保證日常開發(fā)中能正確處理它。本文主要介紹C++ 異常機制的底層原理與實際應用,通俗易懂,快來讀一讀吧。
有很多工程師喜歡自己封裝一些標準庫已有的函數(shù),其實自己封裝的函數(shù),并不一定比標準庫好,有時候反而代碼更冗余,且有bug。下面就來分享一下C語言常見的一些標準庫。
Keil MDK 是否支持編譯器?有沒有辦法選擇其他編譯器?
宏的使用,大家經(jīng)常會用,但是一般只是簡單定義一個符號常量,類似于#define WHEEL_SCALE_MM 0.53f、#define LOG_I(tag, text_fmt, ...) log_i(tag, text_fmt, ##__VA_ARGS__) ,但是除此之外還有宏還有個##粘貼作用,可以配合#define這個常量表達式,可以做成一個宏定義指針函數(shù)列表,繼而查詢執(zhí)行函數(shù)。
誰能想到我們最喜歡的表情符號可以用來設計新的編程語言?聰明有才華的人已經(jīng)想象并開發(fā)出了成熟的編程語言,我們可以用它來編寫表情符號和表情符號。 這些基于表情符號的語言大多是深奧的編程語言( esoteric programming language),稱為esolang。然而,這些語言相對來說比其他語言更容易理解。
在使用C++開發(fā)的服務端程序中多線程還是主流,一般來說會有個線程池來處理接收的請求,這樣可以有效提供服務器的并發(fā)能力和CPU的利用率。但是,多線程也是一把雙刃劍。
貪心算法是指在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優(yōu)上加以考慮,只做出在某種意義上的局部最優(yōu)解。貪心算法不是對所有問題都能得到整體最優(yōu)解,關鍵是貪心策略的選擇,選擇的貪心策略必須具備無后效性,即某個狀態(tài)以前的過程不會影響以后的狀態(tài),只與當前狀態(tài)有關。
兩個線程,兩個互斥鎖如何形成死鎖?
一文梳理端口號知識點。
在沒有用Optional判空之前,你是否也像下面的代碼一樣判空呢?如果是,請往下看,Optional 相對傳統(tǒng)判空的優(yōu)勢。
相信使用Java的同學都用過Maven,這是一個非常經(jīng)典好用的項目構建工具。但是如果你經(jīng)常使用Maven,可能會發(fā)現(xiàn)Maven有一些地方用的讓人不太舒服。
都2020年了,聽說你還在用vc++ 6.0,不,可能還到處搜索下載安裝巨無霸一樣的visual studio 2019來調(diào)試你“雞碎咁多”的代碼?都out了,這些不是過于龐大就是編譯器老掉牙了。為啥不用gcc呢?gcc不是Linux里面的嗎,能用在Windows?還能debug嗎?什么?你不知道Windows也可以用gcc?好吧,我今天手把手教你用gcc,并且教你在vscode上用gcc征服debug過程中遇到的各種疑難雜癥!
定義了指針變量,但是沒有為指針分配內(nèi)存,即指針沒有指向一塊合法的內(nèi)存。淺顯的例子就不舉了,這里舉幾個比較隱蔽的例子。