原创 使用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