原创 Makefile教程

該篇文章爲轉載,是對原作者系列文章的總彙加上標註。 支持原創,請移步陳浩大神博客: http://blog.csdn.net/haoel/article/details/2886 makefile很重要       什麼是

原创 進程和線程

1 fork基本概念 一個進程,包括代碼、數據和分配給進程的資源。fork()函數通過系統調用創建一個與原來進程幾乎完全相同的進程,也就是兩個進程可以做完全相同的事,但如果初始參數或者傳入的變量不同,兩個進程也可以做不同的事。

原创 進程運行狀態

進程是一個動態的實體,所以他是有生命的。從創建到消亡,是一個進程的整個生命週期。在這個週期中,進程可能會經歷各種不同的狀態。一般來說,所有進程都要經歷以下的3個狀態: 就緒態。指進程已經獲得所有所需的其他資源,正在申請處理處理器資源,準

原创 Linux系統編程——系統調用之 I/O 操作(文件操作)

文件描述符 在 Linux 的世界裏,一切設備皆文件。我們可以系統調用中 I/O 的函數(I:input,輸入;O:output,輸出),對文件進行相應的操作( open()、close()、write() 、read() 等)。

原创 Linux系統編程——文件描述符的複製:dup()和dup2()

dup() 和 dup2() 是兩個非常有用的系統調用,都是用來複制一個文件的描述符,使新的文件描述符也標識舊的文件描述符所標識的文件。 這個過程類似於現實生活中的配鑰匙,鑰匙相當於文件描述符,鎖相當於文件,本來一個鑰匙開一把鎖,

原创 malloc/free與new/delete的區別

相同點:malloc/free與new/delete都可用於申請動態內存和釋放內存 不同點:  1、操作對象有所不同。  malloc與free是C++/C 語言的標準庫函數,new/delete 是C++的運算符。對於非內部數據類的

原创 操作系統面試題

1、進程和線程的區別? 解析:(1)進程是資源的分配和調度的一個獨立單元,而線程是CPU調度的基本單元           (2)同一個進程中可以包括多個線程,並且線程共享整個進程的資源(寄存器、堆棧、上下文),一個進行至少包括一個

原创 筆試面試高頻題(操作系統)

有那麼一些零碎的小知識點,偶爾很迷惑,偶爾被忽略,偶然卻發現它們很重要,也是各大筆試和麪試高頻出現考點。這段時間正好在溫習這些,就整理在這裏,一起學習一起提高!後面還會繼續補充。 ——前言 1.進程和線程   線程是指進程內的一個

原创 C++ 函數重載

在實際開發中,有時候我們需要實現幾個功能類似的函數,只是有些細節不同。例如希望交換兩個變量的值,這兩個變量有多種類型,可以是 int、float、char、bool 等,我們需要通過參數把變量的地址傳入函數內部。在C語言中,程序員往往需要

原创 Linux系統編程——進程的介紹

進程 我們平時寫的 C 語言代碼,通過編譯器編譯,最終它會成爲一個可執行程序,當這個可執行程序運行起來後(沒有結束之前),它就成爲了一個進程。 程序是存放在存儲介質上的一個可執行文件,而進程是程序執行的過程。進程的狀態是變化的

原创 筆試面試高頻題(計算機網絡)

有那麼一些零碎的小知識點,偶爾很迷惑,偶爾被忽略,偶然卻發現它們很重要,也是各大筆試和麪試高頻出現考點。這段時間正好在溫習這些,就整理在這裏,一起學習一起提高!後面還會繼續補充。 ——前言 1.TCP的三次握手四次揮手   第一次

原创 那些不能遺忘的知識點回顧----操作系統系列

有那麼一些零碎的小知識點,偶爾很迷惑,偶爾被忽略,偶然卻發現它們很重要,也是各大筆試和麪試高頻出現考點。這段時間正好在溫習這些,就整理在這裏,一起學習一起提高!後面還會繼續補充。 ——前言 1.進程和線程   線程是指進程內的一個

原创 筆試面試高頻題(C/C++)

有那麼一些零碎的小知識點,偶爾很迷惑,偶爾被忽略,偶然卻發現它們很重要,這段時間正好在溫習這些,就整理在這裏,一起學習一起提高!後面還會繼續補充。 ——前言 1.面向對象的特性   封裝、繼承、多態。   封裝:把客觀事物封裝成

原创 Linux下C語言編程操作MySQl

原文地址:http://www.2cto.com/database/201506/407827.html 在實際應用中,我們不可能在命令行登錄進數據庫進行數據的查詢、插入等操作,用戶一般是使用一個界面良好的應用程序軟件來對數據進行管理

原创 C語言之各種排序法及核心思想(冒泡、雞尾酒、選擇、插入、二分法、希爾、堆、歸併、快速)

[cpp] view plain copy #include <stdio.h>      void swap(int num[],int a, int b)   {       int tmp;