Android中PopupWindow位置的確定一般通過showAsDropDown函數來實現,該函數有兩個重載函數,分別定義如下:public void showAsDropDown(View anchor) 
在開發應用中,很多情況下要設計listview或button控件的背景,下面總結一下Android的selector的用法:1.在drawable中配置Android的selector。將如下的XML文件保存成你自己命名的.xml文件(比如item_
一. 基於UCOS-II操作系統的UDP網絡編程 1.UDP網絡編程的組成部分Ø 啟動任務:負責UDP的初始化,創建通信工具和輪訓檢測是否有數據報到來。Ø UDP數據處理任務:負責UDP報文
1.內核中所有已分配的字符設備編號都記錄在一個名為 chrdevs 散列表裡。該散列表中的每一個元素是一個 char_device_struct 結構,它的定義如下:static struct char_device_struct {struct c
1. 下載內核源代碼 apt-cache search linux-source 其中顯示的有:linux-source-2.6.20, 沒有和我的內核版本完全匹配,不過也沒關系,直接下載就可以了: apt-get install linux-sou
一.minicom的安裝(1)打開終端,輸入:sudo apt-get install minicom(2)然後進行配置,輸入sudo minicom -s(3)進入Serial port setup,需要修改兩處:1>A中 /dev/tty8
strcpy ,strncpy ,strlcpy的用法好多人已經知道利用strncpy替代strcpy來防止緩沖區越界。但是如果還要考慮運行效率的話,也許strlcpy是一個更好的方式。1. strcpystrcpy 是依據 /0 作為結束判斷的,如
一.帶參數的宏1.帶參數的宏定義不是簡單的字符串替換,還要進行參數替換定義格式為:#define 宏名(參數表) 字符串1>字符串包含括號中所有指定的參數eg: #define S(a
1. 流水線被指令填滿時才能發揮最大效能,即每時鐘周期完成一條指令的執行(僅指單周期指令)。如果程序發生跳轉,流水線會被清空,這將需要幾個時鐘才能使流水線再次填滿。因此,盡量少的使用跳轉指令可以提高程序執行效率,解決發案就是盡
1前言:有些程序每次執行時不應該產生相同的結果,如游戲和模擬,此時隨機數就非常有用。下面這兩個函數合在一起使用能夠產生偽隨機數(pseudo-random number):通過計算產生的隨機數,可能有重復出現,所以並不是真正的隨機數。in
Linux下靜態庫生成和使用一.靜態庫概念1.庫是預編譯的目標文件(object files)的集合,它們可以被鏈接進程序。靜態庫以後綴為”.a”的特殊的存檔(archive file)存儲。2.標准系統庫可在目錄/usr/lib與/li
1.gcc編譯器對程序的編譯,分為四個階段:1>預編譯(pre-processing):在預處理階段,輸入的是C語言的源文件,通常為*.c。它們一般帶有*.h之類的頭文件。這個階段主要處理源文件中的#ifdef,#include,#define
Linux下動態庫生成和使用一.動態庫的基本概念1.動態鏈接庫是程序運行時加載的庫,當動態鏈接庫正確安裝後,所有的程序都可以使用動態庫來運行程序。動態鏈接庫是目標文件的集合,目標文件在動態鏈接庫中的組織方式是按照特殊方式形成的。庫中函數和變量的地址是
預編譯指令#pragma的用法最近在看開源項目中的代碼時,發現許多地方都用到了#pragma的程序。因此,就問了下谷歌老師,總結了下#pragma預編譯指令的常用用法,現在和大家分享下。一.#pragma最常用的方法1. #progma pack(n
我門在做一些大型項目時候,在編寫程序中時會考慮到,如果出現一些異常的時候是直接拋出異常呢,還是將異常寫入到日志文件中,提供給系統管理員來查看。以下就針對這兩種情況分別介紹在Linux中如何將異常寫入日志或者是直接拋出異常。一.拋出異常在C語言中拋出異