原创 關於const char*和char*、const char** 和char** 賦值問題

根據ANSI C標準的賦值約束條件:     1. 兩個操作數都是指向有限定符或無限定符的相容類型的指針。     2. 左邊指針所指向的類型必須具有右邊指針所指向類型的全部限定符。 一、const char*和char*     co

原创 C++內存分配方式詳解——堆、棧、自由存儲區、全局/靜態存儲區和常量存儲區

棧,就是那些由編譯器在需要的時候分配,在不需要的時候自動清除的變量的存儲區。裏面的變量通常是局部變量、函數參數等。在一個進程中,位於用戶虛擬地址空間頂部的是用戶棧,編譯器用它來實現函數的調用。和堆一樣,用戶棧在程序執行期間可以動態地擴展

原创 Linux 快速清屏快捷鍵

以前我們經常使用 clear,或者 reset 甚至使用系統別名如: [root@localhost ~]$ alias cls='clear'[root@localhost ~]$ cls 來清理屏幕 有沒有其他快捷方式呢?Ye

原创 Linux中的段管理,bss段,data段

Linux 的段管理, BSS段(bss segment)通常是指用來存放程序中未初始化的全局變量的一塊內存區域。BSS是英文Block Started by Symbol的簡稱。BSS段屬於靜態內存分配。 該段用於存儲未初始化的全

原创 關於函數strtok和strtok_r的使用要點和實現原理(一)

strtok函數的使用是一個老生常談的問題了。該函數的作用很大,爭議也很大。以下的表述可能與一些資料有區別或者說與你原來的認識有差異,因此,我儘量以實驗爲證。交代一下實驗環境是必要的,winxp+vc6.0,一個極端平民化的實驗環境。本

原创 【動態分配棧內存】之alloca內幕

      哎,下班回家就開始大掃除,一直到凌晨才搞定,真的累了。但是計劃的是今天必須將本文寫完,不寫完睡不着覺。那就儘快切入正題吧!         我們經常使用malloc或者new等函數或操作符來動態分配內存,這裏的內存說的是堆

原创 帶外數據OOB與緊急模式URG

A,TCP支持帶外數據OOB嗎?與緊急模式URG有什麼關係?      TCP支持帶外數據,但是隻有一個OOB字節,TCP的帶外數據是通過緊急模式URG實現的.B,我們知道send(sendfd,"ABC",3,MSG_OOB),將發送

原创 算法時間複雜度的計算

求解算法的時間複雜度的具體步驟: ⑴ 找出算法中的基本語句; 算法中執行次數最多的那條語句就是基本語句,通常是最內層循環的循環體。 ⑵ 計算基本語句的執行次數的數量級; 只需計算基本語句執行次數的數量級,這就意味着只要保證基本語句執行次數

原创 摘錄:Linux打Patch的方法

作爲程序員,瞭解diff&patch命 令是非常必要的。比如說我們發現某個項目有bug代碼,而自己又沒有svn的提交權限,那麼此時最合適的解決方法就是用diff命令做一個補丁發給項目成 員。項目成員通過patch命令可以立刻知道你的意圖。

原创 bash腳本輸入密碼不回顯

編寫一個bash腳本時,需要用戶輸入一個密碼,方可繼續後續流程,但是又要保證用戶輸入的密碼不會被別人看到,因此排除了通過參數將密碼傳入腳本的方案。 不繞圈子,揭曉答案:設置終端狀態爲“字符不回顯”(如果你瞭解過termios的話,

原创 內存的靜態分配和動態分配的區別

內存的靜態分配和動態分配的區別主要是兩個:       一是時間不同。靜態分配發生在程序編譯和連接的時候。動態分配則發生在程序調入和執行的時候。       二是空間不同。堆都是動態分配的,沒有靜態分配的堆。棧有2種分配方式:靜態分配

原创 回顯

http://baike.baidu.com/view/2749682.htm http://book.51cto.com/art/200908/1

原创 數據段和只讀數據段

3.3.2  數據段和只讀數據段 .data段保存的是那些已經初始化了的全局靜態變量和局部靜態變量。前面的SimpleSection.c代碼裏面一共有兩個這樣的變量,分別是global_init_varabal與static_var。

原创 全局/靜態變量初始化爲0放在bss段還是data段

2013-6-4上午去面試,被鄙視了,技術公司大牛的風範,好犀利!不過我這題應該是蒙對了。。   如:static unsigned char s_test = 0; 這個靜態變量是放到bss段還是data段呢,以下是我編譯的結果

原创 實戰RPM包製作

  在開發中經常會用到一些rpm包,但是一直沒有自己手動製作過。今天在製作的時候意外地還解決了自己以前一直困惑的問題,就是怎麼製作rpm debuginfo包,類似CentOS官網那樣的debuginfo包。原來在製作rpm時如果沒有特