原创 C到C++的關係

一、C與C++的關係 C與C++的關係示意圖如下圖所示: 從圖中可以看出以下幾點: C++繼承了所有的C特性 C++在C的基礎上提供了更多的語法和特性 C++的設計目標是運行效率與開發效率的統一 C與C++不是競爭關係,而是 C++是從

原创 第4課 - 布爾類型和引用

一、C++中的布爾類型 C++在C語言的基本類型系統之上增加了 bool bool是C++中的基本數據類型,可以定義bool類型的全局變量,可以定義bool類型的常量,可以定義bool類型的指針,可以定義bool類型的數組。等等類型。 C

原创 第7課 - 函數參數的擴展

一、函數參數的默認值        C++中可以在函數聲明時爲參數提供一個默認值,當函數調用時沒有提供參數的值,則使用默認值;參數的默認值必須在函數聲明中指定,若函數定義中出現參數的默認值,編譯器就報錯;當函數聲明和定義中的參數默認值不同

原创 第8課 - 函數重載分析(上)

一、重載 同一個標識符在不同的上下文有不同的意義;如: “洗”和不同的詞彙搭配後有不同的含義;如洗衣服,洗臉,洗腦,洗馬桶。。。。。。 “play”和不同的單詞搭配後有不同的含義;如play chess,play piano,play b

原创 第9課 - 函數重載分析(下)

一、重載與指針 函數重載遇上函數指針,將重載函數名賦值給函數指針時, 根據重載規則挑選與函數指針參數列表一致的候選者 嚴格匹配候選者的函數類型與函數指針的函數類型; 如圖1所示的代碼,根據上面兩點可以判斷函數指針明顯指向int func(

原创 第12課 - 解析const和指針關係

一、C++的const常量的判別準則 (1)只有用字面量初始化的const常量纔會進入符號表 (2)被volatile修飾的const常量不會進入符號表 (3)使用其它變量初始化的cosnt常量仍然是隻讀變量 (4)在編譯期間不能直接確定

原创 linux下QtCreator4.9安裝配置qwt和qwt移植到arm開發板

一、QtCreator安裝配置qwt 1、下載最新qwt庫:https://sourceforge.net/projects/qwt/files/qwt/我下載的是6.1.4 2、安裝qwt庫 解壓qwt-6.1.4.zip,把解壓得到的

原创 Qt5.9.1交叉編譯源碼並實現界面旋轉功能

環境介紹 主機操作系統:Ubuntu18.04 64位 目標平臺:致遠電子的M6708U     芯片:imx6 交叉工具:arm-poky-linux-gnueabi    版本gcc4.9.1 解壓並安裝 把從官網下載的qt-ever

原创 我的第一個上位機軟件

       2019年即將過去,這一年最值得開心、高興的事就是我參與研發的“全自動生化分析儀”終於上市了,並受到市場的歡迎;由於有非常給力的銷售團隊,機器的訂單一直不斷。當然機器研製成功是項目經理和團隊的功勞,而我只是參與其中的一部分而

原创 第5課 - 引用的本質分析

一、引用的意義 引用作爲變量別名而存在,因此在一些場合可以代替指針; 引用相對於指針來說具有更好的可讀性和實用性; 函數中的引用形參不需要 進行初始化。 如下圖1所示,可以看用引用作爲形參的函數在使用時會方便很多,因爲不用像指針那樣需要取

原创 第3課-進化後的const分析

一、C語言中的const const修飾的變量是隻讀的,本質還是變量; const修飾的局部變量在棧上分配空間; const修飾的全局變量在只讀存儲區分配空間; const只在編譯期有用,在運行期無用; const修飾的變量不是真的常量,

原创 Qt Creator 工程管理

Qt Creator以工程項目的方式對源碼進行管理。一個Qt Creator工程包含不同類型的文件,各個文件的簡單描述如下所示: .pro:項目描述文件 .pro.user:用戶配置描述文件 .h:頭文件 .cpp:源文件 .ui:界面描

原创 醫療儀器中幾種常用圖形系統

1、單片機+圖形系統 醫療設備主控板的主控芯片採用單片機,而單片機常用的裸機搭載圖形系統,或者運行小型實時嵌入式系統,再者就是把單片機加液晶屏做成串口屏的形式。 運行在單片機上的圖形系統有emWin, emWin適合小型的簡約風格的界面需

原创 學習C++的意義

聲明:本專欄所有文章是學習狄泰軟件學院的C++課程的筆記 一、常見觀點 操作系統和驅動程序都是C寫的,學好C就足夠; C++在應用層用得比較多,學嵌入式沒有必要學C++; 以後做驅動開發沒有必要花精力去學C++; Linus大神認爲C++

原创 第11課 - 新型的類型轉換

一、C方式的強制類型轉換 C語言的強制類型轉換的代碼如圖1所示: 圖1 C語言方式強制類型轉換存在的問題 過於粗暴;任意類型之間都可以進行轉換,編譯器很難判斷其正確性。 難於定位;在源代碼中無法快速定位所有使用強制類型轉換的語句。 二、