自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (6)
  • 收藏
  • 关注

转载 在linux内核中读写文件

1. 序曲在用户态,读写文件可以通过read和write这两个系统调用来完成(C库函数实际上是对系统调用的封装)。 但是,在内核态没有这样的系统调用,我们又该如何读写文件呢?阅读Linux内核源码,可以知道陷入内核执行的是实际执行的是sys_read和sys_write这两个函数,但是这两个函数没有使用EXPORT_SYMBOL导出,也就是说其他模块不能使用。在fs/ope

2017-04-14 16:35:46 351

转载 linux-3.2.36内核启动1-启动参数(arm平台 启动参数的获取和处理,分析setup_arch)

最近公司要求调试一个内核,启动时有问题,所以就花了一点时间看看内核启动。看的过程中总结了一点东西,希望可以帮助大家调试内核。当我开始看的时候,第一件事是从网上搜集资料,不看不知道,一看吓一跳!牛人太多了,像这种内核启动的上古代码早就被人分析的彻彻底底。这注定我写的只能是烂微博了。为了此微博有存在的必要,我会显示内核启动打印的代码位置(用绿色表示)及出现错误打印的原因(用红色

2017-04-14 16:31:30 452

转载 Linux 内核网络协议栈 ------sk_buff 结构体 以及 完全解释 (2.6.16)

在2.6.24之后这个结构体有了较大的变化,此处先说一说2.6.16版本的sk_buff,以及解释一些问题。一、先直观的看一下这个结构体~~~~~~~~~~~~~~~~~~~~~~在下面解释每个字段的意义~~~~~~~~~~~[cpp] view plain copy print?struct sk_buff { 

2017-04-14 16:30:21 751

转载 linux-3.2.36内核启动1-启动参数(arm平台 启动参数的获取和处理,分析setup_arch)

最近公司要求调试一个内核,启动时有问题,所以就花了一点时间看看内核启动。看的过程中总结了一点东西,希望可以帮助大家调试内核。当我开始看的时候,第一件事是从网上搜集资料,不看不知道,一看吓一跳!牛人太多了,像这种内核启动的上古代码早就被人分析的彻彻底底。这注定我写的只能是烂微博了。为了此微博有存在的必要,我会显示内核启动打印的代码位置(用绿色表示)及出现错误打印的原因(用红色

2017-04-14 14:46:51 493

转载 在linux内核中读写文件

1. 序曲在用户态,读写文件可以通过read和write这两个系统调用来完成(C库函数实际上是对系统调用的封装)。 但是,在内核态没有这样的系统调用,我们又该如何读写文件呢?阅读Linux内核源码,可以知道陷入内核执行的是实际执行的是sys_read和sys_write这两个函数,但是这两个函数没有使用EXPORT_SYMBOL导出,也就是说其他模块不能使用。在fs/ope

2017-04-14 14:42:37 272

转载 linux中 likely与unlikely

看内核时总遇到if(likely( )){}或是if(unlikely( ))这样的语句,最初不解其意,现在有所了解,所以也想介绍一下。likely() 与 unlikely()是内核(我看的是2.6.22.6版本,2.6的版本应该都有)中定义的两个宏。位于/include/linux/compiler.h中,具体定义如下:#define likely(x) __builtin_e

2017-04-14 14:37:40 236

转载 Linux内核sk_buff结构分析

原文地址:http://blog.chinaunix.NET/uid-22227409-id-2656912.html在内核中sk_buff表示一个网络数据包,它是一个双向链表,而链表头就是sk_buff_head,在老的内核里面sk_buff会有一个list域直接指向sk_buff_head也就是链表头,现在在2.6.32里面这个域已经被删除了。 而sk_buff的内存布局可以分

2017-04-14 14:28:21 375

转载 TCP详细介绍

TCP提供一种面向连接的、全双工的、可靠的字节流服务。在一个TCP连接中,仅有两方进行彼此通信。广播和多播不能用于TCP。TCP的接收端必须丢弃重复的数据。TCP对字节流的内容不作任何解释。对字节流的解释由TCP连接双方的应用层解释。TCP通过下列方式来提供可靠性:应用数据被分割成TCP认为最适合发送的数据块,称为报文段或段。TCP协议中采用自适应的超时及重传策略。TC

2017-04-13 17:20:23 428

转载 数据挖掘-基于机器学习的SNS隐私策略推荐向导分类器的C++及WEKA实现与评估

本文接《基于机器学习的SNS隐私保护策略推荐向导的设计与实现》,详细解析基于机器学习的SNS隐私策略推荐向导分类器的C++及WEKA实现与评估结果,本文完整C++程序及Java工程下载链接见点击打开链接,对数据挖掘和SNS感兴趣的朋友可以下载跑一下,有任何问题欢迎交流:)基于机器学习的SNS隐私策略推荐向导分类器的C++及WEKA实现与评估1 SNS朋友数据预处理与统计要实现对朋友

2017-04-13 14:01:51 531

转载 数据挖掘-基于贝叶斯算法及KNN算法的newsgroup18828文本分类器的JAVA实现(上)

(update 2012.12.28 关于本项目下载及运行的常见问题 FAQ见 newsgroup18828文本分类器、文本聚类器、关联分析频繁模式挖掘算法的Java实现工程下载及运行FAQ )本文主要内容如下:对newsgroup文档集进行预处理,提取出30095 个特征词计算每篇文档中的特征词的TF*IDF值,实现文档向量化,在KNN算法中使用用Java实现了KNN

2017-04-13 13:58:50 934

转载 LeetCode总结

最近完成了www.leetcode.com的online judge中151道算法题目。除各个题目有特殊巧妙的解法以外,大部分题目都是经典的算法或者数据结构,因此做了如下小结,具体的解题思路可以搜索我的博客:LeetCode题解题目算法数据结构注意事项Clone GraphBFS哈希表Word Ladder IIBFS哈希

2017-04-13 13:56:49 217

转载 数据挖掘—概念学习Candidate-Elimination算法的C++实现

Candidate-Elimination算法是数据挖掘中的一种概念学习算法,部分解决Find-S的不足,可以输出所有与训练样本一致的概念,同时利用概念间偏序关系来指导搜索,其伪代码描述如下[cpp] view plain copyInitialize Gto the set of most-general hypotheses in H  

2017-04-13 11:51:40 539

转载 WEKA使用教程(经典教程转载)

目录 1. 简介2. 数据格式3.数据准备4. 关联规则(购物篮分析)5. 分类与回归6. 聚类分析1. 简介 WEKA的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),它的源代码可通过http://www.cs.waikato.ac.nz/ml/weka得到。同时weka也是新西兰的一种鸟名

2017-04-13 11:37:41 4226

转载 使用Weka进行数据挖掘

http://blog.sina.com.cn/s/blog_72995dcc01016mxn.html1.简介数据挖掘、机器学习这些字眼,在一些人看来,是门槛很高的东西。诚然,如果做算法实现甚至算法优化,确实需要很多背景知识。但事实是,绝大多数数据挖掘工程师,不需要去做算法层面的东西。他们的精力,集中在特征提取,算法选择和参数调优上。那么,一个可以方便地提供这些功能的工具,便是十分必

2017-04-13 11:34:27 451

转载 关系数据库常用名词及解释

关系数据库常用名词及解释1、键码(Key):它是关系模型中的一个重要概念,在关系中用来标识行的一列或多列。2、候选关键字(Candidate Key):它是唯一地标识表中的一行而又不含多余属性的一个属性集,即在同一张表中,也许存在多于一种列的组合可以唯一地标识一行数据,这些任意一种列的组合就是候选关键字;3、主关键字(Primary Key):它是被挑选出来

2017-04-12 14:32:50 1706

转载 权限的设计

RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。(如下图)角色是什么?可以理解为一定数量的权限的集合,权限的载体。例如:一个论坛系统,“超级管理员”、

2017-04-12 14:31:48 247

转载 常用SQL语句(增删查改、合并统计、模糊搜索)

常用SQL语句首行当然是最基本的增删查改啦,其中最重要的是查。还有就是一些要注意的地方,就是SQL语句对大小写不敏感,语句中列名对应的值要用单引号''括起来不是双引号。SQL 使用单引号来环绕文本值。如果是数值,请不要使用引号。特别是C/C++程序员要注意,通常错误都是在用字符串进行拼接SQL语句时,由于双引号和单引号混用,特别容易出错。一、查:

2017-04-12 14:30:20 320

转载 主键的选择

主键的选择:1.有意义的键和无意义的键:有意义的键:例如身份证号。键值是唯一的,而由人来指定是不可靠的,有可能会出现重复,虽然数据库可以检测出来,但是在数据进入系统之前不会被发现。所以有意义的键是不可靠的。无意义的键:本质是数据库构造的并不打算供人使用的一个随即数。对应小系统或稳定的情况,应优先考虑。2.简单键和组合键:组合键:在一个表和另一个表上下文相关时更易于使用。比如:订

2017-04-12 14:29:32 431

转载 查找文本文件中的关键字

查找文本文件中的关键字,说白了就是以文本文件作为输入,进行字符串匹配,找返回其第一次出现的下标位置。但是由于数据是以文本文件的形式作为输入的,如何存储和进行匹配就成为了一个问题。下面以两种方法来介绍如何操作。注:本文中采用的字符串匹配算法只是普通的字符串匹配算法,重点在对文件处理和分块查找。一、蛮力法这种方法非常简单,把文件中的所有数据输入到一个字符数组中,然后以数组作为主串,关键

2017-04-12 13:51:28 1075

转载 二叉搜索树转换为有序双向链表

一、问题描述输入一棵二叉搜索树,现在要将该二叉搜索树转换成一个排序的双向链表。而且在转换的过程中,不能创建任何新的结点,只能调整树中的结点指针的指向来实现。二、实现思路在二叉搜索树中,每个结点都有两个分别指向其左、右子树的指针,左子树结点的值总是小于父结点的值,右子树结点的值总是大于父结点的值。而在双向链表中,每个结点也有两个指针,它们分别指向前一个结点和后一个结点。所以这两种

2017-04-12 13:48:43 324

转载 二叉树常用操作算法集、解释及注意事项

二叉树是一种常用的数据结构,在程序中也经常需要使用二叉树,但是你所使用语言却并不一定提供了二叉树这种数据类型,所以为了方便使用,我们可以自己实现一个二叉树的数据类型。在需要时就像使用其他已定义的类型一样方便。下面给出一些本人写的算法和解释(基于C语言),希望对读者写一个二叉树数据类型有所帮助。0、递归的四条基本法则由于二叉树中的算法大多使用递归来实现,而且使用递归实现也

2017-04-12 13:45:00 569

转载 Linux进程间通信——信号集函数

我们已经知道,我们可以通过信号来终止进程,也可以通过信号来在进程间进行通信,程序也可以通过指定信号的关联处理函数来改变信号的默认处理方式,也可以屏蔽某些信号,使其不能传递给进程。那么我们应该如何设定我们需要处理的信号,我们不需要处理哪些信号等问题呢?信号集函数就是帮助我们解决这些问题的。有关Linux进程间使用信号通信的更多内容,可以参阅我的另一篇文章——Linux进程间通信——使用信

2017-04-12 11:46:22 216

转载 Linux进程间通信——使用信号

一、什么是信号用过Windows的我们都知道,当我们无法正常结束一个程序时,可以用任务管理器强制结束这个进程,但这其实是怎么实现的呢?同样的功能在Linux上是通过生成信号和捕获信号来实现的,运行中的进程捕获到这个信号然后作出一定的操作并最终被终止。信号是UNIX和Linux系统响应某些条件而产生的一个事件,接收到该信号的进程会相应地采取一些行动。通常信号是由一个错误产生的。但它们

2017-04-12 11:44:48 206

转载 二叉树常用操作算法集、解释及注意事项

二叉树是一种常用的数据结构,在程序中也经常需要使用二叉树,但是你所使用语言却并不一定提供了二叉树这种数据类型,所以为了方便使用,我们可以自己实现一个二叉树的数据类型。在需要时就像使用其他已定义的类型一样方便。下面给出一些本人写的算法和解释(基于C语言),希望对读者写一个二叉树数据类型有所帮助。0、递归的四条基本法则由于二叉树中的算法大多使用递归来实现,而且使用递归实现也

2017-04-12 11:43:11 740

转载 初窥Linux 之 数据流重定向

一、什么是数据流重定向在说数据流重定向之前,先来说说数据流的概念吧。数据流分为三种:标准输入(stdin),标准输出(stdout)和标准错误输出(stderr)。简单来说,标准输出指的是命令执行所回传的正确信息,而标准错误输出指的是命令执行失败后,所回传的错误信息。这些信息默认是打印在屏幕上的。那么什么时数据流重定向呢?从字面上理解就是改变数据流的流向,使之流

2017-04-12 11:40:02 229

转载 Linux启动新进程的几种方法及比较

有时候,我们需要在自己的程序(进程)中启动另一个程序(进程)来帮助我们完成一些工作,那么我们需要怎么才能在自己的进程中启动其他的进程呢?在Linux中提供了不少的方法来实现这一点,下面就来介绍一个这些方法及它们之间的区别。一、system函数调用system函数的原型为:[cpp] view plain copy print?#i

2017-04-12 11:35:14 332

转载 Linux进程间通信——使用匿名管道

在前面,介绍了一种进程间的通信方式:使用信号,我们创建通知事件,并通过它引起响应,但传递的信息只是一个信号值。这里将介绍另一种进程间通信的方式——匿名管道,通过它进程间可以交换更多有用的数据。一、什么是管道如果你使用过Linux的命令,那么对于管道这个名词你一定不会感觉到陌生,因为我们通常通过符号“|"来使用管道,但是管理的真正定义是什么呢?管道是一个进程连接数据流到另一个进程的通

2017-04-12 11:33:59 278

转载 Linux进程间通信——使用命名管道

在前一篇文章——Linux进程间通信——使用匿名管道中,我们看到了如何使用匿名管道来在进程之间传递数据,同时也看到了这个方式的一个缺陷,就是这些进程都由一个共同的祖先进程启动,这给我们在不相关的的进程之间交换数据带来了不方便。这里将会介绍进程的另一种通信方式——命名管道,来解决不相关进程间的通信问题。一、什么是命名管道命名管道也被称为FIFO文件,它是一种特殊类型的文件,它在文件系

2017-04-12 11:32:44 220

转载 Linux进程间通信——使用信号量

这篇文章将讲述别一种进程间通信的机制——信号量。注意请不要把它与之前所说的信号混淆起来,信号与信号量是不同的两种事物。有关信号的更多内容,可以阅读我的另一篇文章:Linux进程间通信——使用信号。下面就进入信号量的讲解。一、什么是信号量为了防止出现因多个程序同时访问一个共享资源而引发的一系列问题,我们需要一种方法,它可以通过生成并使用令牌来授权,在任一时刻只能有一个执行线程访问代码

2017-04-12 11:31:53 300

转载 Linux进程间通信——使用流套接字

前面说到的进程间的通信,所通信的进程都是在同一台计算机上的,而使用socket进行通信的进程可以是同一台计算机的进程,也是可以是通过网络连接起来的不同计算机上的进程。通常我们使用socket进行网络编程,这里将会简单地讲述如何使用socket进行简单的网络编程。一、什么是socketsocket,即套接字是一种通信机制,凭借这种机制,客户/服务器(即要进行通信的进程)系统的开发工作

2017-04-12 11:30:06 232

转载 Linux进程间通信——使用数据报套接字

前一篇文章,Linux进程间通信——使用流套接字介绍了一些有关socket(套接字)的一些基本内容,并讲解了流套接字的使用,这篇文章将会给大家讲讲,数据报套接字的使用。一、简单回顾——什么是数据报套接字。socket,即套接字是一种通信机制,凭借这种机制,客户/服务器(即要进行通信的进程)系统的开发工作既可以在本地单机上进行,也可以跨网络进行。也就是说它可以让不在同一台计算

2017-04-12 11:27:44 477

转载 Linux进程间通信——使用消息队列

下面来说说如何用不用消息队列来进行进程间的通信,消息队列与命名管道有很多相似之处。有关命名管道的更多内容可以参阅我的另一篇文章:Linux进程间通信——使用命名管道一、什么是消息队列消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。  每个数据块都被认为含有一个类型,接收进程可以独立地接收含有不同类型的数据结构。我们可以通过发送消息来避免命名管道的同步和阻塞问题。但是消

2017-04-12 11:26:02 416

转载 Linux进程间通信——使用共享内存

下面将讲解进程间通信的另一种方式,使用共享内存。一、什么是共享内存顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由用C语言函数malloc分配的内存一

2017-04-12 11:24:33 343

转载 初窥Linux 之 我最常用的20条命令

玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼,因为我们只需要掌握我们最常用的命令就可以了。当然你也可以在使用时去找一下man,他会帮你解决不少的问题。然而每个人玩Linux的目的都不同,所以他们常用的命令也就差异非常大,而我主要是用Linux进行C/C++和shell程序编写的,所以常用到的命令可以就会跟一个管理Li

2017-04-12 11:19:38 410

转载 课程设计---停车场管理系统

【要求C或C++编程】设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在停车场的最北端),若停车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门

