原创 MPLS詳細轉發過程

原文鏈接:https://www.handbye.cn/916.html 基本概念 在MPLS詳細轉發過程中涉及的相關概念如下: Tunnel ID爲了給使用隧道的上層應用(如V

原创 【MPLS】LDP保留的標籤

原文鏈接:http://blog.sina.com.cn/s/blog_158be70370102ylmx.html 原文地址:【MPLS】LDP保留的標籤作者:紅茶三杯標籤0-15都

原创 c++ 如何編寫接口類(interface)

接口類簡介:         接口是一系列抽象方法的聲明,是一些方法特徵的集合,這些方法都應該是抽象的,需要由具體的類去實現,然後第三方就可以通過這組抽象方法調用,讓具體的類執行具體的方法。 用c++實現接口類時需要注意一下幾

原创 linux內核中task_struct與thread_info及stack三者的關係

在linux內核中進程以及線程(多線程也是通過一組輕量級進程實現的)都是通過task_struct結構體來描述的,我們稱它爲進程描述符。而thread_info則是一個與進程描述符相關的小數據結構,它同進程的內核態棧stack存放

原创 __builtin_expect 說明

這個指令是gcc引入的,作用是允許程序員將最有可能執行的分支告訴編譯器。這個指令的寫法爲:__builtin_expect(EXP, N)。 意思是:EXP==N的概率很大。 一般的使用方法是將__builtin_expect指令

原创 關於schedule_timeout

schedule_timeout這個函數除了對當前進程調用schedule之外,還有一個功能,如同其名字中暗示的,在指定的時間到期後(timeout了)將進程喚醒。我們知道,進程一旦進入睡眠狀態,就會從cpu的run queue中

原创 C語言共用體(C語言union用法)詳解

C語言共用體(C語言union用法)詳解

原创 arm上spin_lock實現原理

__raw_spin_lock在ARM處理器上的實現 static inline void arch_spin_lock(arch_spinlock_t *lock) { unsigned long tmp; __asm__

原创 ARM指令條件碼

EQ (Equal Z set) NE (Not equal Z clear) CS/HS (Carry set/unsigned higher or same C set) CC/LO (Carry clear/unsig

原创 Linux應用調試-strace命令

come from : https://www.cnblogs.com/lifexy/p/8034041.html 1.strace簡介 strace常用來跟蹤進程執行時的系統調用和所接收的信號。通過strace可以知道應用

原创 TeamViewer如何解除5分鐘限制和檢測爲商業用途

親測可以成功,黑體部分是成功的關鍵! 修改MAC 第一步:卸載teamviewer程序 爲了清理乾淨,用360管家什麼的卸載,只有能把殘餘文件能刪乾淨就行。 第二步:刪除註冊表裏的殘餘項 快捷鍵WIN+R,打開運行,輸入reged

原创 設備樹機制

設備樹機制

原创 sys_ini_module簡要分析

1.sys_init_module系統調用代碼分析 /* This is where the real work happens */ /* 宏展開結果 long sys_init_module(void __user * umod,

原创 C和C++混合編譯

關於extern_C 通常,在C語言的頭文件中經常可以看到類似下面這種形式的代碼:   #ifdef __cplusplus extern "C" { #endif /**** some declaration or so

原创 C 語言 define 變參__VA_ARGS__使用

C 語言 define 變參__VA_ARGS__使用 在C語言的標準庫中,printf、scanf、sscanf、sprintf、sscanf這些標準庫的輸入輸出函數,參數都是可變的。在調試程序時,我們可能希望定義一