自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (5)
  • 收藏
  • 关注

原创 蓝牙广播报文

低功耗蓝牙两类报文 : 广播报文 和 数据报文。本文讨论广播报文数据段,不包括完整报文其他部分,比如前导,接入地址等蓝牙设备通过广播表明自己的存在,等待被连接。BLE 考虑功耗, 使用了3个广播信道,顺序广播。两个蓝牙设备想要建立连接, 第一步是 从机(server) 向外广播, 主机(client) 搜索到后发起请求。从机广播中包含设备的相关信息,比如设备名称,设备具有的服务uuid 等。

2024-08-16 18:17:15 968

原创 Linux内核Kconfig 文件介绍

内核源码每个子目录下,都有一个Makefile文件和Kconfig文件,Kconfig文件用于配置内核。在Linux内核顶层源码目录下执行make menuconfig命令会生成内核配置界面,配置界面以树状菜单形式组织。所有的的配置工具(如make config、make xconfig等)都是通过读取 arch/$(ARCH)/Kconfig文件,生成配置界面供开发人员进行内核编译配置最终生成配置文件.config。Kconfig 包含:(1)config 条目(2)menu条目。

2024-01-24 23:41:09 1903

原创 Linux内核Makefile 介绍

(1)决定编译哪些文件。(2)如何编译这些文件。(3)如何连接这些文件。

2024-01-23 18:00:13 418 1

原创 I2C总线介绍

任一设备输出的低电平都将使相应的总线信号线变低,也就是说:各设备的SDA是“与”关系,SCL也是“与”关系。所有接到I2C总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。所有主机在 SCL 线上产生它们自己的时钟来传输 I2C 总线上的报文,数据只在时钟的高电平周期有效,因此需要一个确定的时钟进行逐位仲裁。SDA 线上的数据必须在时钟的高电平周期保持稳定,数据线的高或低电平状态只有在 SCL 线的时钟信号是低电平时才能改变。每传输一个数据位就产生一个时钟脉冲。

2024-01-17 18:33:34 1158

原创 PHP调用C语言实现接口方法

环境准备环境:CentOS Linux release 7.3.1611 (Core)PHP 5.4.16安装php、查看php版本# yum install php php-devel# php -v so 动态库封装[root@localhost hello]# cat hello.c#include <stdio.h>int hello_add (int a, int b){return a+b;}生成动态库:# gcc -fPI.

2022-01-28 17:28:21 2687

原创 linux内核模块Makefile

编写Linux内核模块Makefile

2022-01-20 14:39:39 1541

转载 Linux 文件系统扩展属性

扩展属性(xattrs)提供了一个机制用来将《键/值》对永久地关联到文件,让现有的文件系统得以支持在原始设计中未提供的功能。扩展属性是文件系统不可知论者,应用程序可以通过一个标准的接口来操纵他们,此接口不因文件系统而异。每个扩展属性可以通过唯一的键来区分,键的内容必须是有效的UTF-8,格式为namespace.attribute,每个键采用完全限定的形式。需要注意的是这里的值可以是任意字节的数组,未必是字符存,而且最后可能不是null,这样在访问的时候必须知道值的大小。在设置的时候当然也就需要设置值大

2020-09-19 17:13:16 745

原创 Git 之二 Git 的基本使用

git 的基本使用,包括获取远程仓库、提交代码、创建分支、合并分支、删除本地分支、删除远程分支、冲突解决、打tag等。。。

2020-04-25 14:58:18 158

原创 Git 之一 Git服务器部署

下面简单介绍在Centos 7上部署Git 仓库。一、安装Git及创建用户、配置邮箱安装git:# yum install git创建用户:(略。。。)一般单独创建一个git 用户,并禁止用户登录,参考:https://www.cnblogs.com/shijiaoyun/p/9663396.html安装完git后配置用户名、邮箱# git config --g...

2020-04-25 14:36:53 343

原创 编译选项说明

g++ 常用命令选项 选项 解释 -ansi 只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色, 例如 asm 或 typeof 关键词。 -c 只编译并生成目标文件。 -DMACRO 以字符串"1"定义 MACRO...

2019-04-04 16:14:19 234

原创 btrfs + snapper快照使用

1 新建快照配置命令:#snapper -c config_name create-config -f btrfs /mount-point说明:config_name:配置文件的文件名,根据需要自定义/mount-point: 是要创建快照的子卷,目前只有一个子卷 /dailynet该命令会在/etc/snapper/configs/目录下创建一个名为 config_name的配...

2018-11-08 21:50:21 2746

转载 dd if=/dev/zero of=的含义是什么?Linux 下的dd命令使用详解

dd if=/dev/zero of=的含义是什么?Linux 下的dd命令使用详解转载:http://blog.sina.com.cn/s/blog_8b5bb24f01016y3o.html一、dd命令的解释dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=

2017-11-21 11:32:59 674

转载 全局变量、静态全局变量、静态局部变量和局部变量的区别

