自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(343)
  • 资源 (63)
  • 论坛 (5)
  • 收藏
  • 关注

原创 程序员画图工具Draw.io

程序员不要认为写好代码就好,画好图也很重要,难道你没听过PPT架构师,PPT架构师不就天天画图么。关于画图,俗话说,有图有真相!哦,不对,是一图胜千言。一图胜千言,沟通效率那不是刚刚的。Draw.io 是一个很好用的免费流程图绘制工具。你可以利用它绘制一系列的图表、图示或图形,包括流程图、UML 类图、组织结构图、泳道图、E-R 图、文氏图等等。一大堆的介绍,感觉很高端,其实我真正用的也就几个。这块软件可以在线访问进行画图,也可以下载安装包(绿色版)在本地打开进行画图,都是很方便的。这个画.

2020-11-24 13:26:10 30

原创 程序员35岁前需要完成的10件事

作为一名程序员要在 35 岁前完成哪些事情呢?这因目标而异,但下面这些项目应该具有非常高的通用性:1.精通一门最常用的语言2.了解一个最常用平台的基本机制,比如:内存管理、线程机制等3.UML 图和面向对象分析设计方法4.设计原则和设计模式,如:职责单一等5.《代码大全》里讲的一切6.精读一个知名的, 但有点规模的程序。这点上要感谢开源项目给我们提供了这么多优秀程序。但要谨防好高骛远,动辄挑战 Linux 内核,精读是关键。7.累积一定的代码量,比如:独立的完整做过一个数万代码行的东西。这.

2020-11-22 19:51:50 37 1

原创 graph-easy使用简介

Graph::Easy 是一个处理图形DSL的Perl模块,它有如下功能:提供了一种易懂,可读性很强的图形描述语言一种支持 ASCII Art 的基于网格的布局器可以导出为 Graphviz, VCG (Visualizing Compiler Graphs), GDL (Graph Description LAnguages) 和 GraphML 格式。可以从 Graphviz, VCG 和 GDL 导入图像。1. graph-easy 安装1.1 安装perl# yum install

2020-11-22 12:26:33 33

原创 通过QMP/QGA与虚拟机进行交互

1. QMP介绍qemu对外提供了一个socket接口,称为qemu monitor,通过该接口,可以对虚拟机实例的整个生命周期进行管理,通过该socket接口传递交互的协议是qmp,全称是qemu monitor protocol,基于json格式的协议,主要有如下功能状态查看、变更设备查看、变更性能查看、限制在线迁移数据备份访问内部操作系统2. QMP语法# 不带参数的指令{ "execute" : "XXX" }# 带参数的指令{ "execute" : "XXX", "

2020-11-17 10:22:28 48

原创 C语言的构造函数与析构函数

C++和JAVA中有构造函数,C语言中也有实现的方法,在gcc下可以使用关键字 __attribute__指定构造函数或者析构函数。他们由编译器在编译阶段进行处理。声明构造函数:void __attribute__((constructor)) function(void)声明析构函数:void __attribute__((destructor)) function(void)例:#include <stdio.h>void __attribute__((construct

2020-11-16 10:22:49 35

原创 KVM热迁移方式漫谈

1. Pre-copy 预拷贝内存预拷贝内存(Pre-copy)通过一个循环,将内存数据发送至目的主机VM,循环第一轮发送所有内存数据,接下来每一轮发送上一轮预拷贝过程中的脏页。最后一轮是停机拷贝阶段,源主机被挂起,停止内存更新,将脏页整体拷贝到目的主机vm上。对于更新速度非常快的内存部分,每次循环过程都会变脏,需要重复 pre-copy,同时也导致循环次数非常多,迁移的时间变长。针对这种情况,KVM 虚拟机建立了三个原则:集中原则,一个循环内的 dirty pages 小于等于 50;不扩散原则, 一

2020-11-11 22:22:10 24

原创 内存虚拟化EPT技术简介

1. 内存虚拟化现代多任务操作系统设计,一般进程之间使用不同的虚拟地址空间相互隔离, 在实现上:操作系统负责维护进程页表,映射虚拟地址到物理地址的关系CPU的内存管理单元(MMU)负责执行地址转换CPU提供TLB(Translation lookaside buffer)缓存最近用到的转换结果,加速转换效率虚拟化技术引入后,内存地址空间更加复杂了,客户机(Guest)和宿主机(Host)都有自己的地址空间:GVA: Guest虚拟地址GPA: Guest物理地址HVA: Host虚拟地

