原创 程序員必須知道的10大基礎實用算法及其講解 (來自cricode.com)

算法一:快速排序算法 快速排序是由東尼·霍爾所發展的一種排序算法。在平均狀況下,排序 n 個項目要Ο(n log n)次比較。在最壞狀況下則需要Ο(n2)次比較,但這種狀況並不常見。事實上,快速排序通常明顯比其他Ο(n log n) 

原创 堆、棧增長方向和大端、小端問題

棧增長方向與大端/小端問題 棧增長和大端/小端問題是和CPU相關的兩個問題。 在內存管理中,與棧對應是堆。對於堆來講,生長方向是向上的,也就是向着內存地址增加的方向;對於棧來講,它的生長方式是向下的,是向着內存地址減小的方向增長。在

原创 輕鬆搞定二叉樹

版權所有,轉載請註明出處,謝謝! http://blog.csdn.net/walkinginthewind/article/details/7518888 樹是一種比較重要的數據結構,尤其是二叉樹。二叉樹是一種特殊的樹,在二叉樹

原创 ARM C程序 數據對齊訪問問題

C或者C++等語言中會涉及到內存操作,嵌入式處理器中對數據的訪問,需要遵循對齊原則,要求對齊的目的是爲了提高數據的獲取效率,舉個例子,如果也給32位數字是4字節對的,cpu一條指令即可完成數據複製,如果一個32位數字是非4字節對齊的,那麼

原创 arm trustzone 學習記錄

關鍵問題 安全的基本概念和三要素 常見的破解方法(hack shack lab) 如何構建一個可信任環境(trust execution environemnt) 安全環境和非安全環境對資源訪問的區別(secure timer inter

原创 stm32 uCOS-III移植

經過前期的學習,最近終於對操作系統有了一個比較系統的認識,想想以後可以用操作系統來替我管理系統資源了,心裏還有些小激動呢。。。激動歸激動,在激動前還有件事情要做:移植操作系統。這不,馬上就開始針對stm32F103的uCOS-iii操作系

原创 MFC數據的傳遞

1、Q:假設一個MFC對話框程序中有多個edit box,如何只讀其中某個對話框的數據? A:UpdateData(true)會將所有控件的數據都讀取,GetDlgITemInt(ID),GetDlgITemItem(ID),可以只讀取I

原创 函數指針的使用

什麼是函數指針? 函數指針指向的是特殊的數據類型,函數的類型是由其返回的數據類型和其參數列表共同決定的,而函數的名稱則不是其類型的一部分。   一個具體函數的名字,如果後面不跟調用符號(即括號),則該名字就是該函數的指針(注意:大

原创 C++:STL標準入門彙總

第一部分:(參考百度百科)  一、STL簡介 STL(Standard Template Library,標準模板庫)是惠普實驗室開發的一系列軟件的統稱。它是由Alexander Stepanov、Meng Lee和David R

原创 排序算法彙總

#include "stdafx.h" #include "sort.h" void Selection_Sort(int a[], const i

原创 內存到底分幾個區(轉)

下面有幾種網上的理解,我整理一下: 一:  1、棧區(stack)— 由編譯器自動分配釋放 ,存放函數的參數值,局部變量的值等。其操作方式類似於數據結構中的棧。  2、堆區(heap) — 一般由程序員分配釋放, 若程序員不釋放,程序

原创 計算機網絡

本文是用於記錄學習計算機網絡的筆記。 (1)物理層 比特流的定義,速率的定義等等。 (2)數據鏈路層 數據鏈路層主要功能包括:鏈路管理,幀同步,尋址,訪問控制,差錯控制和流量控制,透明傳輸。 鏈路管理:數據鏈路的建立,維持和釋放; 幀同步

原创 Keil 中新建STM32F302 工程

折騰了一天,終於建好了一個完整的stm32 project,總結一下需要注意的地方。 0、固件庫的下載,一個相對不常用的芯片型號,所對應的固件庫StdPherperal_Lib可以在ST官網上找到 tools and software--

原创 C++常用類型總結

最近在學C++,其中一些常用的但不熟悉的類型總結如下: pair 類型 經常要用到含有二維參數的一些對象,比如一個點的橫縱座標,一個人們名字的first name和last name。 Requirment: header file

原创 [轉載]VC++四種啓動其它程序的方法

 四種啓動其它程序的方法 有時我們的程序需要啓動其它程序,可能是爲了利用它已有的功能,也可能是爲了達到某種需要。那麼怎樣來啓動我們需要的程序呢? 我暫時知道有4種方法:1、調用API: int system( const char *