知識碎片 2017

2021-08-16 08:18:17 字數 2949 閱讀 4157

1). 建立共享庫

q_decl_export 巨集宣告該類作為共享庫匯出

q_decl_import. 巨集宣告從共享庫匯入

note:建立共享庫的方法詳見qt幫助文件

2).

同步非同步

阻塞和非阻塞

同步非同步關注的是訊息通訊機制

阻塞和非阻塞與執行緒相關

阻塞,非阻塞:程序

/執行緒要訪問的資料是否就緒,程序

/執行緒是否需要等待;

同步,非同步:訪問資料的方式,同步需要主動讀寫資料,在讀寫資料的過程中還是會阻塞;非同步只需要

i/o操作完成的通知,並不主動讀寫資料,由作業系統核心完成資料的讀寫。

掛起(等待

,阻塞)程序在作業系統中可以定義為暫時被淘汰出記憶體的程序。

3). 多程序和多執行緒的區別

程序時作業系統進行資源分配的單位,執行緒是cpu排程的最小單位。

keywords:多工 併發 並行

4). 結構體可以有建構函式

5). 遠端過程呼叫(rpc)

rpc就是從一台機器(客戶端)上通過引數傳遞的方式呼叫另一台機器(伺服器)上的乙個函式或方法(統稱為服務),並得到返回的結果。

rpc是乙個請求響應模型,客戶端發起請求,伺服器返回響應。(類似與http)

rpc在使用形式上像呼叫本地函式(或方法)一樣去呼叫遠端的函式(或方法)

遠端呼叫就是將物件名、函式名、引數等傳遞給遠端伺服器,伺服器將處理結果返回給客戶端。

nature:socket通訊, tcp/ip協議

6). winsock程式設計中,伺服器與sokcet繫結的ip應與實際相符,不是隨意設定的。

7). 發布訂閱模式採取的策略:socket通訊。

8). saturate_cast 型別的強制轉換,比如saturate_cast就是把資料轉換成8bit的0~255區間,負值變為0,大於255變成255,如果是浮點數,變成round最近的整數。

9). vs的編譯器如果 用mingw可以直接新增sld.dll

10). 對於canny函式的使用,推薦高低閾值比在2:1到3:1之間。

12). 讓一幅影象減去它的laplacian運算元可以增強對比度。

13). 霍夫線變換的直接輸入只能是邊緣二值影象,多概率霍夫變換要求二值影象。

14). 檢視與模型繫結時,模型必須使用new建立,否則檢視不能隨著模型的改變而改變。

15). qstring類採用隱式共享技術,將深拷貝和淺拷貝有機地結合起來。

16). 採用gamma校正法對輸入影象進行顏色空間的標準化(歸一化);目的是調節影象的對比度,降低影象區域性的陰影和光照變化所造成的影響,同時可以抑制噪音的干擾。

17). dos下 dir /a/s/b > *.txt 可將當前目錄下的檔案以全路徑的形式寫入txt。

18). opencv中mat類的push_back函式,為mat增加一行的時候使用,用mat存要加的資料。注意先呼叫release()函式。

19). 注意resize()和reshape()函式的使用。

20).mat(vector&)建構函式構造的是多行一列的矩陣。

21). hog中視窗預設大小128*64,即正樣本的大小歸一化為128*64。

22). 通過使用umat物件,opencv會自動在支援opencl的裝置上使用gpu運算,在不支援opencl的裝置仍然使用cpu運算,這樣就避免了程式執行失敗,而且統一了介面。

23). opencv提供了scharr 函式,但該函式僅作用於大小為3的核心。該函式的運算與sobel函式一樣快,但結果卻更加精確

24). qt msvc編譯器解決中英文亂碼問題:在使用中文的標頭檔案或cpp中新增巨集

#if_msc_ver>=1600

#pragmaexecution_character_set("utf-8")

#endif

25). qt5對話方塊右上角的問號去掉:

qt::windowflags flags=qt::dialog;

flags|=qt::windowclosebuttonhint;

setwindowflags(flags);

26). qt四個處理影象的類:qimage, qpixmap, qbitmap, qpicture

當較大時,可以先通過qimage將載入進來,然後把縮放成需要的尺寸,最後轉成qpixmap進行顯示。

27). qmainwindow下新增控制項不顯示,需要先新增:

1. 

qwidget *center =newqwidget(this);  

2. 

setcentralwidget(center); 

28). 函式getpid()獲取目前程序的程序識別碼。

29). 關於qt中button貼圖問題:

30). 關於**注釋,採用h5標籤:

tool:cpptripleslash敲/// 有bug慎用

31). 當在槽函式裡面要呼叫傳送訊號的物件,使用qobject的sender()函式,強制轉換獲取傳送訊號的物件。

當某乙個

object emit

乙個signal

的時候,它就是乙個

sender,

系統會記錄下當前是誰

emit

出這個signal

的,所以你在對應的

slot

裡就可以通過

sender()

得到當前是誰

invoke

了你的slot

,對應的是

qobject->d->sender.

32). extern"c"指令非常有用,因為c和c++的近親關係。注意:extern "c"指令中的c,表示的一種編譯和連線規約,而不是一種語言。c表示符合c語言的編譯和連線規約的任何語言,如fortran、assembler等。

Android碎片知識

1.空格佔位符對齊 普通的英文半形空格 no break space 普通的英文半形空格但不換行 中文全形空格 乙個中文寬度 en空格 半個中文寬度 em空格 乙個中文寬度 四分之一em空格 四分之一中文寬度 2.android scrollview自動滑動一段距離的問題解決 問題出現的原因是因為s...

知識碎片C

記錄一些c 零碎知識 求map的長度用m.size map沒有default value,但是會使用型別的預設值。例如如果value的型別是int,就會預設為0 型別是string,預設為空字串。map已經排序,如果修改排序方式,兩種方法 重構key型別的operator 使用仿函式 map的ope...

CSS碎片知識整理

1.效果 border style none 無邊框 border width 0 邊框寬度為0px 2.區別 1 效能差異 border 0 瀏覽器對border width border color進行渲染,占用記憶體。當定義邊框時,不僅要設定邊框寬度,還要設定邊框樣式才能達到顯示的效果 bor...