2020-11-11 15:48:01 56

原创 内存管理单元MMU简介

1. MMUMMU在CPU的配合下(通过页异常触发),实现了线性地址到物理地址的动态映射,为正在CPU上运行的应用程序(进程)提供了一个独立的连续内存空间(线性地址空间,或称虚拟内存空间,其中放置了代码段、数据段和堆栈段),屏蔽了地址分配、内存分配和内存回收等一系列复杂的系统行为。MMU的线性地址转换是通过页表进行的,具体过程如下图所示(摘自intel程序员手册卷3):其实最简单明了的方法是通过一个一维数组来记录映射关系:下标代表线性地址,数组元素内容代表物理地址。可是如此一来,用来表示映射关系的内

2020-11-11 10:41:34 40

原创 Linux 64位进程地址空间分布概况

对于Linux 64位系统,理论上,64bit内存地址可用空间为0x0000000000000000 ~ 0xFFFFFFFFFFFFFFFF(16位十六进制数),这是个相当庞大的空间,Linux实际上只用了其中一小部分(256T)。Linux64位操作系统仅使用低47位,高17位做扩展(只能是全0或全1)。所以,实际用到的地址为空间为0x0000000000000000 ~ 0x00007FFFFFFFFFFF(user space)和0xFFFF800000000000 ~ 0xFFFFFFFFFFF

2020-11-05 18:38:16 67

原创 vmlinuz文件解压方法

[root@centos boot]# od -t x1 -A d vmlinuz | grep “1f 8b 08”0013408 ff e0 1f 8b 08 00 ea 80 b9 52 02 03 ec 5b 7f 74[root@centos boot]# dd if=vmlinuz bs=1 skip=0013410 | zcat > vmlinuxgzip: stdin: decompression OK, trailing garbage ignored记录了9195934+0

2020-10-23 23:03:42 38

原创 StratoVirt在x86_64下的初体验

实验环境:OS: Centos8 虚拟机Kernel: 4.19.67Arch: x86_641. StratoVirt简介StratoVirt 是计算产业中面向云数据中心的企业级虚拟化平台,实现了一套架构统一支持虚拟机、容器、Serverless 三种场景。StratoVirt 在轻量低噪、软硬协同、Rust 语言级安全等方面具备关键技术竞争优势。StratoVirt 在保留传统虚拟化的隔离能力和安全能力的同时,降低了内存资源消耗,提高了虚拟机的启动速度。StratoVirt 可应用

2020-10-22 14:29:13 221 2

原创 十大经典排序C++实现及动图演示

0、算法概述0.1 算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。0.2 算法复杂度0.3 相关概念稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面。

2020-10-21 18:17:44 44

原创 centos8.2安装ovirt

1 禁用selinux, 关闭防火墙# systemctl stop firewalld && systemctl mask firewalld# setenforce 0 // 永久关闭/etc/selinux/config, 将SELINUX=enforcing改为SELINUX=disabled2 配置源:BaseOS : https://mirrors.tuna.tsinghua.edu.cn/centos/8/AppStream/x86_64/osAppSt

2020-10-21 09:25:06 66

翻译 强化学习Q-Learning算法及实现详解

本教程通过一个简单但全面的示例介绍Q-learning的概念。 该示例描述了一个使用无监督学习的过程。假设我们在一个建筑物中有5个房间,这些房间由门相连,如下图所示。 我们将每个房间编号为0到4。建筑物的外部可以视为一个大房间(5)。 请注意,1号和4号门从5号房间(外部)通向建筑物。我们可以在图表上表示房间,每个房间作为节点,每个门作为链接。对于此示例,我们想在任何房间中放置一个门,然后从该房间进入建筑物外(这将是我们的目标房间)。换句话说,目标房间是5号。要将此房间设置为目标,我们会将奖励值关

2020-10-14 22:54:56 83

翻译 自动驾驶模拟器Carla之python编程-(3)获取汽车摄像头数据

在上节我们已经创建了一个可以形式的特斯里model3,在本节,我们将给汽车上添加摄像头。了解更多有关各种传感器以及如何使用它们的信息:Carla Sensors。现在,我将仅展示如何使用RGB相机。1. 创建摄像头在脚本的顶部,让我们设置几个常量:IM_WIDTH = 640 IM_HEIGHT = 480 现在,我们加载传感器的蓝图并设置一些属性: # https://carla.readthedocs.io/en/latest/cameras_and_sensors

