原创 Linux寫時拷貝技術(copy-on-write)

COW技術初窺:       在Linux程序中,fork()會產生一個和父進程完全相同的子進程,但子進程在此後多會exec系統調用,出於效率考慮,linux中引入了“寫時複製“技術,也就是隻有進程空間的各段的內容要發生變化時,纔會將父進

原创 利用ssh-keygen生成 SSH Key

我們在使用分佈式版本控制工具Git時,遠程代碼的管理是基於SSH協議的,故如果要遠程操作Git則需要配置SSH。 1、設置Git的用戶名和郵箱地址 git config --global user.name "lql" git confi

原创 chm文件顯示“已取消網頁導航”的解決辦法

有時候打開chm文件的時候會出現“已取消網頁導航”的問題,如下圖所示 解決辦法:選擇chm文件,右擊--》屬性: 2、找到“解除鎖定”選項並點擊,然後點擊“應用”,保存。 3、從新打開即可:

原创 sigprocmask實例

#include <stdio.h> #include <signal.h> #include <stdlib.h> void checkset(); int main(void) { sigset_t blockset; s

原创 linux下安裝軟件包的方法

There are several ways of installing softwares in linux and they are described in many tutorials. this tutorial will co

原创 PE文件結構解析

t.exe 共 3072 bytes,下面是 t.exe 映象 PE 文件頭的整體結構圖: windows 的 PE 文件頭結構包括三大部分:DOS 文件頭、NT 文件頭以及 Section 表(節表),在 DOS 文件頭後面有一小段

原创 內核棧 thread_onfo task_struct 三者之間的關係

進程描述符的處理 對於每一個進程而言,內核爲其單獨分配了一個內存區域,這個區域存儲的是內核棧和該進程所對應的一個小型進程描述符——thread_info結構。 01 struct thread_info { 02     s

原创 預編譯指令#pragma小記

作用:設定編譯器的狀態或指定編譯器完成一些動作 最常用的幾個#pragma指令如下: (1)#pragma once 說明:用在.h文件的開頭,指示編譯器對此文件只編譯一次。該指令依賴於具體編譯器,所以移植性不好,不過目前基本上一般編譯器

原创 go安裝包安裝運行

1、登錄golang中國網站下載go安裝包:http://www.golangtc.com/download 2、下載該archive後,extract到系統目錄/usr/local下,即在/usr/local/go下面生成一個go tr