Time of Update: 2018-12-04
大內高手—序 我一直認為作為一個在linux下工作的C程式員,若對記憶體有深刻的認識,不但程式的效能會更高,運行更穩定,編程速度也會更快。反之亦有相反的效果,有時一些記憶體錯誤讓你摸不著頭腦,不但大大降低開發速度,開發出來的軟體穩定性也值得懷疑。 為了提高組員的編程水平,去年我制定了一系列的培訓計劃,並負責主講部分重要課程,其中基礎類課程中,有一堂關於記憶體的課程。當時的講稿寫得很粗略,後來的新同事說看不明白,我決定重新整理一下,放在BLOG,希望對新手有所協助。 至於文章的標題,基本上是為了搞
Time of Update: 2018-12-04
大內高手—全域記憶體 轉載時請註明出處:http://blog.csdn.net/absurd有人可能會說,全域記憶體就是全域變數嘛,有必要專門一章來介紹嗎?這麼簡單的東西,還能玩出花來?我從來沒有深究它,不一樣寫程式嗎?關於全域記憶體這個主題雖然玩不出花來,但確實有些重要,瞭解這些知識,對於最佳化程式的時間和空間很有協助。因為有好幾次這樣經曆,我才決定花一章篇幅來介紹它。 正如大家所知道的,全域變數是放在全域記憶體中的,但反過來卻未必成立。用static修飾的局部變數就是放在放全域記憶體的,它
Time of Update: 2018-12-04
大內高手—記憶體管理器(一) 轉載時請註明出處:http://blog.csdn.net/absurd作為一個C程式員,每天都在和malloc/free/calloc/realloc系列函數打交道。也許和它們混得太熟了,反而忽略了它們的存在,甚至有了三五年的交情,仍然對它們的實現一無所知。相反,一些好奇心未泯的新手,對它們的實現有著濃厚的興趣。當初正是一個新同事的問題,促使我去研究記憶體管理演算法的實現。 記憶體管理演算法多少有些神秘,我們很少想著去實現自己的記憶體管理演算法,這也難怪:有這樣需
Time of Update: 2018-12-04
ACE_Message_Block的分配器的使用方法ACE_Messae_Block中結合了ACE_Allocator,使ACE_Message_Block更加靈活,本文中將簡單介紹ACE_Message_Block和ACE_Allocator的使用方法,及注意事項。 首先我們看看ACE_Message_Block的構著函數:ACE_Message_Block (size_t size, ACE_Message_Type type = MB_DATA,
Time of Update: 2018-12-04
大家看看,說不定有幾條有用。 1.無論發生什麼事情,都要首先想到自己是不是做錯了。如果自己沒錯(那是不可能的),那麼就站在對方的角度,體驗一下對方的感覺。 2.讓自己去適應環境,因為環境永遠不會來適應你。即使這是一個非常非常痛苦的過程。 3.大方一點。不會大方就學大方一點。如果大方真的會讓你很心疼,那就裝大方一點。 4.低調一點,低調一點,再低調一點(要比臨時工還要低調,可能在別人眼中你還不如一個幹了幾年的臨時工呢)。 5.嘴要甜,平常不要吝惜你的喝彩聲。
Time of Update: 2018-12-04
這次這個軟體仍然是用C編的,可以在linux環境下實現:下載文檔,編輯文檔,關閉遠程主機,重新啟動遠程主機,修改管理員密碼這五個功能.由於編程只是本人的業餘愛好,水平實在有限,所以軟體做的比較垃圾,希望各位高手不吝賜教此軟體只能在linux環境下運行.伺服器實現的關鍵代碼如下:int main(int argc, char** argv)//argc為參數的個數,argv[0]對應程式, argv[1]對應-p, argv[2]對應連接埠號碼{ ……………………………… if
Time of Update: 2018-12-04
在使用TCP協議的網路應用中,不可避免需要處理的一個問題就是半包和粘包的情況。 一種做法是在接收端設一個比較大的緩衝區,先將收到的資料包都放到緩衝區中,然後從該緩衝區中選取完整的資料包出來。該緩衝區的實現可以使用環形緩衝區進行最佳化,避免頻繁的資料移動。使用該方法的一個描述見 http://www.vckbase.com/document/viewdoc/?id=1203
Time of Update: 2018-12-04
動態嵌入式DLL木馬發現與清除 隨著MS的作業系統從Win98過渡到Winnt系統(包括2k/xp/2003),MS的工作管理員也一下子脫胎換骨,變得火眼金睛起來(在WINNT下傳統木馬再也無法隱藏自己的進程),這使得以前在win98下靠將進程註冊為系統服務就能夠從工作管理員中隱形的木馬面臨前所未有的危機,所以木馬的開發人員及時調整了開發思路,所以才會有今天這篇討論如何清除動態嵌入式DLL木馬的文章。 首先,我們來瞭解一下什麼是動態嵌入式木馬,為了在NT系統下能夠繼續隱藏進程,木馬的開發人
Time of Update: 2018-12-04
1.ubuntu電源管理:ubuntu的電源管理不是那麼豐富和友好,兩個問題:1)電池模式時,自動降低螢幕亮度,解決:在系統-喜好設定-電源管理,設定一下。2)從電池模式切換到交流電模式時,系統不會自動把螢幕亮度恢複,解決:面板,添加“亮度小程式”,手動調一下亮度。2.Ubuntu的主菜單的應用程式功能表列給玩沒了:參考:http://www.busfly.cn/post/ubuntu-application-menu.html.config/menus/application.menu刪除後重
Time of Update: 2018-12-04
[著作權聲明] Copyright(c) 1999 本教程由*葫蘆娃*翻譯,並做了適當的修改,可以自由的用於非商業目的。 但Redistribution時必須拷貝本[著作權聲明]。 [BUG] 有不少部分,翻譯的時候不能作到“信,達”。當然了,任何時候都沒有做到“雅”,希望各位諒解。[原著] Don Libes: National Institute of Standards and Technology libes@cme.nist.gov[目錄]
Time of Update: 2018-12-04
環境與法律程式設計語言就像法律,同樣類型的法律在不同國家規則不同,適用的範圍也不同,相同的部分可能實際操作上有的比較簡化,有的比較繁瑣。就好像C++與java
Time of Update: 2018-12-04
一般類的提示eth1: Too much work at interrupt, IntrStatus=0x0001這條提示的含意為. 某網卡的插斷要求過多. 如果只是偶爾出現一次可忽略. 但這條提示如果經常出現或是集中出現,那涉及到的可能性就比較多有可能需要進行處理了. 可能性比較多,如網卡效能;伺服器效能;網路攻擊..等等.一般類的提示IPVS: incoming ICMP: failed checksum from 61.172.0.X!伺服器收到了一個校正和錯誤的ICMP資料包.
Time of Update: 2018-12-04
char * strcpy( char *strDest, const char *strSrc ) { assert( (strDest != NULL) && (strSrc != NULL) ); char *address = strDest; while( (*strDest++ = * strSrc++) != ‘/0’ ); return address; } int strlen( const char
Time of Update: 2018-12-04
對系統管理員來說,平時的工作重心應該集中在維護系統正常運轉,能夠正常提供服務上,這裡往往牽涉到一個資料備份的問題,在我所瞭解的情況中,有80%的系統管理員不是太關心自己伺服器的安全性,但往往對備分鏡像的技術相當感興趣,但由於商業產品的軟硬體價格都相當高昂,因此往往會選擇自由軟體。這裡準備介紹的rsync就是這樣的軟體,它可以滿足絕大多數要求不是特別高的備份需求。一、特性簡介rsync是類unix系統下的資料鏡像備份工具,從軟體的命名上就可以看出來了——remote
Time of Update: 2018-12-04
我今天測試發現ACE_InputCDR和ACE_OutputCDR並不是那麼簡單。如果稍微不注意就會出現一些奇怪的位元組錯位的情況。在這裡我總結一下使用的規則: ACE_OutputCDR out(mb); out << ?? ; //這種方法簡稱out 例一: 如果out 了一個short再out一個long 位元組將成為如下排列(16進位)
Time of Update: 2018-12-04
泛型演算法:所有演算法的前兩個參數都是一對iterators:[first,last),用來指出容器內一個範圍內的元素。每個演算法的聲明中,都表現出它所需要的最低層次的iterator類型。70個演算法:accumulate() 元素累加adjacent_difference() 相鄰元素的差額adjacent_find() 搜尋相鄰的重複元素binary_search() 二元搜尋copy() 複製copy_backward() 逆向複製count() 計數count_if()
Time of Update: 2018-12-04
作者 南域劍盟 2006/07/21, 星期五 1、著名的dos攻擊軟體 /******************** DOS.c *****************/ #include #include #include #include #include #include #include #include #include void send_tcp(int sockfd,struct sockaddr_in *addr); unsigned short
Time of Update: 2018-12-04
1.基本用法void VectorNormalize(Vec* src, Vec* dat){ float length; assert(src!=0);//檢查src向量必須不為空白 assert(dst!=0);//檢查dst向量必須不為空白 .................. ..................}2.讓assert嵌入更多的資訊void VectorNormalize(Vec* src, Vec* dst){ float length; assert(src!=0 &
Time of Update: 2018-12-04
vmstat 命令用途報告虛擬記憶體統計資訊。文法vmstat [ -f ] [ -i ] [ -s ] [ -I ] [ -t ] [ -v ] [ PhysicalVolume ... ] [ Interval [ Count ] ]描述vmstat 命令報告關於核心線程、虛擬記憶體、磁碟、陷阱和 CPU 活動的統計資訊。由 vmstat 命令產生的報告可以用於平衡系統負載活動。系統範圍內的這些統計資訊(所有的處理器中)都計算出以百分比表示的平均值,或者計算其總和。如果調用 vmstat
Time of Update: 2018-12-04
作者:watercloud < watercloud@nsfocus.com > 首頁:http://www.nsfocus.com 日期:2002-1-4 SHELLCODE的活力在於其功能,如果在能夠完成功能的前提下又能比較"優美",那麼就更能體現shellcode的魅力.個人認為shellcode的優美能在兩個地方表現: <1> shellcode本身應該盡量的短小. <2>