原创 task_struct結構體所有成員用法

盡力達到最全。  1、進程狀態  volatile long state;int exit_state;     state成員的可能取值如下:  #define TASK_RUNNING 0 #define TASK_INTERRUPT

原创 可重入函數與線程安全關係

什麼是可重入函數和不可重入函數 可重入函數      在 實時系統的設計中,經常會出現多個任務調用同一個函數的情況。如果這個函數不幸被設計成爲不可重入的函數的話,那麼不同任務調用這個函數時可能修改其他任 務調用這個函數的數據,從而

原创 用回溯法遞歸實現迷宮

#include <stdio.h> #define N 19//整個迷宮大小(包括最外層牆壁) char Maze[N][N] = {{ 1, 1

原创 二叉樹

#include <iostream> #include <cassert> #include <queue> #include <stack> using namespace std; template <class T> struc

原创 C++編寫日期類

#include<iostream> using namespace std; class Data { public:void InitData(

原创 linux中vim編輯器的簡單配置

ctrl + w + h 光標 focus 左側樹形目錄 ctrl + w + l 光標 focus 右側文件顯示窗口 ctrl + w + w 光標自動在左右側窗口切換 ctrl + w + r 移動當前窗口的佈

原创 CRC校驗

 【CRC校驗】 【定義】        CRC即循環冗餘校驗碼:是數據通信領域中最常用的一種查錯校驗碼,其特徵是信息字段和校驗字段的長度可以任意選定。循環冗餘檢查(CRC)是一種數據傳輸檢錯功能,對數據進行多項式計算,並將得到的結果附在

原创 用linux進行簡單進度條編輯

一·單步編寫makefile。 二·編寫好Procbra.c 三 編寫完成後就利用它們來生成進度條,結果如下生成後利用make clean刪除之前生成的Procbra.i, Procbra.s,Procbra.o,以及Proc

原创 C語言基礎測試題關於給定任意倆個數對它們進行交換輸出

#include<stdlib.h> #include<stdio.h> void swap(int *a,int *b) {int tmp=*a;*a=*b;*b=tmp; } int main() {int a=10;int b=20

原创 端口分類調研

端口是什麼? 通常我們所說的端口就是指計算機端口。計算機端口是英文port的意譯,可以認爲是計算機與外界通訊交流的出口。 端口又可分爲三大類:公認端口(Well Known Ports)、註冊端口(Registered Ports

原创 判斷倆個鏈表是否相交,若相交求交點(考慮帶環和不帶環)

問題描述(鏈表不帶環): 一個比較經典的問題,判斷兩個鏈表是否相交,如果相交找出他們的交點。 思路: 1、碰到這個問題,第一印象是採用hash來判斷,將兩個鏈表的節點進行hash,然後判斷出節點,這種想法當然是可以的。 2、當然採用暴

原创 epoll_server

代碼如下: #include <sys/socket.h> #include <sys/epoll.h> #include <netinet/in.h> #include <arpa/inet.h> #include <fcntl.h>

原创 單鏈表逆置,反轉,並查找倒數第K個結點

typedef struct Node { Node(const int& value) : m_value(value) , m_pNext(NULL) {} int m_valu

原创 單鏈錶帶環問題

判斷單鏈表是否帶環?若帶環,求環的長度?求環的入口點?並計算每個算法的時間複雜度&空間複雜度 分析:不帶環fast指針可以走到尾,帶環則走不到;若帶環fast指針一次走兩步,slow指針一次走一步。(fast和slow的間距會逐漸縮小,

原创 udp_server

udp_server代碼如下: #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include