Time of Update: 2018-12-05
最近使用TinyXML進行C++ XML解析,感覺使用起來比較簡單,很容易上手,本文給出一個使用TinyXML進行XML解析的簡單例子,很多複雜的應用都可以基於本例子的方法來完成。以後的文章裡會講解使用Xerces進行C++ XML解析的例子,希望大家一起交流。TinyXML是一個開源的解析XML的解析庫,能夠用於C++,能夠在Windows或Linux中編譯。這個解析庫的模型通過解析XML檔案,然後在記憶體中產生DOM模型,從而讓我們很方便的遍曆這棵XML樹。
Time of Update: 2018-12-05
使用C介面訪問Sybase ASE,有多種方式。見到itpub論壇上有人問起,索性做一個簡單的demo。發現,使用SQL/C比Open Client介面更直觀,比較適合喜歡偷懶的coder.下邊介紹詳細過程. 1. 資料庫環境資料庫iihero, 有使用者spring/spring1, 使用sa使用者登入,執行如下指令碼(test_proc.sql),目的是建立一個樣本表及資料,並為它建立一個預存程序,給後邊的程式用. use iiherogosetuser 'spring'goif
Time of Update: 2018-12-05
如果要開一份跨平台開發的讀書清單: 0. 深入理解電腦系統 將它列為0,實在是因為它是一本從程式員的角度去解釋一個電腦系統。它解釋了一些最基本的東西。1. Unix環境進階編程 如果覺得有些深,可找本簡單的<<GNU/Linux編程指南>>墊墊底2. Windows核心編程 這本書內容太厚實了,3比它簡單明了些3. Win32多線程程式設計4. Unix網路編程 (Richard那幾卷) 這個不說了。5. C++程式設計語言(or C++
Time of Update: 2018-12-05
現在,越來越多的C++伺服器和用戶端融入了指令碼的支援,尤其在網遊領域,指令碼語言已經滲透到了方方面面,比如你可以在你的用戶端增加一個指令碼,這個指令碼將會幫你在介面上顯示新的資料,亦或幫你完成某些任務,亦或幫你查看別的玩家或者NPC的狀態。。。如此等等。但是我覺得,其實指令碼語言與C++的結合,遠遠比你在遊戲中看到的特效要來的迅猛。它可以運用到方方面面的領域,比如你最常見的應用領域。比如,你可以用文字編輯器,寫一個指令碼語言,然後用你的程式載入一下,就會產生出很絢麗的介面。亦或一兩句文本語言,
Time of Update: 2018-12-05
(1)編譯產生執行檔案# gcc -g tst.c -o tst 注意 -g 選項不可沒有,否則gdb的l命令不能列出源檔案內容(2)啟動GDBgdb ./tst 若想一邊調式,程式碼可以同步顯示,則執行 gdb -tui ./test (建議這樣調試)(3)gdb常用命令(gdb) help <------------- 協助(gdb) help running <-------- 顯示running類別下的命令(gdb) l <-------------------
Time of Update: 2018-12-05
Linux CC與GCC的區別概括介紹從名字上看,老的unix系統的CC程式叫做C Compiler。但GCC這個名字按GNU的說法叫做GnuCompiler Collection。因為gcc包含很多編譯器(C, C++, Objective-C, Ada, Fortran,and
Time of Update: 2018-12-05
1、#import和#include的區別,@class代表什嗎?@class一般用於標頭檔中需要聲明該類的某個執行個體變數的時候用到,在m檔案中還是需要使用#import而#import比起#include的好處就是不會引起重複包含2、談談Object-C的記憶體管理方式及過程?1.當你使用new,alloc和copy方法建立一個對象時,該對象的保留計數器值為1.當你不再使用該對象時,你要負責向該對象發送一條release或autorelease訊息.這樣,該對象將在使用壽命結束時被銷毀.2.
Time of Update: 2018-12-05
最新的cocos2d-x版本為2.1.3,在調用build_native.sh產生時沒問題,但在build_native.sh clean時出現了以下錯誤。Clean: chipmunk_static [armeabi]/bin/sh: -c: line 0: syntax error near unexpected token `('/bin/sh: -c: line 0: `rm -rf (TARGET_OBJS)'make: ***
Time of Update: 2018-12-05
C++ assert 宏的應用方式將會在這篇文章中進行詳解相信對此有興趣的朋友們應該可以根據我們介紹的內容充分掌握這方面的應用技巧。 作為一個經驗豐富的編程人員來說,對於C++程式設計語言應該不會陌生的,它的應用可以協助我們輕鬆的實現各種功能需求。在這裡我們會對C++ assert 宏的一些基本應用做一個詳細介紹。assert宏的原型定義在< assert.h>中,其作用是如果它的條件返回錯誤,則終止程式執行,原型定義:#include < assert.h>
Time of Update: 2018-12-05
轉載於 李建忠 blogjefong 2005/0729C++/CLI中棧對象的設計問題 C++/CLI中新推出的自動確定性資源回收(Automatic deterministic destruction)被視為一個優秀的設計。是使用所謂C++/CLI這個“新瓶”來裝Bjarne Stroustrup提出的RAII這個“舊酒”。這的確不錯,相對而言,這個比C#中的using
Time of Update: 2018-12-05
1.break 和 continue區別:break: 跳出迴圈,往下執行continue:終止本次迴圈,進行下一次迴圈例如:for(int i=0 ; i<7; i++){ if(i == 0) { break; //continue; } printf("呵呵");}printf("哈哈");其中,i == 0 時,break會列印出 哈哈, continue 不會列印,
Time of Update: 2018-12-05
用C++ 而不是 C1.用const代替#define來建立常量2.用enum代替#define來建立常量集合3.用內聯(inline)函數代替#define宏4.用new和delete代替malloc和free5.用輸入輸出資料流(iostreams)代替stdio6.選擇C++語言而不是C預先處理,但是要理解調試代碼的時候需要使用前置處理器7.檢測浮點指標的值。浮點指標沒有精確的二進位標記法,所以不要期望它們會有精確的值。因此,也不應該用比較兩個浮點指標的值的方法來判斷二者是否相等。eg:#
Time of Update: 2018-12-05
使用斷言12.用MFC時選擇ASSERT宏13.不要使用VERIFY宏,使用斷言宏14.在使用CObject衍生類別的對象之前都要調用ASSERT_VALID宏15.總是在調用ASSERT_KINDOF宏之前調用ASSERT_VALID宏16.移植代碼的時候也移植斷言17.要想有效利用斷言需要一定的策略,不要隨意的把斷言分布到你的代碼裡面,而是遵從某些已經建立起來的模式18."Assert the
Time of Update: 2018-12-05
IAR中同時輸出多個檔案的說明方法一:操作步驟: 1、在Project->Options->XLINK->Include中觀察該Project使用了哪個XCL檔案。 2、在該XLC檔案中加入以下兩行: -Ointel-extended,(CODE)=.hex -Ointel-extended,(XDATA)=.eep 3、在Project->Options->XLINK->Output-
Time of Update: 2018-12-05
使用跟蹤語句31.OutputDebugString API函數,MFC AfxOutputDebugString 宏和MFC AfxDumpStack
Time of Update: 2018-12-05
使用異常和傳回值1.使用傳回值處理錯誤需要程式員嚴格的編程作風,程式員不論是否有這種習慣,這都是非常不希望的。2.正確的異常處理是C++中的一個常識。異常通過發出錯誤訊號,可以讓程式碼和錯誤處理代碼分開,而且不會讓程式忽略錯誤。3.必須瞭解使用了哪種錯誤處理方法,傳回值還是拋出異常。如果不知道,那麼你的程式肯定有問題。4.異常是基於每個線程而提出並處理的;異常不能被線程忽略,必須被處理;未處理的異常會使進程結束,而不僅僅是線程結束;異常處理在釋放棧時會釋放所有的棧對象,因此避免了資源的漏洞;異常
Time of Update: 2018-12-05
情境: 運行程式時出現了一系列的錯誤,例如:(1)編譯核心執行命令 make menuconfig 命令時出現如下錯誤:/usr/local/bin/ld: cannot load ld backend library 'libld_elf_x86_64.so':libld_elf_x86_64.so: cannot open shared object file: No such file or directory即/usr/local/bin/ld: cannot load
Time of Update: 2018-12-05
C++密碼編譯演算法庫 Botan 在Windows 和 Linux 下的編譯(一) Botan 簡介botan官網:http://botan.randombit.net/Botan 是一個 C++ 的密碼編譯演算法庫,支援 AES, DES, SHA-1, RSA, DSA, Diffie-Hellman 等多種演算法,支援 X.509 認證以及CRLs 和 PKCS
Time of Update: 2018-12-05
hello.c: 功能實現------------------------------------------------------------ #include<stdio.h>#ifdef PGI //編譯時間使用 -DPGI 選項定義宏 PGIvoid hello_(int *num, char *name) //fortran中調用,注意參數要使用指標.
Time of Update: 2018-12-05
sscanf、sprintf 也可以用,但是不建議使用,實際上 c++ 實現 string 和其他資料類型的轉換很容易完成,見如下代碼:#include <iostream>using std::cout;using std::endl;#include <string>using std::string;#include <sstream>using std::stringstream;using std::ostringstream;template