2020-10-13 22:14:19 143 2

翻译 自动驾驶模拟器Carla之python编程-(2)控制汽车

在本节,我们将向您介绍Carla的Python API。Carla中有几种类型的对象。首先,您当然拥有world(世界),这就是你的环境。这样,您便拥有了这个世界中的actors(角色)。角色诸如汽车、汽车上的传感器、行人等之类的东西。最后,我们有blueprints(蓝图)。蓝图是我们角色的属性。有了这些信息,让我们开始编写一些实际的代码。首先,让我们制造一辆可以生成汽车并简单地向前行驶的汽车,然后我们希望从常规RGB相机中查看信息,并将其放置在汽车引擎盖上。1. 导入carla及其他依赖包代码的

2020-10-13 21:48:38 184

翻译 自动驾驶模拟器Carla之python编程-(1)简介

欢迎来到涵盖Carla的系列教程,这是一个开放源代码的自动驾驶环境,还附带了与之交互的Python API。Carla拥有环境(服务器),然后具有代理(客户端)。 这种服务器/客户端架构意味着我们可以在同一台计算机上本地运行服务器和客户端,也可以在一台计算机上运行环境(服务器),在多台其他计算机上运行多个客户端。有了Carla,我们(显然)得到了一辆汽车,一个可以开车的环境,然后我们可以在汽车上放置一堆传感器,以模拟现实生活中的自动驾驶汽车传感器。 诸如激光雷达、照相机、 加速度计等之类的东西。我们

2020-10-13 21:05:21 204

原创 mwget安装及使用

mwget和curl/multicurl一样,m就是multi多线程的意思。mwget是wget的升级版,支持多线程下载。1. 下载及安装# git clone https://github.com/rayylee/mwget.git# cd wget# ./configure# make && make install2. 使用# mwget [URL] // 默认开4个线程# mwget -n 10 [URL] // 10个线程下载...

2020-10-11 14:37:58 99

原创 latex 生成中文目录乱码问题解决

