Time of Update: 2018-12-05
在做完mini6410移植全攻略後,打算把自己的linux c筆記,貼出來和大家共用,有不對支援希望大家指出,謝謝!!轉載請註明出處:http://blog.csdn.net/muge0913/article/details/7308140
Time of Update: 2018-12-05
本系列文章由muge0913編寫,轉載請註明出處謝謝:http://blog.csdn.net/muge0913/article/details/7322844訊號是用於一步事件的。當一個訊號發生時,程式會按照已經設定好的程式來執行相應的操作。 進程對訊號處理的方法一般有兩種:1、捕捉訊號:當一個訊號發送個進程時,該進程會調用此訊號註冊的訊號處理函數,來完成相應的操作。對應於每個訊號系統一般會有相應的預設處理函數(一般為終止進程)。所以可以設定訊號為預設的處理函數。2、忽略訊號。當訊號發送時,進
Time of Update: 2018-12-05
在做完mini6410移植全攻略後,打算把自己以前的linux c筆記,貼出來和大家共用,有不對支援希望大家指出,謝謝!!轉載請註明出處:http://blog.csdn.net/muge0913/article/details/7300097 EOF是 End Of File 的縮寫。在C語言中,它是在標準庫中定義的一個宏。(1) 判斷檔案結束多數人認為檔案中有一個EOF,用於表示檔案的結尾. 但這個觀點實際上是錯誤的,在文件所包含的資料中,並沒有什麼檔案結束符. 對getc 而言,
Time of Update: 2018-12-05
本系列文章由muge0913編寫,轉載請註明出處:http://blog.csdn.net/muge0913/article/details/7322710訊號及其簡介訊號是一種進程通訊的方法,他應用於非同步事件的處理。訊號的實現是一種非強制中斷。它被發送為一個正在啟動並執行進程,已告知進程某個事件發生了。 1) SIGHUP 本訊號在使用者終端串連(正常或非正常)結束時發出,通常是在終端的控制進程結束時, 通知同一session內的各個作業,這時它們與控制終端不再關聯.2) SIGINT
Time of Update: 2018-12-05
http://baike.baidu.com/view/675106.htmgetch() 所在標頭檔:conio.h 函數用途:從控制台讀取一個字元 函數原型:int getch(void) 傳回值:讀取的字元 例如: char ch;或int
Time of Update: 2018-12-05
轉載請註明出處:http://blog.csdn.net/muge0913/article/details/7317621訊號處理是linux程式的一個特色。用訊號處理來類比作業系統的中斷功能。要想使用訊號處理功能,你要做的就是填寫一個訊號處理函數即可。#include <stdio.h> #include <sys/types.h> #include <stdlib.h> #include <signal.h> int flag = 1;
Time of Update: 2018-12-05
轉載請註明出處:http://blog.csdn.net/muge0913/article/details/7317580linux中常用退出函數:#include<stdlib.h>voidexit(int status);intatexit(void (*function)(void))inton_exit(void (*function)(int,void *),void
Time of Update: 2018-12-05
轉載請註明出處:http://blog.csdn.net/muge0913/article/details/7317452#include <sys/types.h>#include <stdio.h>#include <sys/wait.h>void check_exit(int status);main(){ pid_t pid; int status; if((pid = fork()) < 0) { printf("
Time of Update: 2018-12-05
轉載請註明出處:http://blog.csdn.net/muge0913/article/details/7314130使用動態記憶體時需要使用者自己去申請資源和釋放資源。使用者可以隨時的分配所需空間,根據需要分配空間大小,並在最後釋放申請記憶體。動態記憶體也存在隱患:在大型的項目當中管理申請的動態記憶體是很複雜的,以及釋放申請的記憶體有難想起的。在釋放動態記憶體時可能不止一個指標指向了該記憶體,所以釋放的時候是很容易出錯的。記憶體無法釋放就會造成記憶體泄露,這也就是為什麼伺服器要經常的每個一
Time of Update: 2018-12-05
首先我們知道 const int *p 與 int const *p 是一樣的,即 *p 是常量;而 int * const p 跟上面是不一樣的,即 p 是常量;我們知道引用只是一個別名,與變數共用儲存空間,並且必須在定義的時候初始化,而且不能再成為別的變數的別名,這讓我們想到什麼呢,貌似跟 int * const p 的性質很像。其實引用的底層就是用const指標來實現的。下面舉個小例子: C++ Code 123456789101112131415161718192021222324
Time of Update: 2018-12-05
轉載請註明出處:http://blog.csdn.net/muge0913/article/details/7313859華為面試題:程式的局部變數存在於(堆棧)中,全域變數存在於(靜態區 )中,動態申請資料存在於( 堆)中。一點小總結: 1、關於堆棧,印象最深的就是在做uboot移植,在你準備進入c代碼時,你必須給c代碼一個良好的運行環境,其中重要的一項就是設定堆棧。2、關於靜態記憶體配置和動態記憶體分配的區別及過程1)
Time of Update: 2018-12-05
在做完mini6410移植全攻略後,打算把自己的linux c筆記,貼出來和大家共用,有不對支援希望大家指出,謝謝!!轉載請註明出處:http://blog.csdn.net/muge0913/article/details/7308204直接寫過程~~~~~VisualC++6.0建立一個靜態庫。源檔案的代碼很簡單, #include "foo.h" int add(int a, int b){return a + b;} 標頭檔代碼:#ifndef _FOO_H#define _FOO_H
Time of Update: 2018-12-05
本系列文章由muge0913編寫,轉載請註明出處:http://blog.csdn.net/muge0913/article/details/7339915提到Linux 作業系統,就不能不提到網路技術。Linux 系統本身就是一個網路的產物,它在網路上可以供人們自由下載,並得到修改和完善。。Linux 系統支援多種網路通訊協定,它的shell 還提供了強大的連網命令。這些優點使得Linux
Time of Update: 2018-12-05
在做完mini6410移植全攻略後,打算把自己的linux c筆記,貼出來和大家共用,有不對支援希望大家指出,謝謝!!轉載請註明出處:http://blog.csdn.net/muge0913/article/details/7308178在上篇文章中,是對靜態連結庫的介紹,其實有了上面的介紹動態連結程式庫的製作就簡單了,這篇來製作動態連結程式庫~~~建立動態連結程式庫:#gcc –shared –Wall –fPIC bar.o foo.o –olibfoobar.so或手動指定庫路徑
Time of Update: 2018-12-05
一、檔案的讀寫如前面所提,流的讀寫主要有<<, >>, get, put, read, write 等操作,ofstream 繼承自ostream, ifstream 繼承自 istream,故操作函數都是一致的。 C++ Code 12345678910111213141516171819202122232425262728293031323334353637383940#include <iostream>#include <fstream>#
Time of Update: 2018-12-05
1. 表 2.1. C標準規定的逸出字元\' 單引號'(Single Quote或Apostrophe)\" 雙引號"\? 問號?(Question Mark)\\ 反斜線\(Backslash)\a 響鈴(Alert或Bell)\b 退格(Backspace)\f 分頁符(Form Feed)\n 換行(Line Feed)\r 斷行符號(Carriage Return)\t 水平定位字元(Horizontal Tab)\v 垂直定位字元(Vertical
Time of Update: 2018-12-05
一、純虛函數虛函數是實現多態性的前提需要在基類中定義共同的介面介面要定義為虛函數如果基類的介面沒辦法實現怎麼辦?如形狀類Shape解決方案將這些介面定義為純虛函數在基類中不能給出有意義的虛函數定義,這時可以把它聲明成純虛函數,把它的定義留給衍生類別來做定義純虛函數:class 類名{ virtual 傳回值類型 函數名(參數表) = 0;
Time of Update: 2018-12-05
一、C語言錯誤處理方法1、傳回值(if … else語句判斷錯誤)2、errno(linux 系統調用)3、goto語句(函數內局部跳轉)4、setjmp、longjmp(Do not use setjmp and longjmp in C++ programs; these functions do not support C++ object semantics. )#define _JBLEN 16typedef _JBTYPE jmp_buf[_JBLEN];Saves the
Time of Update: 2018-12-05
一、程式錯誤編譯錯誤,即語法錯誤。程式就無法被產生運行代碼。執行階段錯誤不可預料的邏輯錯誤可以預料的運行異常例如:動態分配空間時可能不會成功開啟檔案可能會失敗除法運算時分母可能為0整數相乘可能溢出數組越界……二、異常(一)、異常文法throw 運算式;try{ //try語句塊}catch(類型1 參數1){ //針對類型1的異常處理}catch (類型2 參數2){ //針對類型2的異常處理}…catch (類型n 參數n){ //針對類型n的異常處理}(二)、
Time of Update: 2018-12-05
一、多態多態性是物件導向程式設計的重要特徵之一。多態性是指發出同樣的訊息被不同類型的對象接收時有可能導致完全不同的行為。多態的實現:函數重載運算子多載模板虛函數(1)、靜態繫結與動態綁定靜態繫結綁定過程出現在編譯階段,在編譯期就已確定要調用的函數。動態綁定綁定過程工作在程式運行時執行,在程式運行時才確定將要調用的函數。二、虛函數虛函數的概念:在基類中冠以關鍵字 virtual 的成員函數虛函數的定義:virtual 函數類型