㆒ 般㆟ 對 C++ templates 的粗淺印象,大約停留在「容器(containers)」的製作㆖ 。稍有研究 則會發現,templates衍生出來的 C++ Generic Programming(泛型編程)技術,在 C++ 標準程 式庫㆗ 已經遍㆞ 開花結果。以 STL為重要骨幹的 C++ 標準程式庫,將 templates 廣泛運用於容 器 (containers) 、演算法 (algorithms) 、仿函式 (functors) 、配接器 (adapters) 、配置器 (allocators) 、 迭代器(iterators)㆖ 頭,無處不在,無役不與,乃至於原有的 class-based iostream都被改寫為 template-based iostream。
上傳時間: 2016-10-28
上傳用戶:rocwangdp
VIP專區-嵌入式/單片機編程源碼精選合集系列(94)資源包含以下內容:1. 本文介紹了嵌入式系統的概念, 分析了μC/OS 的內核結構, 并詳細介紹了在具有ARM 體系結構的S3C44B0 微處理器 上進行μC/OS 操作系統的移植和應用程序及驅動程序的開發。.2. 本文介紹了嵌入式系統的概念, 分析了μC/OS 的內核結構, 并詳細介紹了在具有ARM 體系結構的S3C44B0 微處理器 上進行μC/OS 操作系統的移植和應用程序及驅動程序的開發。.3. 介紹嵌入式開發適合初學者的學習及有一定工作經驗的人作為參考手冊.4. 通過C++和GLUT.5. ht芯片通過IO口讀寫I2C芯片的匯編源代碼.6. 該文檔為dsp c6000系列的原理圖資料,對于嵌入式開發者很有使用價值..7. 12864液晶的驅動程序.8. 一個完整的ASM程序.9. 單相電子式液晶電能表源程序已經是成熟產品的程序。.10. 一個用C語言控制的讀寫7022.11. 51開發板的源程序.12. sofia-sip-1.12.4.13. CPLD EPM7256原理圖PCB圖.14. 嵌入式LINUX 的驅動程序。采用2410的開發板全部可以通用(如使用引腳不同只要重新改腳定義).15. 著名EDA工具軟件VCS得技術資料。pdf格式。.16. 非常好完的游戲.17. keil c中io的編程.18. keil c中BUZZ的運用.19. Lcd的編成.20. 射頻卡讀卡電路和程序,以及網絡芯片8019的電路和程序,功能是實現一個射頻卡讀卡,讀出數據傳輸到上位機.通過網絡..21. 這是一個串口通信程序.22. 該源碼實現了為現場人員創建擁有GUI的嵌入式數據庫,現場人員通過獲得數據可以進行薪水調查,數據包括職位,企業類型,年收入,閱歷.23. * 一、功能: Timestamp驅動演示代碼. * 二、該源碼需要硬件開發板的支持,因為ISS對Timestamp定時器的模擬還不夠精確 * 如果將該源碼運行于ISS模式下,將得不到精確的結.24. rtl8019驅動程序及其main函數的源碼.25. C++嵌入系統實例不是很全,總共7個分別是2,3,5,6,7,8,9.26. C++嵌入系統實例不是很全,總共7個分別是2,3,5,6,7,8,9.27. C++嵌入系統實例不是很全,總共7個分別是2,3,5,6,7,8,9.28. C++嵌入系統實例不是很全,總共7個分別是2,3,5,6,7,8,9.29. WINCE MFC COM sample. (from EVC高級編程及其應用開發).30. 三星ARM9的LCD驅動板原理圖和PCB圖.31. 我設計的CAN總線模塊.32. 三星ARM9 S3C2410 核心板原理圖與PCB圖.33. 我用三星ARM9 S3C2410 做的掌上電腦 原理圖與pcb圖.34. 一個大公司的ARM9開發板原理圖.35. cypress fx2 firmware代碼示例.36. cypress ezusb driver 代碼模板.37. 不錯的X86匯編代碼示例.38. 匯編代碼示例.39. 非常好的匯編代碼示例.40. 本人以前做的些東西.
上傳時間: 2013-06-09
上傳用戶:eeworm
給定n個整數a , a , ,an 1 2 組成的序列。序列中元素i a 的符號定義為: ï î ï í ì - < = > = 1 0 0 0 1 0 sgn( ) i i i i a a a a 符號平衡問題要求給定序列的最長符號平衡段的長度L,即: þ ý ü î í ì = + - = å = £ £ £ max 1| sgn( ) 0 1 j k i i j n k L j i a 。 例如,當n=10,相應序列為:1,1,-1,-2,0,1,3,-1,2,-1 時,L=9。
上傳時間: 2015-10-28
上傳用戶:xaijhqx
VIP專區-嵌入式/單片機編程源碼精選合集系列(132)資源包含以下內容:1. siemens PLC Prodave 通訊測試.2. 嵌入式系統下IC卡讀寫的源碼.3. 數字音樂盒的完整畢業論文(無意中發現的) 課程設計題目:數字音樂盒.4. 單片機程序 51頻率計 電子琴 電子鐘程序 按鍵顯示程序最終成功.5. C和C++嵌入式系統編程,一本很嵌入式編程很不錯的書..6. 一本很好的介紹yaffs文件系統的書籍 一本很好的介紹yaffs文件系統的書籍.7. 一份不錯的介紹linux 字符設備驅動的文檔.8. 工程源文件.9. 用holtek3000開發環境編寫的單片機C語言鍵盤掃描程序..10. 8255A芯片的中文資料(8255中文資料).11. mmc_sd_memory_card_driver_sample_project_files spi接口的sd card driver 示例.12. 單片機驅動PS2鍵盤的c程序 希望對大家有用.13. a voice guide client ,it is the second part of voice guide center.14. msc map program to control client of tools,use for map guide.15. C#開發win ce代碼程序.16. 2個Ds18b20溫度顯示電路,12Mhz晶振.17. 5分頻cpld原理圖實現.18. 可實現對ST公司的SPI flash的控制.19. VB實現的文字圖片原理,VB實現的文字圖片原理.20. 嵌入式C精華, 嵌入式C精華,嵌入式C精華.21. 一個簡單的電梯控制系統,主要實現一個八層樓的電梯控制..22. 這是自己做的一個gui 及供初學者參考 如有問題可以一起討論 可發到我的郵箱里 完成的功能就是 對uicontrol的應用.23. 觸摸屏校正算法,主流嵌入式設計都使用此算法,個人覺得經典..24. 基于51單片機的源碼,內有液晶顯示(IIC)接口,還實現串口和定時操作等功能..25. 鏈接器和加載器,這是一本全面介紹我們編寫的程序是如何被鏈接的,個人覺得做嵌入式開發的軟件工程師必備的一本書..26. 使用Embest IDE for ARM 開發環境及ARM 軟件模擬器; 通過實驗掌握簡單ARM 匯編指令的使用方法。.27. AD7714是一款24位高速AD轉換芯片.28. Cortex-M3是首款基于ARMv7-M架構的處理器.29. 剛剛學習ne2000驅動開發.30. ATMEL的芯片資料pdf文檔.31. GPS衛星定位模塊的驅動程序.32. 還可以.33. 基于CAN總線的分布式三維步進電機控制系統.34. 自己做的交通燈~~~用c編寫的.35. 基于PCI總線的高速數據傳輸.36. [轉載]嵌入到系統進程中,檢查并報告主板型號.37. Freescale_071112_1公司內部的器件資料.38. 關于2410開發板的u-boot的說明.39. CX1-22R 可編程控制器(簡稱 CX1)是 22 路 I/O 一體化小型可編程控制器(PLC).40. PIC匯編各個時間延時小程序.
標簽: SD卡
上傳時間: 2013-04-15
上傳用戶:eeworm
LT3474 是一款支持多種電源的降壓型 1ALED 驅動器,具有一個 4V 至 36V 的寬輸入電壓範圍,並可通過編程以高達 88% 的效率來輸送 35mA 至1A 的 LED 電流
上傳時間: 2013-11-09
上傳用戶:xhwst
九.輸入/輸出保護為了支持多任務,80386不僅要有效地實現任務隔離,而且還要有效地控制各任務的輸入/輸出,避免輸入/輸出沖突。本文將介紹輸入輸出保護。 這里下載本文源代碼。 <一>輸入/輸出保護80386采用I/O特權級IPOL和I/O許可位圖的方法來控制輸入/輸出,實現輸入/輸出保護。 1.I/O敏感指令輸入輸出特權級(I/O Privilege Level)規定了可以執行所有與I/O相關的指令和訪問I/O空間中所有地址的最外層特權級。IOPL的值在如下圖所示的標志寄存器中。 標 志寄存器 BIT31—BIT18 BIT17 BIT16 BIT15 BIT14 BIT13—BIT12 BIT11 BIT10 BIT9 BIT8 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 00000000000000 VM RF 0 NT IOPL OF DF IF TF SF ZF 0 AF 0 PF 1 CF I/O許可位圖規定了I/O空間中的哪些地址可以由在任何特權級執行的程序所訪問。I/O許可位圖在任務狀態段TSS中。 I/O敏感指令 指令 功能 保護方式下的執行條件 CLI 清除EFLAGS中的IF位 CPL<=IOPL STI 設置EFLAGS中的IF位 CPL<=IOPL IN 從I/O地址讀出數據 CPL<=IOPL或I/O位圖許可 INS 從I/O地址讀出字符串 CPL<=IOPL或I/O位圖許可 OUT 向I/O地址寫數據 CPL<=IOPL或I/O位圖許可 OUTS 向I/O地址寫字符串 CPL<=IOPL或I/O位圖許可 上表所列指令稱為I/O敏感指令,由于這些指令與I/O有關,并且只有在滿足所列條件時才可以執行,所以把它們稱為I/O敏感指令。從表中可見,當前特權級不在I/O特權級外層時,可以正常執行所列的全部I/O敏感指令;當特權級在I/O特權級外層時,執行CLI和STI指令將引起通用保護異常,而其它四條指令是否能夠被執行要根據訪問的I/O地址及I/O許可位圖情況而定(在下面論述),如果條件不滿足而執行,那么將引起出錯碼為0的通用保護異常。 由于每個任務使用各自的EFLAGS值和擁有自己的TSS,所以每個任務可以有不同的IOPL,并且可以定義不同的I/O許可位圖。注意,這些I/O敏感指令在實模式下總是可執行的。 2.I/O許可位圖如果只用IOPL限制I/O指令的執行是很不方便的,不能滿足實際要求需要。因為這樣做會使得在特權級3執行的應用程序要么可訪問所有I/O地址,要么不可訪問所有I/O地址。實際需要與此剛好相反,只允許任務甲的應用程序訪問部分I/O地址,只允許任務乙的應用程序訪問另一部分I/O地址,以避免任務甲和任務乙在訪問I/O地址時發生沖突,從而避免任務甲和任務乙使用使用獨享設備時發生沖突。 因此,在IOPL的基礎上又采用了I/O許可位圖。I/O許可位圖由二進制位串組成。位串中的每一位依次對應一個I/O地址,位串的第0位對應I/O地址0,位串的第n位對應I/O地址n。如果位串中的第位為0,那么對應的I/O地址m可以由在任何特權級執行的程序訪問;否則對應的I/O地址m只能由在IOPL特權級或更內層特權級執行的程序訪問。如果在I/O外層特權級執行的程序訪問位串中位值為1的位所對應的I/O地址,那么將引起通用保護異常。 I/O地址空間按字節進行編址。一條I/O指令最多可涉及四個I/O地址。在需要根據I/O位圖決定是否可訪問I/O地址的情況下,當一條I/O指令涉及多個I/O地址時,只有這多個I/O地址所對應的I/O許可位圖中的位都為0時,該I/O指令才能被正常執行,如果對應位中任一位為1,就會引起通用保護異常。 80386支持的I/O地址空間大小是64K,所以構成I/O許可位圖的二進制位串最大長度是64K個位,即位圖的有效部分最大為8K字節。一個任務實際需要使用的I/O許可位圖大小通常要遠小于這個數目。 當前任務使用的I/O許可位圖存儲在當前任務TSS中低端的64K字節內。I/O許可位圖總以字節為單位存儲,所以位串所含的位數總被認為是8的倍數。從前文中所述的TSS格式可見,TSS內偏移66H的字確定I/O許可位圖的開始偏移。由于I/O許可位圖最長可達8K字節,所以開始偏移應小于56K,但必須大于等于104,因為TSS中前104字節為TSS的固定格式,用于保存任務的狀態。 1.I/O訪問許可檢查細節保護模式下處理器在執行I/O指令時進行許可檢查的細節如下所示。 (1)若CPL<=IOPL,則直接轉步驟(8);(2)取得I/O位圖開始偏移;(3)計算I/O地址對應位所在字節在I/O許可位圖內的偏移;(4)計算位偏移以形成屏蔽碼值,即計算I/O地址對應位在字節中的第幾位;(5)把字節偏移加上位圖開始偏移,再加1,所得值與TSS界限比較,若越界,則產生出錯碼為0的通用保護故障;(6)若不越界,則從位圖中讀對應字節及下一個字節;(7)把讀出的兩個字節與屏蔽碼進行與運算,若結果不為0表示檢查未通過,則產生出錯碼為0的通用保護故障;(8)進行I/O訪問。設某一任務的TSS段如下: TSSSEG SEGMENT PARA USE16 TSS <> ;TSS低端固定格式部分 DB 8 DUP(0) ;對應I/O端口00H—3FH DB 10000000B ;對應I/O端口40H—47H DB 01100000B ;對用I/O端口48H—4FH DB 8182 DUP(0ffH) ;對應I/O端口50H—0FFFFH DB 0FFH ;位圖結束字節TSSLen = $TSSSEG ENDS 再假設IOPL=1,CPL=3。那么如下I/O指令有些能正常執行,有些會引起通用保護異常: in al,21h ;(1)正常執行 in al,47h ;(2)引起異常 out 20h,al ;(3)正常實行 out 4eh,al ;(4)引起異常 in al,20h ;(5)正常執行 out 20h,eax ;(6)正常執行 out 4ch,ax ;(7)引起異常 in ax,46h ;(8)引起異常 in eax,42h ;(9)正常執行 由上述I/O許可檢查的細節可見,不論是否必要,當進行許可位檢查時,80386總是從I/O許可位圖中讀取兩個字節。目的是為了盡快地執行I/O許可檢查。一方面,常常要讀取I/O許可位圖的兩個字節。例如,上面的第(8)條指令要對I/O位圖中的兩個位進行檢查,其低位是某個字節的最高位,高位是下一個字節的最低位??梢娂词怪灰獧z查兩個位,也可能需要讀取兩個字節。另一方面,最多檢查四個連續的位,即最多也只需讀取兩個字節。所以每次要讀取兩個字節。這也是在判別是否越界時再加1的原因。為此,為了避免在讀取I/O許可位圖的最高字節時產生越界,必須在I/O許可位圖的最后填加一個全1的字節,即0FFH。此全1的字節應填加在最后一個位圖字節之后,TSS界限范圍之前,即讓填加的全1字節在TSS界限之內。 I/O許可位圖開始偏移加8K所得的值與TSS界限值二者中較小的值決定I/O許可位圖的末端。當TSS的界限大于I/O許可位圖開始偏移加8K時,I/O許可位圖的有效部分就有8K字節,I/O許可檢查全部根據全部根據該位圖進行。當TSS的界限不大于I/O許可位圖開始偏移加8K時,I/O許可位圖有效部分就不到8K字節,于是對較小I/O地址訪問的許可檢查根據位圖進行,而對較大I/O地址訪問的許可檢查總被認為不可訪問而引起通用保護故障。因為這時會發生字節越界而引起通用保護異常,所以在這種情況下,可認為不足的I/O許可位圖的高端部分全為1。利用這個特點,可大大節約TSS中I/O許可位圖占用的存儲單元,也就大大減小了TSS段的長度。 <二>重要標志保護輸入輸出的保護與存儲在標志寄存器EFLAGS中的IOPL密切相關,顯然不能允許隨便地改變IOPL,否則就不能有效地實現輸入輸出保護。類似地,對EFLAGS中的IF位也必須加以保護,否則CLI和STI作為敏感指令對待是無意義的。此外,EFLAGS中的VM位決定著處理器是否按虛擬8086方式工作。 80386對EFLAGS中的這三個字段的處理比較特殊,只有在較高特權級執行的程序才能執行IRET、POPF、CLI和STI等指令改變它們。下表列出了不同特權級下對這三個字段的處理情況。 不同特權級對標志寄存器特殊字段的處理 特權級 VM標志字段 IOPL標志字段 IF標志字段 CPL=0 可變(初POPF指令外) 可變 可變 0 不變 不變 可變 CPL>IOPL 不變 不變 不變 從表中可見,只有在特權級0執行的程序才可以修改IOPL位及VM位;只能由相對于IOPL同級或更內層特權級執行的程序才可以修改IF位。與CLI和STI指令不同,在特權級不滿足上述條件的情況下,當執行POPF指令和IRET指令時,如果試圖修改這些字段中的任何一個字段,并不引起異常,但試圖要修改的字段也未被修改,也不給出任何特別的信息。此外,指令POPF總不能改變VM位,而PUSHF指令所壓入的標志中的VM位總為0。 <三>演示輸入輸出保護的實例(實例九)下面給出一個用于演示輸入輸出保護的實例。演示內容包括:I/O許可位圖的作用、I/O敏感指令引起的異常和特權指令引起的異常;使用段間調用指令CALL通過任務門調用任務,實現任務嵌套。 1.演示步驟實例演示的內容比較豐富,具體演示步驟如下:(1)在實模式下做必要準備后,切換到保護模式;(2)進入保護模式的臨時代碼段后,把演示任務的TSS段描述符裝入TR,并設置演示任務的堆棧;(3)進入演示代碼段,演示代碼段的特權級是0;(4)通過任務門調用測試任務1。測試任務1能夠順利進行;(5)通過任務門調用測試任務2。測試任務2演示由于違反I/O許可位圖規定而導致通用保護異常;(6)通過任務門調用測試任務3。測試任務3演示I/O敏感指令如何引起通用保護異常;(7)通過任務門調用測試任務4。測試任務4演示特權指令如何引起通用保護異常;(8)從演示代碼轉臨時代碼,準備返回實模式;(9)返回實模式,并作結束處理。
上傳時間: 2013-12-11
上傳用戶:nunnzhy
本文將探討微控制器與 PSoC (可編程系統單晶片)在數位電視應用上的設計挑戰,並比較微控制器和 PSoC 架構在處理這些挑戰時的不同處,以有效地建置執行。
上傳時間: 2013-11-22
上傳用戶:gengxiaochao
經典c程序100例==1--10 【程序1】 題目:有1、2、3、4個數字,能組成多少個互不相同且無重復數字的三位數?都是多少? 1.程序分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列后再去 掉不滿足條件的排列。 2.程序源代碼: main() { int i,j,k printf("\n") for(i=1 i<5 i++) ?。?以下為三重循環*/ for(j=1 j<5 j++) for (k=1 k<5 k++) { if (i!=k&&i!=j&&j!=k) /*確保i、j、k三位互不相同*/ printf("%d,%d,%d\n",i,j,k) }
上傳時間: 2014-01-07
上傳用戶:lizhizheng88
求解網絡中的最短路徑。假設某個計算機網絡有n個站點,依次編號為1,2,…,n;有的站點之間有直接的線路連接(即這兩個站點之間沒有其它站點),有的站點之間沒有直接的線路連接。如果用三元組(i,j,f)來表示該網絡中的站點I和站點j之間有直接的線路連接且它們之間的距離為f 當已知該網絡各站點之間的直接連接情況由m個三元組(i1,j1,f1),(i2,j2,f2),…,(im,jm,fm)確定時,要求計算出對于網絡中任意一個站點g(1≤g≤n)到其余各站點的最短距離。
上傳時間: 2013-12-27
上傳用戶:asdkin
slickeditv10.0linuxcrackz.w.t.zip SlickEdit v10.0 for linux 注冊機 在國內網站上找了N天都沒找到,在國外一家網站找到。雖然不是源代碼,但是SlickEdit是Linux下最好用的30多種編程IDE。這個是注冊機安裝文件在百度裡找吧
標簽: 10.0 linuxcrackz slickeditv SlickEdit
上傳時間: 2013-12-10
上傳用戶:大融融rr