Time of Update: 2018-12-03
在核心的學習中會遇到很多挺有意思的函數,而且能沿著一個函數扯出來很多個相關的函數。copy_to_user和copy_from_user就是在進行驅動相關程式設計的時候,要經常遇到的兩個函數。由於核心空間與使用者空間的記憶體不能直接互訪,因此藉助函數copy_from_user()完成使用者空間到核心空間的複製,函數copy_to_user()完成核心空間到使用者空間的複製。下面我們來仔細的理一下這兩個函數的來龍去脈。首先,我們來看一下這兩個函數的在源碼檔案中是如何定義的:~/arch/i386
Time of Update: 2018-12-03
猴子原創,歡迎轉載。轉載請註明: 轉載自Cocos2D開發網--Cocos2Dev.com,謝謝!原文地址: http://www.cocos2dev.com/?p=274最近開發一個手機版的多人線上遊戲,和伺服器通訊要用到socket長串連和http短串連。剛好這幾天有不少人問我這方面的知識。我今天就給大家講下吧。 大家應該知道在cocos2d-x上面使用socket一般有BSDSocket,http一般用curl,但實際用的過程中還是有很多問題。之前也有很多人寫過這方面的教程,我就不重複了,
Time of Update: 2018-12-03
這是一份tiny6410下的led驅動,為瞭解釋詳細,先不直接貼代碼,代碼tiny6410光碟片有,而且本文也在最後貼出代碼。寫的動機:這是第一個也是最簡單的硬體驅動程式了,而且開發板貌似也沒有足夠的注釋。不涉及的知識點:驅動程式基礎,混雜裝置,這些不懂的話要自己查。驅動程式只有短短的10來行,並且注釋和分析比較詳細。/*這份代碼在tiny6410光碟片原始碼ldev/char下,但是我增加了注釋和圖片,方便大家理解。參考資料:三星s3c6410使用者手冊(中文版)下載連結:http://dow
Time of Update: 2018-12-03
感覺這一周的時間過得很快,似乎又沒有撈到什麼。但是細想想還是有些收穫的。在前幾天看了一篇文章後更加深刻的覺得自己要學的東西還有很多,現在學習的還只是表面的東西(當然了,我不是說學習的思想)。這篇文章地址:《昨天,我的大學學習》 先說說這周的具體的學習內容。
Time of Update: 2018-12-03
Spinlock的目的是用來同步SMP中會被多個CPU同時存取的變數。在Linux中,普通的spinlock由於不帶額外的語義,使用起來反而要非常小心。 在Linux kernel中執行的代碼大體分normal和interrupt context兩種。tasklet/softirq可以歸為normal因為他們可以進入等待;nested interrupt是interrupt context的一種特殊情況,當然也是interrupt
Time of Update: 2018-12-03
正在做項目中有很多遊戲資料要儲存,常見的玩家資料這些比較簡單的可以用CCUserDefault。它是cocos2d-x用來存取基礎資料型別 (Elementary Data Type)用的。儲存為XML檔案格式。主要方法:(和java的map很像,索引值對,應該很容易懂的)void setBoolForKey(const char* pKey, bool value);void setIntegerForKey(const char* pKey, int value);void
Time of Update: 2018-12-03
安裝版軟體就是軟體必須執行安裝才能使用綠色版軟體就是軟體不需要安裝即可執行。綠色版、安裝版的區別說明:安裝版軟體在執行安裝過程中,即使我們將軟體裝在系統以外的其它分區,但很多軟體同時還是會像系統硬碟下的 system以及system32檔案夾或者c:/programs
Time of Update: 2018-12-03
32位的IA-32處理器對系統儲存空間中的位置支援加鎖的原子操作。這些操作一般用於共用的資料結構(諸如訊號量、段描述符、系統段和頁表)。而對於這些共用的資料結構,可能會有兩個或更多處理器試圖同時修改它們的同一個域(譯者註:即相當於C語言中結構體變數的一個資料成員)或標誌。處理器使用三個相互依賴的機制來執行加鎖的原子操作:1、有保證的原子操作2、鎖匯流排,使用LOCK#訊號以及LOCK指令首碼3、確保原子操作可以在被cache的資料結構上執行的Cache一致性協議(Cache鎖);該機制已經在奔騰
Time of Update: 2018-12-03
猴子原創, 歡迎轉載,轉載請在明顯處註明! 謝謝。原文地址:http://blog.csdn.net/yanghuiliu/article/details/6933421之前我介紹過cocos2d-x的幀動畫實現,今天我把幀動畫詳細寫一下。幀動畫就是很多張png的順序圖表實現輪流播放產生動畫效果。那麼首先我們要一套動畫的順序圖表,沒有圖的可以看引擎例子裡面的圖。很多張圖我們可以採用TP工具將它們壓縮到一張png裡面去,這樣程式只需要讀取一次就行了,提高效率。比如我將這裡的6張圖壓成了一個png,
Time of Update: 2018-12-03
CCCallFunc是CCActionInstant的子類,是非常重要的一個類族,就是適配器。用大白話說,就是做了一層封裝,把函數封裝成動作,這樣你在執行動作的時候,就可以執行函數了。聽起來很怪異嗎?為什麼不直接執行函數呢?這是因為執行條件不同。 使用CCCallFunc家族的類CCCallFunc家族一共有四個類。這是四個類對象的靜態產生函數:1.CCCallFunc * CCCallFunc::actionWithTarget(SelectorProtocol* pSelectorTar
Time of Update: 2018-12-03
1.指向函數的指標類型 定義指向函數的指標類型: // void 類型代表任意類型 typedef void (*FP)(void) ; //定義指向返回void類型,需要傳入一個void型別參數的函數的指標類型 FP fp ; //定義變數fp fp = Math.Sin ; //將變數fp賦值為Sin函數 // 調用函數指標的方法如下 void main(
Time of Update: 2018-12-03
猴子原創, 歡迎轉載,轉載請在明顯處註明! 謝謝。原文地址:http://blog.csdn.net/yanghuiliu/article/details/6933352做項目遇到了很多動畫效果,基本大多數使用action實現的,當然也可以自己在每一幀的時候自己去實現,原理基本一樣的。1、使用CCMoveTo左右快速抖動。CCPoint pointL=pointBg;CCPoint pointR=pointBg;pointL.x-=3;pointR.x+=3;CCMoveTo*
Time of Update: 2018-12-03
一、音樂音效的播放[cpp] view
Time of Update: 2018-12-03
http://blog.sina.com.cn/s/blog_a502f1a30101hh6h.html轉載,好文章在看這個之前,你先要瞭解onEnter , onExit 和 建構函式,解構函式在調用順序上面的區別總的來說,順序如下建構函式{}onEnter{}onExit{}解構函式{}講這個之前需要講一些在實踐中遇到的問題。前段時間在項目中fix掉兩個和記憶體相關的bug,然後就對這兩個方法存在有一些新的理解。1 我們用的cocos2d-x的版本是cocos2d-1.0.1-x-0.12.
Time of Update: 2018-12-03
猴子原創, 歡迎轉載,轉載請在明顯處註明! 謝謝。原文地址:http://blog.csdn.net/yanghuiliu/article/details/6933277CCCallFunc作為一個CCAction可以用來調用自己的函數。其用處還是很多的。1、用一個不帶參數的函數給一個action建立回調功能。使用CCCallFuncCCFiniteTimeAction* actions= CCSequence::actions(action,
Time of Update: 2018-12-03
1.首先在於架構設計參照mvc一下為部落格http://www.cnblogs.com/anndaming/2.記憶體檢測使用效果不大,主要在於引擎有自己的記憶體管理機制,使用起來記憶體檢測無法識別,但也可以算是給自己提個醒,可能部分真的會有記憶體泄露。弧度制與角度制,很多運行採用的是弧度制,而setrotation使用的卻是角度制,個人不明白為什麼這樣做。3.標頭檔迴圈包含的情況下,使用編譯一次的方法不能解決。檔案A#include B.hclass a{//
Time of Update: 2018-12-03
猴子原創, 歡迎轉載,轉載請在明顯處註明! 謝謝。原文地址:http://blog.csdn.net/yanghuiliu/article/details/6917242遊戲中技能CD用的最多的也就兩種。一種是類似dota裡面技能CD的灰色半透明透明遮罩層,順時針或者逆時針。另一種就是類似植物大戰殭屍裡面的植物建造CD。上下類型的遮罩層。其實cocos2d-x可以很容易實現這種效果。dota裡面技能CD實現:CCProgressTimer*
Time of Update: 2018-12-03
為ARM添加設定檔:vi /etc/3g-modem/12d1.1505.ff輸入以下內容,並儲存,這個設定檔測試很多次才得到:DisableSwitching=0EnableLogging=0DefaultVendor= 0x12d1DefaultProduct= 0x1505MessageContent="55534243123456780000000000000011062000000100000000000000000000"# choose one of
Time of Update: 2018-12-03
本代碼的彙編部分採用Blackfin指令集。具體參考手冊可以在www.analog.com首頁上下載。setjmp.asm:.section program;.extern _jmp_buf, _jmp_index;_set_jmp: .global _set_jmp; [--sp] = r0; [--sp] = p0; [--sp] = p1; p1.h = hi(_jmp_index); p1.l = lo(_jmp
Time of Update: 2018-12-03
最近為了線上看視頻快點,就下了個PP加速器。後來就在案頭上發現了個名為:cache的檔案夾,不知道是幹什麼的就給刪了,後來又在搜尋殺毒引擎時看到這麼個名字,就查了一下,說實話看不太懂什麼意思,懂個大概。 cache : 高速緩衝儲存空間 一種特殊的儲存空間子系統,其中複製了頻繁使用的資料以利於快速存取。儲存空間的高速緩衝儲存空間儲存了頻繁訪問的 RAM