原创 C++易混知識點3. New Operator, Operator New, Placement New 實例分析,比較區別

我們知道,C++中引入了New 這個內置符號,很大方便了指針的使用,程序員不必關注與這塊堆上新分配的內存是如何來的,如何初始化的,然後如何轉換爲我們想要的類型指針的。現在,我們重點來分析下這個NEW內置符號背後的步驟和所調用到的函數。這裏

原创 Linux下創建維護服務進程Daemon的注意點,附有詳細案例講解

unix系統下所有進程都工作在前臺和後臺,在前臺工作的進程通常和用戶直接交互(通常是通過terminal,比如我們ls -ltr,會在當前terminal顯示文件列表),但是在後臺運行的進程都是自己運行。用戶可以檢查它的工作狀態,但是不知

原创 unix/linux創建新進程,父子進程詳解,附有案例

fork() 用來創建進程fork(void) 在linux中所有進程都是由init進程直接或間接創建 成功:在父進程中將返回子進程的PID;子進程返回0,以區別父進程 失敗:父進程中返回-1 1 #include <s

原创 經典算法:超大數組,取出最大N數

轉載於:http://blog.csdn.net/yanzi1225627/article/details/8109035 這裏先講一種類似於快速排序的方法。注意題目要求,不要求完全排序,只要求最快解決問題!這個題是我面試NI公司時,對

原创 經典算法: Bit-Map 處理海量數據(上億數據)

版權聲明:轉載於http://blog.csdn.net/hguisu/article/details/7880288 目錄(?)[-] 1 Bit Map算法簡介2 Bit Map的基本思想3 Map映射表3 位移轉換

原创 C++易混知識點2. 函數指針和指針函數的區別

我們時常在C++開發中用到指針,指針的好處是開銷很小,可以很方便的用來實現想要的功能,當然,這裏也要涉及到指針的一些基本概念。指針不是基本數據類型,我們可以理解他爲一種特殊類型的對象,他佔據一定空間,但是所帶來的好處就是C++如此強大的深

原创 Linux: 學習如何製作RPM包, SPEC文件如何編寫

一 RPM介紹 RPM 前是Red Hat Package Manager 的縮寫,本意是Red Hat 軟件包管理,顧名思義是Red Hat 貢獻出來的軟件包管理;現在應爲RPM Package Manager的縮寫。在Fe

原创 C++ JAVA下回調函數機制和原理比較分析

何爲回調函數,關鍵二字在於回調,意思就是可以方便的回去調用某個函數。 在C++ 下,就是 函數指針的 具體運用,通過函數指針來標記將來調用的函數,實現回調 #include <stdio.h> void printWelcome(

原创 gcc/g++等編譯器 編譯原理: 預處理,編譯,彙編,鏈接各步驟詳解

概述 C和C++編譯器是集成的,編譯一般分爲四個步驟: 預處理(preprocessing)  ----------------- cpp/ gcc -E 編譯(compilation) ------------------ cc1 /

原创 Linux下編輯文件方式Emacs 操作快速指南,快捷鍵速記

這兩天一直在熟悉Emacs,之前linux環境下用的最多的是VIM,沒有其他原因,就是因爲VIM容易記,快捷性強,很容易上手。這不,剛開始學Emacs的時候,覺得很不適應,組合鍵太多,給人的第一印象就是難學難記,不過,還是印着頭皮操作了一

原创 Linux 下 套接字 Socket 通信原理和實踐,附有詳細案例

我們深諳信息交流的價值,那網絡中進程之間如何通信,如我們每天打開瀏覽器瀏覽網頁時,瀏覽器的進程怎麼與web服務器通信的?當你用QQ聊天時,QQ進程怎麼與服務器或你好友所在的QQ進程通信?這些都得靠socket?那什麼是socket?so

原创 C++易混知識點5:實例講解Public Protected Private作用域,繼承的區別和用意

大學生涯,涉及到類的作用域,繼承都是用的public 共有繼承,當時也沒想那麼多,覺得共有繼承多方便,多簡單,反正沒有太多的限制,不管是類的成員或者是基類的成員函數都可以訪問。沒有深究。其實這裏面真是涉及到了C++面向對象設計當中的封裝特

原创 編寫一個簡單的license文件控制器

編寫一個file-drive的軟件權限控制器: 文件內容可以如下: #註釋 Car.IsPrivate True 轉載請註明出處 : http://blog.csdn.net/elfprincexu 關於文件的讀寫,是一個循環

原创 深入理解linux下進程和線程的空間分配,進程棧和線程棧的空間分配

最近學習了下linux下進程和線程空間的分配原理,覺得有必要坐下總結, 關於進程棧和線程棧總結:     (1)進程棧大小時執行時確定的,與編譯鏈接無關     (2)進程棧大小是隨機確認的,至少比線程棧要大,但不會超過2倍

原创 詳解如何編譯一個跨平臺GCC

如何編譯一個跨平臺的GCC,所謂跨平臺的意思是,gcc編譯在一個machine type但是編譯出來的應用在一個machine type上,我們稱這個GCC會跨平臺編譯的 本文轉載於: http://preshing.com/2014