原创 linux的netlink接口詳解(中)

——linux版本:3.14.38 目前爲止,netlink協議族支持32種(MAX_LINKS)協議類型,其中已經被預定義的有22種。 在實際項目中,如果有定製化的需求時,最好不要去佔用剩下的暫未定義的協議類型ID號,而是使用預定義的

原创 lua語言中的函數概念

 1. 不同於C,lua中的函數是一種first-class-value,這意味着:             lua中的函數可以視作一種"值"存儲到變量或table中;             可以作爲其他函數的實參;        

原创 APUE筆記之系統數據文件

1. 口令文件(/etc/passwd 644)     口令文件記錄了linux用戶賬戶以及相關信息(密碼除外),每一行中各字段定義如下:    

原创 openwrt 常用庫用法

openwrt常用庫用法 libubox 1.1.概述 libubox是openwrt的一個基礎庫,openwrt下大部分應用都是基於它開發的(ubus、uhttpd、uci等)。 libubox主要提供了兩類功能: [1].一

原创 APUE之進程筆記(上)

                                            進程環境 -------------------------

原创 linux下vlan的實現分析(上)

一. VLAN的核心概念     1. 劃分VLAN的核心目的只有一個:分割廣播域。        通過VLAN對廣播域進行合理分割之後,一是可以縮

原创 linux的netlink接口詳解(上)

內核版本:3.14.38 netlink是一種用於內核態和用戶態進程之間進行數據傳輸的特殊的IPC機制。 特點:     1) 用戶態採用socket風格的API     2) 除了預定義的協議類型之外,支持自定義協議類型     3)

原创 openwrt包的Makefile分析

**************************************************************************

原创 makefile整體性的一些概念

                                        makefile的規則 /*********************

原创 lua的代碼塊概念

 1. chunk(代碼塊),可以是一條語句,也可以是一系列語句的集合,還可以是函數。    chunk擁有獨立的"詞法域",意味着chunk內部聲明的局部變量和局部函數,僅在該chunk內可見。    chunk的定義方式主要有以下

原创 Lua中的棧概念

Lua中設計"棧"的目的就是解決Lua與C的通信。 無論是Lua到C,還是C到Lua,所有的數據交換都需要通過"棧"來完成,此外還可以用"棧"來保存

原创 顯式運行時加載

相比在編譯期間顯式鏈接,運行前隱式加載的方式,運行時顯式鏈接並加載的方式顯然更加靈活。 這種方式可以控制程序在需要時加載指定模塊,甚至可以在不需要時卸載,從而減少程序啓動時間和內存消耗,以及實現熱更新這種功能。 linux上提供了

原创 lua中的迭代器分析

 1. 所謂"迭代器",就是一種可以遍歷某個集合中所有元素的機制,在lua中迭代器通常表示爲函數,而具體的實現有很多種。    整個迭代的過程基本如下:             首先是通過迭代器工廠創建迭代器;            

原创 linux的netlink接口詳解(下)

——linux版本: 3.14.38 netlink支持用戶進程和內核相互交互(兩邊都可以主動發起),同時還支持用戶進程之間相互交互(雖然這種應用通常都採用unix-sock) 但是有一點需要注意,內核不支持接收netlink組播消息

原创 APUE之線程屬性

 1. 多線程的優勢:     [1]. 通過合理的分配任務到多個線程,每個線程在進行事件處理時可以採用同步編程模式,相比異步編程,同步編程簡單方便很多     [2]. 多個進程間進行數據交互必須通過各種IPC機制,而同一個進程下的