通常我們寫cpp或者類檔案都是通過ide,ide一般都有乙個統一入口去編譯**。但如果想測試某個類是否達到預期或者測試某個方法是否正確,操作就比較麻煩。
我們可以用簡單的方法去測試目標類。如何做呢?
1.開啟終端,cd到cpp檔案所在路徑。
2.記事本或者ide開啟目標檔案,編寫main,在裡面寫測試方法,例如:
/**
* @brief c++ base64 編譯碼
* @author wid
* @date 2013-20-25
* */
#include #include #include //base64 編譯碼函式宣告
std::string b64encodestring(const std::string &strstring); //對 ascii 字串進行 base64 編碼
std::string b64decodestring(const std::string &strstring); //對 base64 編碼後的字串進行解碼
//base64 編譯碼函式實現
/** * @brief 對 ascii 字串進行 base64 編碼
* * @param strstring 待編碼的字串
* * @return srs::string 返回編碼後的字串
* * @note 對於字串中含有非 ascii 字串型的字元, **將丟擲 std::string 型異常, 請捕獲
*/std::string b64encodestring(const std::string &strstring)
switch(nbytesrc%3)
return pszencode.c_str();
}/**
* @brief 對 base64 編碼後的字串進行解碼
* * @param strstring 待解碼的字串
* * @return std::string 返回解碼後的字串
* * @note 對於非base64編碼的字串或已損壞的base64字串進行解碼會丟擲 std::string 型異常, 請捕獲
*/std::string b64decodestring(const std::string &strstring)
;
if(nbytesrc%4 != 0)
throw "bad base64 string";
std::string pszdecode(nbytesrc*3/4+4, '\0');
int nloop = pszsource[nbytesrc-1] == '=' ? nbytesrc - 4 : nbytesrc;
int b[4];
int i = 0, n = 0;
for(i = 0; i < nloop; i += 4 )
if( pszsource[nbytesrc-1] == '=' && pszsource[nbytesrc-2] == '=' )
if( pszsource[nbytesrc-1] == '=' && pszsource[nbytesrc-2] != '=' )
if( pszsource[nbytesrc-1] != '=' && pszsource[nbytesrc-2] != '=' )
pszdecode[n] = '\0';
return pszdecode;
}//測試
int main()
在main方法中寫出了轉編碼的測試。
3.鍵入 g++ -o *** ***.cpp
(***是類名)
這時在目標目錄下會生成乙個exec的被編譯檔案
4.雙擊該檔案,會彈出乙個視窗,列印main方法中的log。
5.檢視log是否達到自己的預期。
mac下kafka環境搭建 測試
kafka介紹 1 安裝工具brew install kafka 會自動安裝依賴zookeeper 2 安裝配置檔案位置 usr local etc kafka zookeeper 3 啟動 zookeeper cd usr local cellar kafka 0.10.0.1 bin zooke...
mac下滲透測試環境搭建
比較懶,想起什麼就往上面新增什麼。burpsuite 感覺這個是最方便的了,其他的破解後還要弄圖示什麼的,這個是直接安裝 然後是jdk,我現在用的是jdk16,但是很多時候都要用到jdk1.8這種低版本的,所以找了一下安裝兩個版本的jdk隨時切換 還有就是clashx,挺好用的,或者是shadows...
Mac 下更新 bash profile 檔案
1 開啟terminal 終端 2 cd 進入當前使用者的home目錄 3 open bash profile 開啟.bash profile檔案,如果檔案不存在就 建立檔案 touch bash profile 編輯檔案 open e bash profile 4 直接更改彈出的.bash pro...