高質量C++和C編程指南資料說明[摘要]每個 C++/C 程序通常分為兩個文件。一個文件用于保存程序的聲明(declaration),稱為頭文件。另一個文件用于保存程序的實現(implementaTIon),稱為定義(definiTIon)文件。 C++/C 程序的頭文件以“.h”為后綴,C 程序的定義文件以“.c”為后綴,C++程序的定義文件通常以“.cpp”為后綴(也有一些系統以“.cc”或“.cxx”為后綴)。 自從計算機問世以來,程序設計就成了令人羨慕的職業,程序員在受人寵愛之后容易發展成為毛病特多卻常能自我臭美的群體。如今在 Internet 上流傳的“真正”的程序員據說是這樣的: (1) 真正的程序員沒有進度表,只有討好領導的馬屁精才有進度表,真正的程序員會讓領導提心吊膽。 (2) 真正的程序員不寫使用說明書,用戶應當自己去猜想程序的功能。 (3) 真正的程序員幾乎不寫代碼的注釋,如果注釋很難寫,它理所當然也很難讀。 (4) 真正的程序員不畫流程圖,原始人和文盲才會干這事。 (5) 真正的程序員不看參考手冊,新手和膽小鬼才會看。 (6) 真正的程序員不寫文檔也不需要文檔,只有看不懂程序的笨蛋才用文檔。 (7) 真正的程序員認為自己比用戶更明白用戶需要什么。 (8) 真正的程序員不接受團隊開發的理念,除非他自己是頭頭。 (9) 真正的程序員的程序不會在第一次就正確運行,但是他們愿意守著機器進行若干個 30 小時的調試改錯。 (10)真正的程序員不會在上午 9:00 到下午 5:00 之間工作,如果你看到他在上午 9:00 工作,這表明他從昨晚一直干到現在。 …… 具備上述特征越多,越顯得水平高,資格老。所以別奇怪,程序員的很多缺點竟然可以被當作優點來欣賞。就象在武俠小說中,那些獨來獨往、不受約束且帶點邪氣的高手最令人崇拜。我曾經也這樣信奉,并且希望自己成為那樣的“真正”的程序員,結果沒有得到好下場。
上傳時間: 2021-10-26
上傳用戶:
《Linux內核驅動模塊編程指南》最初是由 Ori Pomerantz為22版本的內核編寫的,后來,ori將文檔維護的任務交給了 Peter Jay Salzman,Peter完成了24內核版本文檔的編寫,畢竟Lnux內核驅動模塊是一個更新很快的內容。現在,Peter也無法騰出足夠的時間來完成2.6內核版本文檔的編寫,目前該2.6內核版本的文檔由合作者 Michael Burian完成版本和注意Linux內核模塊是一塊不斷更新進步的內容,在 LKMPG上總有關于是否保留還是歷史版本的爭論。Michae和我最終是決定為每個新的穩定版本內核建立一個新的文檔分支。也就是說LKMPG24x專注于24的內核,而 LKMPG2.6X將專注于26的內核。我們不會在一篇文檔中提供對舊版本內核的支持,對此感興趣的讀者應該尋找相關版本的文檔分支在文檔中的絕大部分源代碼和討論都應該適用于其它平臺,但我無法提供任何保證。其中的一個例外就是 Chapter12,中斷處理該章的源代碼和討論就只適用于x86平臺。什么是內核模塊?內核模塊是如何被調入內核工作的?什么是內核模塊?現在,你是不是想編寫內核模塊。你應該懂得C語言,寫過一些用戶程序,那么現在你將要見識一些真實的東西。在這里,你會看到一個野蠻的指針是如何毀掉你的文件系統的次內核崩潰意味著重啟動。什么是內核模塊?內核模塊是一些可以讓操作系統內核在需要時載入和執行的代碼,這同樣意味著它可以在不需要時有操作系統卸載。它們擴展了操作系統內核的功能卻不需要重新啟動系統。舉例子來說,其中一種內核模塊時設備驅動程序模塊,它們用來讓操作系統正確識別,使用安裝在系統上的硬件設備。如果沒有內核模塊,我們不得不一次又一次重新編譯生成單內核操作系統的內核鏡像來加入新的功能。這還意味著一個臃腫的內核。內核模塊是如何被調入內核工作的?你可以通過執行 Ismo命令來査看內核已經加載了哪些內核模塊,該命令通過讀取/proc/modules文件的內容來獲得所需信息這些內核模塊是如何被調入內核的?當操作系統內核需要的擴展功能不存在時,內核模塊管理守護進程kmod1]執行 modprobe去加載內核模塊。兩種類型的參數被傳遞給 modprobe
標簽: linux
上傳時間: 2022-03-30
上傳用戶:
周立功RS485協議指南,RS485選型及應用指南。 1 章 RS-485 選型及應用指南 .........................................................................1 1.1 RS-232/422/485 標準 ...............................................................................................1 1.1.1 RS-232 標準 .....................................................................................................2 1.1.2 RS-422/485 標準 ..............................................................................................2 1.2 RS-485/RS-422 芯片................................................................................................5 1.2.1 增強型低功耗半雙工 RS-485 收發器-SP481E/SP485E ..............................7 1.2.2 1/10 單位負載 RS-485 收發器-SP481R/SP485R .....................................10 1.2.3 +3.3V 低功耗半雙工 RS-485 收發器-SP3481/SP3485..............................13 1.2.4 增強型低功耗全雙工 RS-422 收發器-SP490E/SP491E ............................15 1.2.5 +3.3V 低功耗全雙工 RS-422 收發器-SP3490/SP3491..............................20 1.3 RS-485 接口電路 ...................................................................................................22 1.3.1 基本 RS-485 電路...........................................................................................22 1.3.2 隔離 RS-485 電路...........................................................................................23 1.3.3 上電抑制電路.................................................................................................24 1.3.4 RS-485 自動換向電路....................................................................................24 1.4 RS-485 通訊協議 ...................................................................................................25 1.4.1 ModBus 協議(RTU 模式)...............................................................................25 1.4.2 多功能電能表通訊規約(DL/T645-1997) ......................................................27 1.5 RS-485 程序設計 ...................................................................................................28 1.5.1 RS-485 接口電路............................................................................................28 1.5.2 通訊規約.........................................................................................................28 1.5.3 程序設計流程圖.............................................................................................29 1.5.4 數據接收部分.................................................................................................29 1.5.5 命令執行部分.................................................................................................29 1.5.6 數據發送部分.................................................................................................30 1.5.7 RS-485 程序清單............................................................................................31 1.6 RS-485 應用要點 ...................................................................................................38 1.6.1 合理選用芯片.................................................................................................38 1.6.2 終端匹配電阻.................................................................................................39 1.6.3 應用層通信協議.............................................................................................39 1.6.4 3V-5V 系統的連接.........................................................................................39 1.6.5 網絡節點數.....................................................................................................40 1.6.6 節點與主干距離.............................................................................................40 1.6.7 RS-485 系統的常見故障及處理方法............................................................40 1.6.8 RS-422 與 RS-485 的網絡拓樸 .....................................................................41 1.6.9 RS-422 與 RS-485 的接地問題 .....................................................................41 1.6.10 RS-422 與 RS-485 的瞬態保護 .....................................................................42 1.7 參考文獻.................................................................................................................43 廣州周立功單片機發展有限公司 Tel:(020)38730977 38730977 Fax:38730925 http://www.zlgmcu.通常的微處理器都集成有 1 路或多路硬件 UART 通道,可以非常方便地實現串行通訊。 在工業控制、電力通訊、智能儀表等領域中,也常常使用簡便易用的串行通訊方式作為數據 交換的手段。 但是,在工業控制等環境中,常會有電氣噪聲干擾傳輸線路,使用 RS-232 通訊時經常 因外界的電氣干擾而導致信號傳輸錯誤;另外,RS-232 通訊的最大傳輸距離在不增加緩沖 器的情況下只可以達到 15 米。為了解決上述問題,RS-485/422 通訊方式就應運而生了。 本章將詳細介紹 RS-485/422 原理與區別、元件選擇、參考電路、通訊規約、程序設計 等方面的應用要點,以及在產品實踐中總結出的一些經驗、竅門。
上傳時間: 2022-04-27
上傳用戶:qingfengchizhu
作為一種便捷地收集網上信息并從中抽取出可用信息的方式,網絡爬蟲技術變得越來越有用。使用Python這樣的簡單編程語言,你可以使用少量編程技能就可以爬取復雜的網站。《用Python寫網絡爬蟲》作為使用Python來爬取網絡數據的杰出指南,講解了從靜態頁面爬取數據的方法以及使用緩存來管理服務器負載的方法。此外,本書還介紹了如何使用AJAX URL和Firebug擴展來爬取數據,以及有關爬取技術的更多真相,比如使用瀏覽器渲染、管理cookie、通過提交表單從受驗證碼保護的復雜網站中抽取數據等。本書使用Scrapy創建了一個高級網絡爬蟲,并對一些真實的網站進行了爬取。
上傳時間: 2022-06-16
上傳用戶:xsr1983
應廣單片機 MINI-C編程指南.Mini-c總結文檔一、缺點:(一)函數不能帶參數.解決方法:通過A或全局變量進行參數傳遞;(二)不能使用for循環解決方法:用while循環代替for循環.(三)數組和指針功能弱化解決方法:① 使用rom查表② 使用ram查表(四)不支持全局變量定義同時進行初始化解決方法: 在初始化的時候記得對全局變量進行初始化. (五)Bit變量只支持寫入0,或1,不支持直接bit變量取反解決方法 :if(uBitFlag){ uBitFlag=0;}Else{ uBitFlag=1; } 二、優點:(一)函數不帶參數,可以節省堆棧空間(二)支持ROM查表(三).delay時間非常準確,無需手工計算(四)支持bit變量,節省ram空間,支持字,字節拆分.(五)燒錄支持滾動碼寫入.(六)端口配置可以使用腳本(七) 代碼自動生成
標簽: 單片機
上傳時間: 2022-06-17
上傳用戶:
GD32F103的移植說明和開發指南,幫助新手快速了解GD32F103芯片,縮短上手時間。本教程結合官方的用戶手冊以及固件庫例程,通過實際例程講解以及實驗現象來幫助讀者理解和使 用 GD32F130xx 這 個 系 列 的 芯 片 。 軟 件 平 臺 使 用 的 是 MDK-ARM 和 官 方 外 設 驅 動 庫 GD32F1x0_Firmware_Library_v3.1.0(庫函數開發),硬件使用技新 GD32F130G8U6 核心板 V1.0 和 GD-LINK 下載&調試器。 教程從開發平臺介紹、開發環境搭建、建立工程等基礎內容,到 GD13F130xx 外設應用,包括: GPIO應用、EXTI應用、CLK應用、USART 應用、TIMER 應用、I2C應用、SPI應用、ADC應用、FWDGT 應用和 WWDGT 應用等十大部分內容。外設應用部分的內容都配有源碼,并配合硬件平臺進行實驗講 解。教程面對的對象是具有一定的 MCU 編程基礎以及 C 語言基礎的,主旨是幫助開發者快速入門和快速 開發使用 GD32F130xx 系列產品。
標簽: gd32f103
上傳時間: 2022-06-18
上傳用戶:1208020161
這是STM32F1開發指南(精英版)-寄存器版本開發手冊,主要用于正點原子的精英開發板的學習和研究。 本手冊將結合《STM32 參考手冊》和《Cortex-M3 權威指南》兩者的優點,并從寄存器級 別出發,深入淺出,向讀者展示 STM32 的各種功能。總共配有 38 個實例,基本上每個實例在 均配有軟硬件設計,在介紹完軟硬件之后,馬上附上實例代碼,并帶有詳細注釋及說明,讓讀者快速理解代碼。STM32 擁有非常多的寄存器,其中斷管理更是復雜,對于新手來說,看ST 提供的庫函數 雖然可以很好的使用,但是沒法深入理解,一旦出錯,查問題就非常痛苦了。另外,庫函數在效率和代碼量上面都是不如直接操作寄存器的。 這些實例涵蓋了 STM32 的絕大部分內部資源,并且提供很多實用級別的程序,如:內存 管理、文件系統讀寫、圖片解碼、IAP 等。所有實例在 MDK5.10 編譯器下編譯通過,大家只需 下載程序到 ALIENTEK MiniSTM32 開發板,即可驗證實驗。 不管你是一個 STM32 初學者,還是一個老手,本手冊都非常適合。尤其對于初學者,本 手冊將手把手的教你如何使用 MDK,包括新建工程、編譯、仿真、下載調試等一系列步驟, 讓你輕松上手。本手冊不適用于想通過庫函數學習 STM32 的讀者,因為本手冊的絕大部分內 容都是直接操作 STM32 寄存器的。 本手冊的實驗平臺是 ALIENTEK MiniSTM32 V3.0 開發板,有這款開發板的朋友則直接可 以拿本手冊配套的光盤上的例程在開發板上運行、驗證。而沒有這款開發板而又想要的朋友, 可以上淘寶購買。當然你如果有了一款自己的開發板,而又不想再買,也是可以的,只要你的 板子上有 ALIENTEK MiniSTM32 V3.0 開發板上的相同資源(需要實驗用到的),代碼一般都 是可以通用的,你需要做的就只是把底層的驅動函數(一般是 IO 操作)稍做修改,使之適合 你的開發板即可
上傳時間: 2022-06-21
上傳用戶:1208020161
介紹Socket 編程讓你沮喪嗎?從man pages中很難得到有用的信息嗎?你想跟上時代去編Intemet相關的程序,但是為你在調用connect()前的bind)的結構而不知所措?等等…好在我已經將這些事完成了,我將和所有人共享我的知識了。如果你了解C語言并想穿過網絡編程的沼澤,那么你來對地方了。讀者對象這個文檔是一個指南,而不是參考書。如果你剛開始socket編程并想找一本入門書,那么你是我的讀者。但這不是一本完全的socket編程書。平臺和編譯器這篇文檔中的大多數代碼都在Linux平臺PC上用GNU的gcc成功編譯過。面且它們在HPUX平臺上用gcc也成功編譯過。但是注意,并不是每個代碼片段都獨立測試過。
上傳時間: 2022-06-23
上傳用戶:
在2012年Acam公司推出了TDC-GP22時間數字轉換器。GP22具有很多拓展功能并且給需要超高精度皮秒級的應用帶來了很多優勢,像超聲波水表和超聲波熱表。尤其是集成的模擬元器件,像斬波穩定的比較器和模擬開關,簡化了硬件設計,將外部元器件的數量降到最低。這個應用指南的目的是,作為一個TDC-GP22數據手冊的補充。它描述了用TDC-GP22實現超聲波熱表的前端電路。它提供的額外信息,有助于減少設計時間,并避免由于錯誤的元件值或不正確的配置而導致的電路問題。我們建議設計時遵循布局圖和演示板的原理圖,以便達到最好的性能。最后,應用指南包含一個通用軟件的例子,它展示了典型的測量流量。2介紹這個應用指南描述了一個基于Acam公司TDC-GP22時間數字轉換器的超聲波熱量表的前端電路。GP22作為一個前端設備,可提供完全自動化的流量測量和溫度測量。熱量計算是通過流速以及流入和流出的流體溫度差而得到的。
上傳時間: 2022-07-09
上傳用戶:
Matlab應用程序接口用戶指南
上傳時間: 2013-05-15
上傳用戶:eeworm