全局变量、静态全局变量、静态局部变量和局部变量的区别变量可以分为:全局变量、静态全局变量、静态局部变量和局部变量。(1) 按存储区域分,全局变量、静态全局变量和静态局部变量都存放在内存的静态存储区域,局部变量存放在内存的栈区。(2) 按作用域分,  全局变量在整个工程文件内都有效;静态全局变量只在定义它的文件内有效;静态局部变量只在定义它的函数内有效,只是程序仅分配一次内存

2017-01-08 12:36:57 316

Python核心编程第二版(完整版)_高清中文PDF

作 者: (美)丘恩(Chun,W.J.) 著,社区 译 出 版 社: 人民邮电出版社 页 数: 925 第1部分 Python核心 第1章 欢迎来到Python世界 第2章 快速入门 第3章 Python基础 第4章 Python对象 第5章 数字 第6章 序列:字符串、列表和元组 第7章 映像和集合类型 第8章 条件和循环 第9章 文件和输入输出 第10章 错误和异常 第11 章 函数和函数式编程 第12章 模块 第13章 面向对象编程 第14章 执行环境 第2部分 高级主题 第15章 正则表达式 15.1 引言/动机 15.2 正则表达式使用的特殊符号和字符 15.2.1 用管道符号(|)匹配多个正则表达式模式 15.2.2 匹配任意一个单个的字符(.) 15.2.3 从字符串的开头或结尾或单词边界开始匹配(^/$ /\b /\B ) 15.2.4 创建字符类([]) 15.2.5 指定范围(-)和否定(^) 15.2.6 使用闭包操作符(*,+,?,{})实现多次出现/重复匹配 15.2.7 特殊字符表示、字符集 15.2.8 用圆括号(())组建组 15.3 正则表达式和Python语言 15.3.1 re模块:核心函数和方法 15.3.2 使用compile()编译正则表达式 15.3.3 匹配对象和group()、groups()方法 15.3.4 用match()匹配字符串 15.3.5 search()在一个字符串中查找一个模式(搜索与匹配的比较) 15.3.6 匹配多个字符串(|) 15.3.7 匹配任意单个字符(.) 15.3.8 创建字符集合([]) 15.3.9 重复、特殊字符和子组 15.3.10 从字符串的开头或结尾匹配及在单词边界上的匹配 15.3.11 用findall()找到每个出现的匹配部分 15.3.12 用sub()(和subn())进行搜索和替换 15.3.13 用split()分割(分隔模式) 15.4 正则表达式示例 15.4.1 匹配一个字符串 15.4.2 搜索与匹配的比较,“贪婪”匹配 15.5 练习 第16章 网络编程 16.1 引言 16.1.1 什么是客户端/服务器架构 16.1.2 客户端/服务器网络编程 16.2 套接字:通信端点 16.2.1 什么是套接字 16.2.2 套接字地址:主机与端口 16.2.3 面向连接与无连接 16.3 Python中的网络编程 16.3.1 socket()模块函数 16.3.2 套接字对象(内建)方法 16.3.3 创建一个TCP服务器 16.3.4 创建TCP客户端 16.3.5 运行我们的客户端与TCP服务器 16.3.6 创建一个UDP服务器 16.3.7 创建一个UDP客户端 16.3.8 执行UDP服务器和客户端 16.3.9 Socket模块属性 16.4 *SocketServer模块 16.4.1 创建一个SocketServerTCP服务器 16.4.2 创建SocketServerTCP客户端 16.4.3 执行TCP服务器和客户端 16.5 Twisted框架介绍 16.5.1 创建一个Twisted Reactor TCP服务器 16.5.2 创建一个Twisted Reactor TCP客户端 16.5.3 执行TCP服务器和客户端 16.6 相关模块 16.7 练习 第17章 网络客户端编程 17.1 什么是因特网客户端 17.2 文件传输 17.2.1 文件传输网际协议 17.2.2 文件传输协议(FTP) 17.2.3 Python和FTP 17.2.4 ftplib.FTP类方法 17.2.5 交互式FTP示例 17.2.6 客户端FTP程序举例 17.2.7 FTP的其他方面 17.3 网络新闻 17.3.1 Usenet与新闻组 17.3.2 网络新闻传输协议(NNTP) 17.3.3 Python和NNTP 17.3.4 nntplib.NNTP类方法 17.3.5 交互式NNTP举例 17.3.6 客户端程序NNTP举例 17.3.7 NNTP的其他方面 17.4 电子邮件 17.4.1 电子邮件系统组件和协议 17.4.2 发送电子邮件 17.4.3 Python和SMTP 17.4.4 smtplib.SMTP类方法 17.4.5 交互式SMTP示例 17.4.6 SMTP的其他方面 17.4.7 接收电子邮件 17.4.8 POP和IMAP 17.4.9 Python和POP3 17.4.10 交互式POP3举例 17.4.11 poplib.POP3类方法 17.4.12 客户端程序SMTP和POP3举例 17.5 相关模块 17.5.1 电子邮件 17.5.2 其他网络协议 17.6 练习 第18章 多线程编程 18.1 引言/动机 18.2 线程和进程 18.2.1 什么是进程 18.2.2 什么是线程 18.3 Python、线程和全局解释器锁 18.3.1 全局解释器锁(GIL) 18.3.2 退出线程 18.3.3 在Python中使用线程 18.3.4 没有线程支持的情况 18.3.5 Python的threading模块 18.4 thread模块 18.5 threading模块 18.5.1 Thread类 18.5.2 斐波那契、阶乘和累加和 18.5.3 threading模块中的其他函数 18.5.4 生产者-消费者问题和Queue模块 18.6 相关模块 18.7 练习 第19章 图形用户界面编程 19.1 简介 19.1.1 什么是Tcl、Tk和Tkinter 19.1.2 安装和使用Tkinter 533 19.1.3 客户端/服务器架构 534 19.2 Tkinter与Python编程 534 19.2.1 Tkinter模块:把Tk引入你的程序 19.2.2 GUI程序开发简介 19.2.3 顶层窗口: 19.2.4 Tk组件 19.3 Tkinter举例 19.3.1 标签组件 19.3.2 按钮组件 19.3.3 标签和按钮组件 19.3.4 标签、按钮和进度条组件 19.3.5 偏函数应用举例 19.3.6 中级Tkinter范例 19.4 其他GUI简介 19.4.1 Tk Interface eXtensions (Tix) 19.4.2 Python MegaWidgets (PMW) 19.4.3 wxWidgets和wxPython 19.4.4 GTK+和PyGTK 19.5 相关模块和其他GUI 19.6 练习 第20章 Web编程 20.1 介绍 20.1.1 Web应用:客户端/服务器计算 20.1.2 因特网 20.2 使用Python进行Web应用:创建一个简单的Web客户端 20.2.1 统一资源定位符 20.2.2 urlparse模块 20.2.3 urllib模块 20.2.4 urllib2模块 20.3 高级Web客户端 20.4 CGI:帮助Web服务器处理客户端数据 20.4.1 CGI介绍 20.4.2 CGI应用程序 20.4.3 cgi模块 20.5 建立CGI应用程序 20.5.1 建立Web服务器 20.5.2 建立表单页 20.5.3 生成结果页 20.5.4 生成表单和结果页面 20.5.5 全面交互的Web站点 20.6 在CGI中使用Unicode编码 20.7 高级CGI 20.7.1 Mulitipart表单提交和文件的上传 20.7.2 多值字段 20.7.3 cookie 20.7.4 使用高级CGI 20.8 Web(HTTP)服务器 20.9 相关模块 20.10 练习 第21章 数据库编程 21.1 介绍 21.1.1 持久存储 21.1.2 基本的数据库操作和SQL语言 21.1.3 数据库和Python 21.2 Python数据库应用程序程序员接口(DB-API) 21.2.1 模块属性 21.2.2 连接对象 21.2.3 游标对象 21.2.4 类型对象和构造器 21.2.5 关系数据库 21.2.6 数据库和Python:接口程序 21.2.7 使用数据库接口程序举例 21.3 对象-关系管理器(ORM) 21.3.1 考虑对象,而不是SQL 21.3.2 Python和ORM 21.3.3 雇员数据库举例 21.3.4 总结 21.4 相关模块 21.5 练习 第22章 扩展Python 623 22.1 引言/动机 22.1.1 什么是扩展 22.1.2 为什么要扩展Python 22.2 创建Python扩展 22.2.1 创建您的应用程序代码 22.2.2 用样板来包装你的代码 22.2.3 编译 22.2.4 导入和测试 22.2.5 引用计数 22.2.6 线程和全局解释器锁(GIL) 22.3 相关话题 22.4 练习 第23章 其他话题 23.1 Web服务 23.2 用Win32的COM来操作微软Office 23.2.1 客户端COM编程 23.2.2 微软Excel 23.2.3 微软Word 第1部分 Python核心 23.2.4 微软PowerPoint 23.2.5 微软Outlook 23.2.6 中等规模的例子 23.3 用Jython写Python和Java的程序 23.3.1 什么是Jython 23.3.2 Swing GUI开发(Java或者Python!) 23.4 练习 23.2.4 微软PowerPoint 23.2.5 微软Outlook 23.2.6 中等规模的例子 23.3 用Jython写Python和Java的程序 23.3.1 什么是Jython 23.3.2 Swing GUI开发(Java或者Python!) 23.4 练习

2017-10-28

vassistx 2010

vassistx 2010 ,Visual Studio 2010 辅助工具,非常好用。免费无需破解。

2017-10-28

C++面试宝典

C++面试宝典,各种C++专业问题及解答

2012-12-04

华为C++笔试题

华为C++笔试题,部分题 8.CSingleLock是干什么的?

2012-12-04

C经典程序100例

C经典程序100例,各种经典问题和例程、如排序、画图、古典数学问题等

2012-12-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除