2017-04-06 17:56:13 2326 3

转载 遍历二叉树的各种操作(非递归遍历)

转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/6583988        先使用先序的方法建立一棵二叉树,然后分别使用递归与非递归的方法实现前序、中序、后序遍历二叉树,并使用了两种方法来进行层次遍历二叉树,一种方法就是使用STL中的queue,另外一种方法就是定义了一个数组队列,分别使用了front和rear两

2017-04-06 17:54:17 231

转载 数据结构课程设计---魔王语言解释

[问题描述] 有一个魔王总是使用自己的一种非常精练而又抽象的语言讲话,没有人能听得懂,但他的语言是可以逐步解释成人能听懂的语言,因为他的语言是由以下两种形式的规则由人的语言逐步抽象上去的: (1) α -> β1β2…βm (2)(θδ1δ2…δn)->θδnθδn-1… θδ1θ 在这两种形式中,从左到右均表示解释。试写一个魔王语言的解释系统,把他的话解释成人能听得懂的话。 

2017-04-06 17:52:05 421

转载 链表各类操作详解

链表概述   链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。它可以根据需要开辟内存单元。链表有一个“头指针”变量,以head表示,它存放一个地址。该地址指向一个元素。链表中每一个元素称为“结点”,每个结点都应包括两个部分:一为用户需要用的实际数据,二为下一个结点的地址。因此,head指向第一个元素:第一个元素又指向第二个元素;……,直到最后一个元素,该元素不再指向其它元素,

2017-04-06 17:50:43 917

YOLOV8 安全帽佩戴检测(含训练好的模型和训练集)

YOLOV8 安全帽佩戴检测(含训练好的模型和训练集)

2024-02-28

tornado替换文件win7.rar

tornado替换文件win7

2021-04-28

vxworks聊天记录.docx

系统采用VxWorks实时系统,请根据上面列表构建软件架构子模块A-子模块B与测控主机之间采用1553B通讯  

2021-04-15

VxWorks基本概念及常见问题.doc(VxWorks基本概念及常见问题解答)

VxWorks基本概念及常见问题,开发者利器

2021-04-15

VxWorks中文FAQ.txt

集中解答VxWorks开发中的数十类工程问题,上百条调试经验。 VxWorks开发者必备手册

2021-04-15

实际例程VXworks.rar

vmWare上运行VxWorks,指导文档+BSP+镜像文件(x86) 编译好的VXWORKS,支持光驱镜像启动(vm.iso)、 VMware平台的使用和Vxworks开发环境的建立、VMware平台的使用和Vxworks开发环境的建立.pdf

2021-04-15

Python资料1

Python资料1

2017-12-05

空空如也

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

TA关注的人

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