原创 【Segment Fault】段錯誤解析

今天發現了幾個容易導致段錯誤的代碼;自己分析了一下,分享給大家! 段錯誤是什麼?段錯誤是指訪問的內存超出了系統給這個程序所設定的內存空間,例如訪問了不存在的內存地址、訪問了系統保護的內存地址、訪問了只讀的內存地址等等情況。 訪問不存在的內

原创 C指針淺析

1.      只要是學過C或C++的人都知道其中指針的重要性,我們對它又愛又恨,愛的是他很強大,恨的是他過於強大以至於有那麼多的變化,令人防不勝防。 筆者現在總結一下c指針中那些令人迷糊的概念: 2.1.0 指針初始化問題       

原创 c語言變量詳解(1)

一、變量的三大特點:       變量的數據類型:主要說明變量佔用內存空間大小 如 int型。       變量的作用域:變量的有效性的範圍,即:變量的使用範圍。       變量的存儲類型:變量在內存中的存儲方式。不同的存儲方式,影

原创 C語言自制文件分割器(簡單)

記得初中的時候用MP3看電子書,MP3支持的文本文檔格式不能超過1M,否則打不開,然後在網上下了一個文件分割器,感覺真的很強大啊(別吐槽,當時真的很白)。 等自己學了C語言後,便想自己弄一個文件分割器,可是在網上搜了一下源碼,看起來很複雜

原创 如何實現vmware虛擬機下linux與win7的共享

一: 1.安裝vmware tools 點擊菜單VM中的install vmware tools菜單項 想linux訪問windows下的文件,以前的時候都能拖過來的,這回安了一個新的系統,不知道哪裏不行,拖不過來了。 做法是:首先將v

原创 【C語言應該注意的那些事】之 一 :函數式宏定義

函數式宏定義小心使用會顯著提高代碼的執行效率,畢竟省去了分配和釋放棧幀、傳參、傳返回值等一系列工作,因此那些簡短並且被頻繁調用的函數經常用函數式宏定義來代替實現。 #define MAX(a,b) ((a)>(b)?(a):(b)) k

原创 【apue學習筆記】之apue.h等頭文件的配置

所有例子在linux-2.6.29.3(gcc-4.3.3)下編譯通過(其他平臺請自行測試)。 今天開始學習,linux聖經apue,剛開始myls_c的編程便苦惱了——那個apue.h的頭文件是什麼玩意啊! 經過一番網上查找答案,發現那

原创 【彙編與C之間的關係】 push bp(或 push %ebp)mov ebp esp的作用!!!

最近,讀彙編與c的關係;讀到將c源碼反彙編時,有段代碼不太瞭解---------------- 此爲c代碼: int bar(int c, int d) { int e = c + d; return e; } int foo(i

原创 【linux系統編程】C標準I/O函數和系統無緩衝函數(Unbuffered I/O函數)關係

先接收一下,本文章主要內容: 1.C標準I/O函數和系統無緩衝函數(Unbuffered I/O函數)關係; 2.I\O函數:buffer && unbuffer; 開始前,我們要清楚linux下C編程與WIN下C編程是不一樣的,我們這片

原创 【linux命令】校檢和&&覈實

校檢和&&覈實 校檢和程序 從文件中生成校檢和密鑰,來檢查一個文件是否完整。 校檢: $ md5sum filename  565df6g78121......11 filename 會生成32位十六進制的數據 我們將輸出的校檢重定向

原创 【linux命令】排序、單一與重複

用到的命令: sort&&uniq $sort file1 file2 >sorted.txt 或者 $sort file1 file2 -o sorted.txt 將一組文件的內容排序輸出 $ cat sortec.txt | uniq

原创 Android應用開發之activity的創建

我們從今天開始來學習android開發。 Android開發第一步就是,創建一個activity,如果不知道activity是什麼東西的同學,請自行百度。 準備: 自己創建好Android工程。 第一步: layout/ 建立一個and

原创 【linux腳本】讀取命令序列輸出&&子shell&&父shell

讀取命令序列輸出&&子shell&&父shell 將多個命令或工具結合起來一起輸出。一個命令的輸出可以當做另一個命令的輸入,而這個命令的輸出又可以作爲另一個的輸入。 這幾個命令通常用通道(pipe)來鏈接,“|”。例如: $cmd1 | 

原创 【linux腳本】腳本調試

最簡單的方法就是我們可以使用: $ bash -x script.sh 來進行腳本調試 這一命令能打印所執行的每一行命令以及當前狀態。當然,也可以使用 sh -x xxx.sh 那麼如果我們只是想將腳本某些命令及參數打印輸出怎麼辦? 這

原创 【linux命令】tr命令

tr [option] set1 set2 將來自stdin的輸入字符從set1映射到set2,並輸出寫入stdout中。 若set1長度大於set2,set2會不斷重複最後一個字符,知道和set1長度相等。 若set1長度小於set2,