\end{CJK}前添加\newpage, 然后使用PDFLATEX编译两次\documentclass[a4paper,10pt]{article}%\documentclass[a4paper,10pt]{scrartcl}\usepackage[encapsulated]{CJK}\usepackage{ucs}\usepackage[utf8x]{inputenc}\title{对话管理}\author{zhongkeli}\date{}\pdfinfo{% /Title

2020-09-30 22:54:09 113

原创 数据结构及算法之快速排序-python实现

1. 快速排序介绍快速排序(Quick Sort)使用分治法策略。它的基本思想是:选择一个基准数,通过一趟排序将要排序的数据分割成独立的两部分;其中一部分的所有数据都比另外一部分的所有数据都要小。然后,再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。快速排序流程:从数列中挑出一个基准值。将所有比基准值小的摆放在基准前面,所有比基准值大的摆在基准的后面(相同的数可以到任一边);在这个分区退出之后,该基准就处于数列的中间位置。递归地把"基准值前

2020-09-28 16:43:19 35

原创 LeetCode003-无重复字符的最长子串(Length of longest substring)-Rust语言实现

题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。

2020-09-20 18:22:25 32

原创 LeetCode002-两数相加(Add Two Numbers)-Rust语言实现

题目给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807#[derive(PartialEq, Eq, Clone, Debu

2020-09-20 16:23:42 26

原创 LeetCode004-寻找两个正序数组的中位数(Median of two sorted arrays)-Rust语言实现

题目给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]则中位数是 (2 + 3)/2 = 2.5思路:利用二分查找和栈解决思路:假设两个数组分别为:m = [

2020-09-20 08:37:58 77

原创 linux下golang编译环境搭建

1. 设置GOPATH及PATH修改 ~/.bash_profileexport GOPATH=/usr/local/gopathPATH="$GOPATH/bin:$PATH"export PATH2. 配置代理修改 ~/.bash_profileexport GOPROXY=https://goproxy.io3. 安装golang工具go install github.com/Go-zh/tools/cmd/goplsgo install github.com/Go-zh/to

2020-09-19 10:29:38 39

翻译 Rust 条件编译

条件编译可以通过两种不同的操作符实现,如下:cfg 属性:在属性位置中使用 #[cfg (…)]cfg!宏:在布尔表达式中使用 cfg!(…)例子 1:// 仅当目标系统为Linux 的时候才会编译#[cfg(target_os = "linux")]fn are_you_on_linux() { println!("linux!")}// 仅当目标系统不是Linux 时才会编译#[cfg(not(target_os = "linux"))]fn are_you_on_li

2020-09-17 10:59:20 34

原创 Rust+Yew之hello world

1. Yew 是什么?Yew 是一个设计先进的 Rust 框架,目的是使用 WebAssembly 来创建多线程的前端 web 应用。基于组件的框架,可以轻松的创建交互式 UI。拥有 React 或 Elm 等框架经验的开发人员在使用 Yew 时会感到得心应手。高性能 ,前端开发者可以轻易的将工作分流至后端来减少 DOM API 的调用,从而达到异常出色的性能。支持与 Javascript 交互 ,允许开发者使用 NPM 包,并与现有的 Javascript 应用程序结合。2. wasm-pa

2020-09-12 16:10:38 81

原创 WebAssembly实例之hello world

1. 安装emsdk# git clone https://github.com/juj/emsdk.git# cd emsdk# ./emsdk install latest# ./emsdk activate latest# source "/home/emsdk/emsdk_env.sh"2. 编译新建一个文件example.c,写入下面的代码#include <emscripten.h>int main(){ EM_ASM({ alert('Hello W

2020-09-11 22:39:00 68

原创 Rust中mut, &, &mut的区别

资源:内存区块。不同的内存区块位置和大小就是不同的资源。strlet a = "xxx".to_string();  含义:a绑定到字符串资源A上,拥有资源A的所有权let mut a = "xxx".to_string(); 含义:a绑定到字符串资源A上,拥有资源A的所有权,同时a还可绑定到新的资源上面去(更新绑定的能力,但新旧资源类型要同);valuelet b = a;含义:a绑定的资源A转移给b,b拥有这个资源Alet b = &a;  含义:a绑定的资源A借给b

2020-09-08 16:50:16 156

原创 LeetCode141-环形链表(Linked List Cycle)-Rust语言实现

环形链表给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。 +-----+ +-----+ +-----+ +-----+ | | |

2020-09-08 14:52:19 70

原创 linux下rust编译环境搭建

使用 RustupRustup 是官方提供的安装工具,不仅可以下载 Rustc 编译工具,还可以下载各种 Rust 的工具链。Rustup 镜像/反代使用方式把一下代码复制到.bashrc或者类似文件(.zshrc等)然后执行source .bashrc或者将其添加到环境变量export RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup安装 Rustup先打开 Rustup 的官网:https://rustup

2020-09-02 22:35:54 41

翻译 Rust的所有权(Ownership)

1. 什么是OwnershipRust的所有权,是一个跨时代的理念,是内存管理的第二次革命。Ownership是Rust的一个核心概念。每种编程语言都有自己的一套内存管理的方法。有些需要显式的分配和回收内存(如C),有些语言则依赖于垃圾回收器来回收不使用的内存(如Java)。而Rust不属于以上任何一种,它有一套自己的内存管理规则,叫做Ownership。Rust中常规数据类型,其数据都是存储在栈中,而像String或一些自定义的复杂数据结构(我们以后会对它们进行详细介绍),其数据则存储在堆内存中。

2020-08-26 17:39:02 84

翻译 AARRR用户运营模型简介

AARRR漏斗模型是Dave McClure 在2007提出的客户生命周期模型,解释了实现用户增长的5个指标,分别是:Acquisition(获取)、Activation(激活)、Retention(留存)、Revenue(收入)、Referral(自传播),因其掠夺式的增长方式也被称为海盗模型,可以帮助我们更好地理解获客和维护客户的原理一个企业的发展必不可少的就是拥有一台完善的用户运营模型,这样才能在用户运营的过程当中最大限度的减少客户的流失,提高客户的转化。AARRR海盗模型思维,俗称转化漏斗.

2020-08-16 19:36:03 130

翻译 安索夫矩阵分析市场和产品策略

1975年,策略管理之父安索夫(Igor Ansoff)博士提出安索夫矩阵。通过市场和产品两个维度,区分出:1)老产品、老市场;2)新产品、老市场;3)老产品、新市场;4)新产品、新市场四个象限。企业可以根据自身的条件,选择四种不同的成长性策略来达成企业成长的目标。理解安索夫矩阵,先拆解下什么是新市场,什么是新产品。新市场可以按维度划分。比如一二线城市和三四五线城市,是按照城市综合GDP维度划分的;母婴市场和男性市场和老年人市场,是按照年龄性别结构划分的。老产品进入新市场就是进入某一种维

