原创 Linux文件系統學習

Linux常見文件系統ext2(linux second extended file system) Linux文件系統包含三個組成部分:inode、data block、super block。 super block:記錄此文件系統的

原创 Shell腳本學習之邏輯判斷

Shell腳本的if語句、循環語句中都會有一個邏輯判斷式。邏輯判斷式用於各種條件的判斷,除非程序是流水賬,否則是一定會用到邏輯判斷的,可見其重要性。 Shell的邏輯判斷,我目前所知共有兩種: 1、test命令,可以結合命令執行結果變量(

原创 線程的學習(一)

線程的初步重點在線程的創建、分離、退出、同步。 線程分離:分離的線程在線程完成後,系統會自動回收他的儲存器資源;不分離的線程,如果不pthread_join或者不結束整個進程,系統不會回收資源。 線程同步:共有互斥量、讀寫鎖、條件變量、

原创 人格分裂的IT人

IT人的矛盾有的時候讓人覺得有點近乎於人格分裂了。 首先最有名也是最流行的就是“面試造核彈,入職擰螺絲”。 面試的時候感覺自己要是不會在深山老林裏徒手造個計算機、寫個編譯器、花一個週末創造一門語言,感覺你都不好意思和麪試官理直氣壯

原创 關於weakref的用法

在《程序員的自我修養—鏈接、裝載、庫》這本書的3.5.5節,講到了一個知識點:weakref,弱引用。 書中在第93頁舉出的例子發現編譯不通過,報錯。 __attribute__((weakref)) void foo(); int

原创 JS __proto__ prototype constructor概念解析

prototype、__proto__與constructor解析 __proto__ 這是個屬性,不管函數還是對象都有 __proto__指示的是對象的繼承關係,永遠指向父類 一個函數的__proto__指向的就是Functi

原创 《Unix環境高級編程》學習之用戶

Unix下涉及的用戶共有四個。 實際用戶:當前實際登陸的用戶,取自登陸文件。 有效用戶:實際執行或訪問文件的用戶,通常與實際用戶相同。 設置用戶:是一個標記,並非真實的用戶。當執行文件時,將進程的有效用戶設置爲文件所有者的用戶ID。 保存

原创 《Unix環境高級編程》學習之編寫守護進程

編寫規則: 1、調用umask將文件模式創建屏蔽字置爲一個已知值(通常是0),因爲屏蔽字會阻礙某些權限,影響保護進程的執行; 2、調用fork,然後父進程exit,保證當前進程不是進程組組長; 3、調用setsid,創建一個新的會

原创 《大話數據結構》之靜態鏈表

#define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 typedef int Status; typedef int ElemType; #define MAXSIZE

原创 IOS版本回退操作教程

網絡上搜索這個標題會搜到大片雷同文章,但實際操作性是特別差的,有的根本沒有用! 經過我多方整合終於摸索出了一套行之有效的步驟。 1、登陸相應網址查詢要升級的固件是否開放驗證(網址:http://api.ineal.me/tss/statu

原创 pthread_cleanup_push和pthread_cleanup_pop學習

pthread_cleanup_push:註冊線程退出時的處理程序,與進程的atexit函數類似,只是以壓棧的方式儲存。 pthread_cleanup_pop:調用已經壓棧的線程退出處理程序,當參數非零。 註冊的線程退出處理函數僅在以下

原创 Shell腳本學習之基礎程序結構

Shell腳本:一個由一堆命令堆砌而成的,用來完成特定任務的,可以被指定解釋器執行的,文本文件。 這個是我對Shell腳本的理解。 1、Shell腳本就是一個可執行文本文件,它不需要編譯,不需要連接,寫完就可以直接執行; 2、Shell腳

原创 openat函數的用法示例

《Unix環境高級編程》的第三章和第四章出現了大量的以at結尾的函數,如openat、fstatat等,書中只是粗略的說明了下,沒有實際的例子讓人很難懂。 int openat(int dirfd, const char *pathnam

原创 《Unix環境高級編程》學習之Unix標準

常見的標準共有三個:ISO C、POSIX、SUS。 ISO C:是C語言標準,是開發語言標準,與任何系統均無關。 POSIX:全寫是Portable Operating System Interface。是操作系統的接口標準,在後期有包

原创 《大話數據結構》之單鏈表

#define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 typedef int Status; typedef int ElemType; #define MAXSIZE