原创 使用Qt內置引擎解析JSON格式數據

Qt有個模塊Script可以用來解析ECMAScript QString jsonString = "{/"name/":/"//u6c49//u5b57/"}"; QScriptEngine engine; QS

原创 內存管理

內存泄露的檢測 可使用sdk自帶的工具instruments進行檢測,他相當於一個IDE,除了內存泄露還可以檢查很多程序問題,例如執行時間,運行性能等等。 剛開始不會用的時候犯了個錯誤:使用了常量字符串進行泄露檢測: //超乎想象,這裏沒

原创 基本數據類型的長度

C/C++僅僅定義了這些基本數據類型之間的關係,並沒有定義嚴格定義它們的字長。在不同的平臺上,根據編譯器不同的實現,它們的字長如下表所示: 數據類型 LP64 ILP64 LLP64 ILP32 LP32 char 8 8 8 8 8

原创 座標系統

Mac OS X 的座標系統爲原點在左下角,x軸向右,y軸向上,即笛卡爾座標系   不同於Mac OS X, iOS 的自然座標系爲原點在左上角,x軸向右,y軸向下,如UIView,UIImage... 而當使用定製的Graphics C

原创 cocos2d 中的奧妙

首先不得不提,cocos2d 的文檔相當差,很多時候不得不直接看源代碼   事件響應:只有CCLayer才具有響應鍵盤鼠標事件的能力,除此之外還需: self.isTouchEnabled = YES; ... //override -(

原创 源文件編碼方式

"漢字" GBK編碼:BA BA , D7 D6 UTF-8編碼:E6 B1 89, E5 AD 97 UTF-16BE編碼:6C 49, 5B 57   兩種常用編譯器gcc,cl中對Unicode字面值的實現: GCC gcc中跟編碼

原创 編譯boost

編譯boost 首先下載源代碼包,解壓之後,先得生成bjam——boost的構建工具。windows下 如果已經安裝了msvc,則只需運行一下bootstrap.bat,就會生成bjam.exe和project-config.jam這兩個

原创 Category vs Protocol

Category: 用來擴充類中的方法(包括可以添加自己的方法到Cocoa Framework中) 作爲子類,代替繼承 用來將類的實現分爲幾個部分(實現私有方法) 用來聲明非正式協議(聲明的所有方法不必都實現) #import "Clas

原创 XCode: ld waning boost consthas different visibility (default)

編譯boost庫應用時產生大量諸如ld: warning: boost::xxx consthas different visibility (default) in之類的警告,雖不影響,但比較鬧心。 解決辦法: 在Targets(注意是

原创 添加應用圖標

info.plist中: 如果只需要一個圖片,修改Icon file即可. 如果需要一組圖片,則需創建Icon files,數組,挨個添加需要的圖片.

原创 xcode .gitignore

# Xcode .DS_Store build/ *.pbxuser !default.pbxuser *.mode1v3 !default.mode1v3 *.mode2v3 !default.mode2v3 *.perspective

原创 開啓雪豹 64位模式

檢查CPU是否支持64位: ioreg -l -p IODeviceTree | grep firmware-abi 終端會返回“EFI32″ or “EFI64.”   如果你覺得每次開機都要按住“6”和“4”很麻煩, 那還有個

原创 添加啓動圖片

啓動圖片,即splash,當應用尚未完全啓動完成時顯示的圖片 直接添加一個名爲Default.png的圖片即可,Retina的圖片名爲[email protected], 注意Default的第一個字母D要大寫.

原创 UIImagePickerController中文界面

默認是英文的,怎麼變成中文界面呢? 其實很簡單,只要創建一個空的中文(zh-Hans)InfoPlist.strings就可以了,這樣系統會知道當前應用是國際化的,就會根據當前的語言環境選擇相應的界面.

原创 cmake 命令行

兩種使用方式: cmake [option] <path-to-source> 指向含有頂級CMakeLists.txt的那個目錄 cmake [option] <path-to-existing-build> 指向含有CMakeCach