原创 Android AIDL proxy/stub 分析
AIDL的作用 由於每個應用程序都運行在自己的進程空間,並且可以從應用程序UI運行另一個服務進程,而且經常會在不同的進程間傳遞對象。在Android平臺,一個進程通常不能訪問另一個進程的內存空間,所以要想對話,需要將對象分解成操作系
原创 c++中cin,cin.get()的區別
cin>>通常只能讀取一個單詞。cin.get()可以讀取固定長度的字符串,含空格等符號。 一、使用cin函數 由於cin通過空格、製表符、換行符來界定字符串的。故cin在獲取字符時只讀取一個單詞長度,對於有空格的字符串其空格後面字符讀不了
原创 C++中cin.clear()函數的說明及具體使用
當我們使用cin函數作爲輸入的時候,可能會出現輸入錯誤的問題,例如下面給出的例子 #include <iostream> using namespace std; int main() { int number; c
原创 ndroid AIDL與proxy,stub
1.簡單使用 利用android studio開發aidl還是非常方便的,建立一個aidl的後綴文件,在service與activity分別完成實現與引用就可以了 舉例: aidl文件 interface IMyAidlInterfa
原创 C++中關於new及動態內存分配的思考
如何實現一個malloc? malloc_tutorial.pdf ———————————————————————————————————— 我們知道,使用malloc/calloc等分配內存的函數時,一定要檢查其返回值是否爲“空
原创 C++中函數返回臨時對象和本地對象的區別
C++中函數返回臨時對象和本地對象的區別 在C++中如果函數返回值是對象的時候,那麼該直接返回臨時對象呢,還是先在函數體內構造好一個本地 對象,然後返回。如果可以直接返回臨時對象,那麼我們就返回臨時對
原创 C++ const volatile constexpr static
前言 這是面試官比較喜歡問的問題,咱們把它解決掉,開始。 volatile 遇到這個關鍵字聲明的變量,編譯器對訪問該變量的代碼就不再進行優化,從而可以提供對特殊地址的穩定訪問。 當要求使用 volatile 聲明的變量的值的時候,系統總是重
原创 Linux內核的任務
1.從技術層面講,內核是硬件與軟件之間的一箇中間層。作用是將應用層序的請求傳遞給硬件,並充當底層驅動程序,對系統中的各種設備和組件進行尋址。 2.從應用程序的層面講,應用程序與硬件沒有聯繫,只與內核有聯繫,內核是應用程序知道的層次中的最底層
原创 求解C++常量左值引用爲什麼可以綁定一個右值
如題,正常情況下引用代表變量的一個別名,如: int a = 1; int &b = a; //ok(b是a的一個別名,兩者指向相同的內存地址) int &c = 2;//error(不能將非常量左值引用綁定到右值2) const int
原创 STL——仿函數(函數對象)
一、仿函數(也叫函數對象)概觀 仿函數的作用主要在哪裏?從第6章可以看出,STL所提供的各種算法,往往有兩個版本,其中一個版本表現出最常用(或最直觀)的某種運算,第二個版本則表現出最泛化的演算流程,允許用戶“以template參數來指定所要
原创 與 C++11 多線程相關的頭文件
C++11 新標準中引入了四個頭文件來支持多線程編程,他們分別是<atomic> ,<thread>,<mutex>,<condition_variable>和<future>。 <atomic>:該頭文主要聲明瞭兩個類, std::
原创 Android HAL層庫加載原理
Android HAL層庫加載原理 Android HAL層的由來:由於市面做移動芯片的廠商很多,大部分廠商考慮到自己硬件的設計架構、安全、專利等方面原因,不願意公開自己的這方面代碼,也出於不同廠商硬件架構不太一樣,適配開發難度週期長,GO
原创 C++基礎知識:泛型編程
1.泛型編程的概念 ---不考慮具體數據類型的編程模式 Swap 泛型寫法中的 T 不是一個具體的數據類型,而是泛指任意的數據類型. 2.函數模板 - 函數模板其實是一個具有相同行爲的函數家族,可用不同類型進行調用 - 函數模板可以根據
原创 C++STL----容器高效使用
1. 容器中對象拷貝高效、防剝離發生的方法: 使容器包含指針而不是對象。( ps:STL容器是在創建拷貝,相比數組,是動態創建,節省時間和空間) 2. 總是調用empty()而不
原创 Android Binder機制(一)
binder用於android進程間的通訊。客戶端程序和系統服務,客戶端進程之間,都是通過binder進行進程間通訊的。 1.客戶端程序和系統服務 客戶端和系統服務通訊的入口:cotext.getSystemService(Str