看開源的代碼中發(fā)現(xiàn)了一些靜態(tài)函數(shù)聲明后有如下內(nèi)容:__attribute__ ((constructor))這是gcc的擴(kuò)展屬性。

文章來源:
http://blog.csdn.net/volant_hoo/archive/2009/05/11/4169081.aspx
前兩天看libsmi源代碼,里面對(duì)strncpy函數(shù)進(jìn)行了封裝,感覺有些缺陷,雖然內(nèi)部使用的函數(shù),滿足要求就可以了,但想了想發(fā)現(xiàn)自己它了解的也不是很多。
關(guān)于strncpy,《C程序設(shè)計(jì)語言》中是這樣介紹的:“char *strncpy(s, ct, n),strncpy用于把字符串ct中最多n個(gè)字符拷貝到字符串s中,并返回s。如果ct中少于n個(gè)字符,那么就用’\0’補(bǔ)充。”
寫了一個(gè)簡(jiǎn)單的程序?qū)trncpy進(jìn)行測(cè)試。

文章來源:
http://blog.csdn.net/volant_hoo/archive/2009/05/11/4167919.aspx
奧運(yùn)會(huì)結(jié)束了,工作也要開始忙起來了。從開幕到閉幕,看了兩個(gè)星期的比賽,有高興,有驚喜,有震撼,也有失望。現(xiàn)在被比賽牽動(dòng)的心,又得趨于平淡。回歸現(xiàn)實(shí),還是工作的勞累和生活的奔波。
前天查了系分考試的成績(jī),論文沒有過。成績(jī)?cè)谝饬现g,一篇字?jǐn)?shù)剛好、內(nèi)容跑題的論文,又怎么能過呢。失敗也是經(jīng)驗(yàn),感覺以下幾點(diǎn):
1、系分沒有想象中那么難考。好好準(zhǔn)備一下,爭(zhēng)取基礎(chǔ)知識(shí)和案例成績(jī)?cè)偬岣咭恍?br />2、自己的文字組織能力有待提高。很長(zhǎng)時(shí)間沒有動(dòng)筆寫字了,兩個(gè)小時(shí)完成2000-3000字的論文和300-500的摘要,是個(gè)不小的挑戰(zhàn)。考試的時(shí)候,不敢多做思考,就一直寫呀寫的,結(jié)束前一分鐘剛好碼字到2000字那一行,慚愧啊!
3、寫論文要學(xué)會(huì)說廢話。一直以來,自己都崇尚以“簡(jiǎn)”為美,經(jīng)常對(duì)外文書籍中動(dòng)輒“洋洋大論”的行為嗤之以鼻,直到考試的時(shí)候,才發(fā)現(xiàn)說廢話也是一種好習(xí)慣。
4、把規(guī)劃細(xì)化也是一種好的方式。長(zhǎng)期以來,養(yǎng)成的習(xí)慣都是先寫好主干內(nèi)容,然后再逐步擴(kuò)充,呵呵,像XP一樣,錯(cuò)了可以改,少了可以加。唉,電子版可以如此,紙質(zhì)版又能如何,羨慕機(jī)試了。
5、需要一塊手表。考場(chǎng)上沒有鐘,手機(jī)不能用,有時(shí)間規(guī)劃也不能落到實(shí)處。
換了工作,又換了房子,需要時(shí)間去適應(yīng)新的環(huán)境。下半年的系分不打算考了,來年再度奮戰(zhàn)。阿門,祈禱一下,希望能夠順利通過。
google開源了c++單元測(cè)試框架,真讓人興奮。安裝的過程比較簡(jiǎn)單,在eclipse+mingw+cygwin下很easy就搞定了。使用也很容易,按照sample不用看文檔也能很快上手。過程就不多少了,記點(diǎn)東西備忘。
斷言:
ASSERT_TRUE(condition); EXPECT_TRUE(condition); condition為真
ASSERT_FALSE(condition); EXPECT_FALSE(condition); condition為假
ASSERT_EQ(expected, actual); EXPECT_EQ(expected, actual); expected == actual
ASSERT_NE(val1, val2); EXPECT_NE(val1, val2); val1 != val2
ASSERT_LT(val1, val2); EXPECT_LT(val1, val2); val1 < val2
ASSERT_LE(val1, val2); EXPECT_LE(val1, val2); val1 <= val2
ASSERT_GT(val1, val2); EXPECT_GT(val1, val2); val1 > val2
ASSERT_GE(val1, val2); EXPECT_GE(val1, val2); val1 >= val2
ASSERT_STREQ(expected_str, actual_str); EXPECT_STREQ(expected_str, actual_str); 兩個(gè)C字符串有相同的內(nèi)容
ASSERT_STRNE(str1, str2); EXPECT_STRNE(str1, str2); 兩個(gè)C字符串有不同的內(nèi)容
ASSERT_STRCASEEQ(expected_str, actual_str); EXPECT_STRCASEEQ(expected_str, actual_str); 兩個(gè)C字符串有相同的內(nèi)容,忽略大小寫
ASSERT_STRCASENE(str1, str2); EXPECT_STRCASENE(str1, str2); 兩個(gè)C字符串有不同的內(nèi)容,忽略大小寫
頭文件:
#include <gtest/gtest.h>
main:
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
庫:
-lgtest
eclipse的出現(xiàn)和每一次版本升級(jí),都讓人興奮,趕緊把公司和家里都升了上去。試用了兩天,總體感覺還是不錯(cuò)的。

文章來源:
http://blog.csdn.net/volant_hoo/archive/2008/07/17/2668471.aspx
很久沒有接觸snort了,由于工作的原因,和它打了兩年多的交道,雖然有不少的認(rèn)識(shí),但缺少深入的研究。閑來時(shí)翻的幾篇手冊(cè),原來放在163上,偷懶放個(gè)總的上來。

文章來源:
http://blog.csdn.net/volant_hoo/archive/2008/07/07/2622733.aspx
做了幾年C/C++開發(fā),一直想要把單元測(cè)試加上,因?yàn)楣ぷ靼才牛隽艘恍《螘r(shí)間的java,更堅(jiān)定了搭建c++單元測(cè)試環(huán)境的想法,但不得不說cppunit的配置實(shí)在是有些繁瑣,MinGW的安裝還好說,cygwin安裝實(shí)在是太慢,可憐的網(wǎng)速讓我數(shù)次終止了它的安裝,幸運(yùn)的是在公司的電腦上居然發(fā)現(xiàn)了cygwin的安裝包,于是就開始了我的cppunit的測(cè)試旅程。

文章來源:
http://blog.csdn.net/volant_hoo/archive/2008/06/02/2502339.aspx