看開源的代碼中發現了一些靜態函數聲明后有如下內容:__attribute__ ((constructor))這是gcc的擴展屬性。

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

文章來源:
http://blog.csdn.net/volant_hoo/archive/2009/05/11/4167919.aspx
奧運會結束了,工作也要開始忙起來了。從開幕到閉幕,看了兩個星期的比賽,有高興,有驚喜,有震撼,也有失望。現在被比賽牽動的心,又得趨于平淡。回歸現實,還是工作的勞累和生活的奔波。
前天查了系分考試的成績,論文沒有過。成績在意料之間,一篇字數剛好、內容跑題的論文,又怎么能過呢。失敗也是經驗,感覺以下幾點:
1、系分沒有想象中那么難考。好好準備一下,爭取基礎知識和案例成績再提高一些。
2、自己的文字組織能力有待提高。很長時間沒有動筆寫字了,兩個小時完成2000-3000字的論文和300-500的摘要,是個不小的挑戰。考試的時候,不敢多做思考,就一直寫呀寫的,結束前一分鐘剛好碼字到2000字那一行,慚愧啊!
3、寫論文要學會說廢話。一直以來,自己都崇尚以“簡”為美,經常對外文書籍中動輒“洋洋大論”的行為嗤之以鼻,直到考試的時候,才發現說廢話也是一種好習慣。
4、把規劃細化也是一種好的方式。長期以來,養成的習慣都是先寫好主干內容,然后再逐步擴充,呵呵,像XP一樣,錯了可以改,少了可以加。唉,電子版可以如此,紙質版又能如何,羨慕機試了。
5、需要一塊手表。考場上沒有鐘,手機不能用,有時間規劃也不能落到實處。
換了工作,又換了房子,需要時間去適應新的環境。下半年的系分不打算考了,來年再度奮戰。阿門,祈禱一下,希望能夠順利通過。
google開源了c++單元測試框架,真讓人興奮。安裝的過程比較簡單,在eclipse+mingw+cygwin下很easy就搞定了。使用也很容易,按照sample不用看文檔也能很快上手。過程就不多少了,記點東西備忘。
斷言:
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); 兩個C字符串有相同的內容
ASSERT_STRNE(str1, str2); EXPECT_STRNE(str1, str2); 兩個C字符串有不同的內容
ASSERT_STRCASEEQ(expected_str, actual_str); EXPECT_STRCASEEQ(expected_str, actual_str); 兩個C字符串有相同的內容,忽略大小寫
ASSERT_STRCASENE(str1, str2); EXPECT_STRCASENE(str1, str2); 兩個C字符串有不同的內容,忽略大小寫
頭文件:
#include <gtest/gtest.h>
main:
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
庫:
-lgtest
很久沒有接觸snort了,由于工作的原因,和它打了兩年多的交道,雖然有不少的認識,但缺少深入的研究。閑來時翻的幾篇手冊,原來放在163上,偷懶放個總的上來。

文章來源:
http://blog.csdn.net/volant_hoo/archive/2008/07/07/2622733.aspx
做了幾年C/C++開發,一直想要把單元測試加上,因為工作安排,做了一小段時間的java,更堅定了搭建c++單元測試環境的想法,但不得不說cppunit的配置實在是有些繁瑣,MinGW的安裝還好說,cygwin安裝實在是太慢,可憐的網速讓我數次終止了它的安裝,幸運的是在公司的電腦上居然發現了cygwin的安裝包,于是就開始了我的cppunit的測試旅程。

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