原创 函數exit()和_exit()

本文內容主要是《嵌入式Linux系統工程師實訓教程》的讀書筆記。 _exit()和函數exit()是一對相似的函數:#define __NR__exit    __NR_exit /* 參考include/asm-i386/unistd.

原创 讀《鳥哥的私房菜》第20章筆記(一)

Linux不可隨意關機,否則容易造成文件系統損壞或者無法啓動的問題; 啓動流程主要是BIOS、MBR、Loader、kernel+initrd、/sbin/init等流程; loader具有提供菜單、加載內核文件、轉交控制權給其他load

原创 C語言學習之typedef

(本文部分內容摘自於《C語言寶典》,部分內容摘自網上) 用typedef只是對原有的類型起個新名,並沒有生成新的數據類型; typedef 不能用於變量的定義; typedef 並不是簡單的字符串替換,與#define的作用不同; typ

原创 C語言指針學習 一

1.指針就是地址,變量的指針就是變量的地址,存放地址的變量就是指針變量。  2.利用間接訪問的方式訪問變量的時候,必須藉助指針變量來存放數據的地址。需要說明的是指針類型是對所有類型的指針的總稱,指針的類型是指針所指對象的數據類型。

原创 例談sizeof函數

下面的內容摘自李亞鋒先生的《C面試真題精講》: #include <stdio.h> void fsizeof(int a[][3]) {printf("%d\n",sizeof(a)); } int main(void) {int a

原创 C語言常見的內存分配

本篇博客內容摘自《經典C面試真題精講》 C語言的內存分配區域主要有以下五個: 1.棧區:在執行函數時,函數內部局部變量(不包含static變量)、函數返回值的存儲單元在棧上創建,函數執行結束時這些存儲單元自動被釋放; 2.堆區:即動態內存

原创 《嵌入式linux系統工程師實訓教程》讀書筆記

文件在linux系統學習過程中佔據着極其重要的地位,而在學習文件相關知識的過程中”一切皆文件“的思想是核心思想。下面是文件相關知識的一些淺顯的總結: 首先文件的種類分爲普通文件、目錄文件、設備文件、管道文件、套接字文件和符號鏈接文件; 普

原创 《嵌入式Linux系統工程師實訓教程》讀書筆記(二)

Linux下的進程通信手段基本上是從UNIX平臺上的進程通信手段繼承而來。AT&T的貝爾實驗室改進後形成的“system v ipc”,該通信進程侷限在單個計算機內,而BSD(加州大學伯克利分校)跳過該限制,形成了基於套接口(socket

原创 讀《嵌入式Linux系統工程師實訓教程》筆記(一)

本文內容主要是《嵌入式Linux系統工程師實訓教程》的讀書筆記。 _exit()和函數exit()是一對相似的函數:#define __NR__exit    __NR_exit /* 參考include/asm-i386/unistd.

原创 幾種C語言優化代碼技巧

以下內容摘自李亞鋒先生的《經典C面試真題精講》 1.結構體設計爲成員最長類型長度的整數倍; 2.減少函數參數的個數,不需要返回值的函數定義爲void類型; 3.if...else....多條件分支語句中,把出現頻率高的條件放在前面; 4.

原创 C語言中與調試相關的宏

以下內容摘自李亞鋒先生的《經典C面試真題精講》: #include <stdio.h> void  testMacroDefine() {printf("%s, %d, %s\n",__FILE__,__LINE__,__func__);

原创 C++標準的關鍵字

今天開始,本人將從C語言的學習轉向C++的學習,作爲開篇先談談關鍵字。 C語言當中的關鍵字有: auto break case char const continue default do double else enum extern

原创 C語言指針學習 二

1. C語言中,實參變量與形參變量之間的數據傳遞,是單向的“值傳遞”方式。指針變量做函數參數也要遵循這一規則。調用函數不可能改變實參指針變量的值,但可以改變實參指針變量所指向變量的值。我們知道函數的調用可以得到一個返回值,而運用指針變量做

原创 《C面試真題精講》程序摘錄

#include <stdio.h> #include <stdlib.h> //#include <assert.h> #if 0 char *mystrcpy(char *dest,char *src

原创 淺談gets()和fgets()

以下部分內容摘自於李亞鋒先生的《經典C面試真題精講》 在linux環境下,當我們使用gcc編譯時,發現使用gets()函數的程序無法正確運行,在編譯時會出現警告。C語言早期的時候,當從標準輸入讀入一個字符串的時候使用的是gets()函數,