作者: Garfield

其他平台 CSDN:https://blog.csdn.net/Garfield0_0?spm=1000.2115.3001.5343 GitHub:https://github.com/Garfield-1

34 篇文章

【编程语言学习】【Linux】侵入式链表
参考文档 Release v5.4 · torvalds/linux 概述 常规写法的经典链表每个链表的节点包含指针部分和数据部分,每个节点的指针是一个指针指向下一个节点。每一个链表的节点的内容都是不一样的,每一个链表都需要定义一次,包括对于链表的操作的API也需要重新开发 Linux中的侵入式链表与普通的链表不同的,Linux提供了一个公共的链表…
【编程语言学习】C++(2) 程序设计
简述:记录C++11标准下关键字,目前仅为简略整理。 部分内容详细展开内容过多,碍于技术水平和个人精力限制,待后续扩展。 后续重大修改同步更新简述 C++关键字 常见C++关键字 asm关键字 用于调用内联汇编程序,允许在 C++ 程序中嵌入汇编代码 auto关键字 表明变量"自动"具有本地范围,块范围的变量声明(如for循环体内的变量声明)默认为…
【编程语言学习】C++(1) 基础语法
本文档记录所有内容均以C++11标准为基础 本文档侧重于C++中与C语言重叠或相似的知识,并进行一定扩展 参考文档 《C++ Primer 第五版 中文版》 --电子工业出版社 菜鸟教程(runoob.com) 1. 引用 引用reference并不是对象而是为对象起了另外一个名字,引用类型引用另外一种类型。通过将声明符写成&d的形式来定义…
【编程语言学习】Shell基础语法
1. 简介 1.1 Shell 环境 Shell 编程跟 JavaScript、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。#! 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序。 Linux 的 Shell 种类众多,常见的有: Bourne Shell(/usr/bin/sh或/bi…
【源码解析】backports监管域管理
这里列出backports下国家码的修改的大致流程,以openwrt系统为例子 上层模块配置国家码 可以看到对应国家码的修改实际是内核提供了一个接口,各种上层应用都是使用这个接口,那么只要在合适的位置去添加处理逻辑即可 国家码的生效 原生openwrt 过wireless-regdb将db.txt转换为regulatory.db文件来查找国家码;修…
【源码解析】openwrt架构页面上传下载文件
openwrt架构在web页面接口将文件的导出导入,例如固件升级,配置文件导出导入;主要流程如下 在js上创建一个from表单,表单中携带着文件传输的请求 uhttp模块处理这个请求,在/rom/www/cgi-bin目录下去寻找对应的接口 底层cgi-io模块实现具体业务 整体流程如下图 以下用配置文件导出举例 js代码 代码路径:package…
【源码解析】syslog原理分析
参考文档 RFC 3164: The BSD Syslog Protocol (rfc-editor.org) syslog协议介绍_syslog是什么协议-CSDN博客 Busybox的syslogd认识与使用 - ArnoldLu - 博客园 sysklogd源码 BusyBox源码 概述 syslog是一个协议规范,需要有server端和cl…
【源码解析】ubus(3) examples原理分析
笔者注:本文分析的是ubus源码中的官方demo,见源码目录的./ubus/examples/client.c client整体流程 整体流程上,ubus的运行需要三部分ubusd守护进程、server端和client端,本文对于client端的实现和client端与守护进程和server端的交互进行分析 函数调用栈 main ->uloop…
【源码解析】ubus(2) 注册ubus
本文以ubus源码中的./examples目录下的官方demo为例子,说明如何注册ubus接口 注册object方法 定义ubus消息封装的结构 enum { COUNT_TO, COUNT_STRING, __COUNT_MAX }; static const struct blobmsg_policy count_policy[__CO…
【源码解析】ubus(1)编译
编译环境 编译器默认使用gcccmake version>=3.13 依赖关系 ubus编译依赖json-c和libubox libubox依赖json-c 源码下载路径 git clone https://github.com/json-c/json-c.git git clone https://github.com/openwrt/li…