2020-08-16 19:29:34 592

翻译 改善Python程序的91个建议(二)

接上: 改善Python程序的91个建议(一)建议 24:遵循异常处理的几点基本原则异常处理的几点原则:注意异常的粒度,不推荐在 try 中放入过多的代码谨慎使用单独的 except 语句处理所有异常,最好能定位具体的异常注意异常捕获的顺序,在适合的层次处理异常,Python 是按内建异常类的继承结构处理异常的,所以推荐的做法是将继承结构中子类异常在前抛出,父类异常在后抛出使用更为友好的异常信息,遵守异常参数的规范建议 25:避免 finally 中可能发生的陷阱当 finally 执行

2020-08-15 12:42:27 35

翻译 改善Python程序的91个建议(一)

第 1 章 引论建议 1:理解 Pythonic 概念PythonicTim Peters 的 《The Zen of Python》相信学过 Python 的都耳熟能详,在交互式环境中输入import this可以查看,其实有意思的是这段 Python 之禅的源码:d = {}for c in (65, 97): for i in range(26): d[chr(i+c)] = chr((i+13) % 26 + c)print "".join([d.get(c,

2020-08-15 12:32:39 66

翻译 Golang语言slice实现原理及使用方法

1. Slice实现原理Slice依托数组实现,底层数组对用户屏蔽,在底层数组容量不足时可以实现自动重分配并生成新的Slice。 接下来按照实际使用场景分别介绍其实现机制。源码包中src/runtime/slice.go:slice定义了Slice的数据结构:type slice struct { array unsafe.Pointer len int cap int}从数据结构看Slice很清晰, array指针指向底层数组,len表示切片长度,cap表示底层

2020-08-08 18:00:44 93

原创 Sun Oracle服务器做磁盘raid

2020-07-14 22:56:33 74

原创 Solaris11创建NFS服务

1. 建立共享share [ -F filesystem ] [ -o options ] [-d description ] pathname-to-resource-F file system type 指定被公享的文件系统类型。-o options 指定客户对资源访问的类型。-d description 功享资源的简单描述。当你share命令不带任何参数运行,他就会被显示。pathname-to-resource 在服务器上共享的资源名字。options:-o 指定了允许客户

2020-07-14 22:36:28 56

翻译 Solaris11 磁盘分区

环境:2块内置盘,一个16G(系统盘),另一个14GSun Oracle Solaris11 系统1. 查看磁盘选择第一个磁盘2. 识别新硬盘# devfsadm3. 分区选择第一个磁盘选择fdisk建立分区表创建并激活跨整个磁盘的 Solaris fdisk 分区如果不希望 Solaris fdisk 分区跨整个磁盘,请在提示符下指定 n。确定要为 Solaris fdisk 分区保留的磁盘百分比。计算该百分比时,请记住任何现有 fdisk 分区的大小。.

2020-07-14 22:13:23 88

原创 golang中new、make及取地址符(&)

new简介及使用方式new() 用于返回类型指针,这个操作:分两步,第一步:初始化一个变量为零的值,第二步:生成一个指向类型变量的地址。&Type 返回类型变量的地址,这个操作:分两步,第一步:初始化一个变量(变量值可以不为零)的值,第二步:生成类型变量的地址并返回。相同点和不同点:都是返回指向变量的地址new()不支持初始化变量的值(默认值都是零),&Type支持初始化自定义变量的值使用方式:type SyncedBuffer struct { str strin

2020-07-11 22:03:12 311

x86_64内核kernel4.19.152编译的vmlinux|vmlinux.4.19.152.x86_64.tar

x86_64内核kernel4.19.152编译的vmlinux、vmlinx.bin及config文件

2020-10-31

linux按键驱动(input子系统)

linux按键驱动(input子系统)

2014-09-12

IIC通信协议

IIC通信协议

2014-08-24

exynos4412裸机按键程序x-key-with-led-beep

exynos4412裸机按键程序x-key-with-led-beep

2014-08-21

串口调试助手V1.5-原子版本

串口调试助手V1.5-原子版本

2014-05-22

嵌入式系统设计师教程

嵌入式系统设计师教程

2014-03-27

TCPIP网络组件Lwip之最简单的webserver

TCPIP网络组件Lwip之最简单的webserver tcp lwip stm32 红龙

2014-03-20

LwIP无操作系统下的实验(内附LwIP中文应用指南)

LwIP无操作系统下的实验(内附LwIP中文应用指南)

2014-03-21

红龙板_TFT绘图API(3.2寸)

红龙板_TFT绘图API(3.2寸)

2014-02-26

TCPIP网络组件Lwip之TCP Server

TCPIP网络组件Lwip之TCP Server

2014-02-27

STM32_F107_lwIP_uCOS_v1.0.0

STM32_F107_lwIP_uCOS_v1.0.0

2014-02-21

uCOSII2.912Blwip-1.3.2+28DM900029

uCOSII2.912Blwip-1.3.2+28DM900029

2014-02-21

stm32 dm9000a uip程序

stm32 dm9000a uip程序

2013-09-04

modbus-master-slave模拟软件

modbus-master-slave模拟软件

2013-08-27

Modbus调试精灵

Modbus调试精灵

2013-08-27

STM32学习笔记

STM32学习笔记

2013-07-31

Qt编写串口通信程序

Qt编写串口通信程序

2012-09-25

单片微型机原理、应用与实验(第五版)-张友德-答案

单片微型机原理、应用与实验(第五版)-张友德-答案

2012-09-17

Ubuntu12.04菜鸟使用教程

Ubuntu12.04菜鸟使用教程

2012-09-19

Ubuntu标准教程

Ubuntu标准教程

2012-09-19

Ubuntu安装教程

Ubuntu_12.04安装教程(非wubi安装)

2012-09-19

buntu12.04菜鸟使用教程

buntu12.04菜鸟使用教程

2012-09-19

51单片机延时子程序详解

51单片机延时子程序详解

2012-07-18

s3c2440 IIS实现UDA1341音频功能

s3c2440 IIS实现UDA1341音频功能

2012-05-10

振南的SD卡FAT32文件系统

振南的SD卡FAT32文件系统

2012-05-03

各大公司应聘电子类题目精选

各大公司应聘电子类题目精选 各大公司应聘电子类题目精选

2012-05-03

HB12864M2A液晶资料

HB12864M2A液晶资料

2012-05-03

linux系统管理命令

linux系统管理命令

2012-05-03

SD卡上的znFAT++实例

SD卡上的znFAT++实例 SD卡上的znFAT++实例

2012-05-03

振南的znFAT--单片机上的FAT32文件系统

振南的znFAT--单片机上的FAT32文件系统

2012-05-03

读DS18B20序列号C程序

读DS18B20序列号C程序

2012-04-21

严蔚敏:数据结构题集(C语言版).pdf

清华大学严蔚敏:数据结构题集(C语言版)

2011-12-25

国嵌 嵌入式LINUX应用开发班实验手册

国嵌 嵌入式LINUX应用开发班实验手册

2011-11-12

C语言第四版 谭浩强 答案

C语言第四版 谭浩强 答案 C语言第四版 谭浩强 答案

2011-08-26

二级C语言笔试历年真卷

二级C语言笔试历年真卷 二级C语言笔试历年真卷

2011-08-26

二级C语言上机_总结

二级C语言上机_总结 二级C语言上机_总结

2011-08-26

win7快捷键大集合

win7快捷键大集合

2011-08-26

KEIL_C编译器错误的解决办法

KEIL_C编译器错误的解决办法 KEIL_C编译器错误的解决办法

2011-08-25

uCOS-II of lpc2368移植

基于keil for arm 的 uCOS-II of lpc2368移植

2011-08-18

新编16_32位微型计算机原理及应用(清华大学李继灿)

新编16_32位微型计算机原理及应用(清华大学李继灿)

2011-08-20

beachboyy的留言板

发表于 2020-01-02 最后回复 2020-01-02

刚开始学UIP,想问下,uip作为tcp服务器响应2个以上的客户端,但是TCP 的发送、接收缓冲区是同一个。。该怎么弄啊?要从哪里入手啊?非常感谢!

发表于 2014-03-10 最后回复 2016-07-22

学嵌入式、linux可以从事什么工作??

发表于 2012-08-21 最后回复 2014-03-10

while(N--);与uint i; for(i=0;i<N;i++);的区别

发表于 2011-08-11 最后回复 2014-03-10

嵌入式linux学习起步

发表于 2011-07-20 最后回复 2012-04-11

空空如也

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

TA关注的人 TA的粉丝

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