自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(103)
  • 资源 (7)
  • 收藏
  • 关注

转载 linux下静态库、动态库总结

一、基本概念1.1、什么是库       在 windows 平台和 linux 平台下都大量存在着库。       本质上来说库是一种可执行的二进制代码(但不可以独立执行),可以被操作系统载入内存执行。       由于 windows 和 linux 的平台不同(主要是编译器、汇编器和连接器 的不同),因此二者库的二进制是不兼容的。       本文仅限

2015-09-23 13:48:51 1066

转载 Makefile使用总结

1. Makefile 简介Makefile 是和 make 命令一起配合使用的.很多大型项目的编译都是通过 Makefile 来组织的, 如果没有 Makefile, 那很多项目中各种库和代码之间的依赖关系不知会多复杂.Makefile的组织流程的能力如此之强, 不仅可以用来编译项目, 还可以用来组织我们平时的一些日常操作. 这个需要大家发挥自己的想象力. 本篇博客是基于 {

2015-09-17 15:49:39 699

转载 MongoDB查询

转自 http://www.cnblogs.com/egger/archive/2013/06/14/3135847.html 本文将介绍操作符的使用,配合操作符,我们可以执行更加复杂的操作。目录查询操作集合查询方法 find()查询内嵌文档查询操作符(内含 数组查询)"$gt" 、"$gte"、 "$lt"、 "$lte"、"n

2015-08-09 16:51:30 619

转载 Linux守护进程设计规范及python实现

转自http://blog.csdn.net/dysj4099/article/details/18219411由于需要为OpenStack中的虚拟机设计监控Agent,因此需要一个稳妥、可靠并简单的守护进程实现作为基础框架,故研究了一下Linux系统中的守护进程。首先,守护进程是一类在后台执行,生命周期较长的进程,它一般随系统启动运行,在系统关闭的时候停止。翻译了一下《Advan

2015-06-08 11:27:58 1258

转载 Python 魔术方法指南

http://pycoders-weekly-chinese.readthedocs.org/en/latest/issue6/a-guide-to-pythons-magic-methods.htmlPython 魔术方法指南入门构造和初始化构造定制类用于比较的魔术方法用于数值处理的魔术方法表现你的类控制属性访问

2015-03-18 16:39:55 933

转载 python文件及目录操作(copytree)

http://www.cnblogs.com/rollenholt/archive/2012/04/23/2466179.htmlpython中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来

2015-03-18 16:24:06 24960 1

转载 py文件编译为pyc(命令与脚本)

http://blog.csdn.net/sislcb/article/details/4002414什么是pyc文件pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python的虚拟机来执行的,这个是类似于JAVA或者.NET的虚拟机的概念。py

2015-03-18 16:11:50 2262

转载 lua table是否为空的判断

转自 http://www.cnblogs.com/njucslzh/archive/2013/02/02/2886876.html在项目的脚本lua中经常有这样的需求,1、local a = {}2、对a进行处理3、对a是否为空表进行判断关于对a是否为空表的判断,如果直接这样做:if a == {} then这样的结果就是a =

2015-02-12 21:11:53 1883

转载 linux sed命令详解

简介sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。 

2014-08-28 14:47:59 628

原创 栈的C语言实现源码

struct Node;typedef struct Node* pNode;typedef pNode Stack;struct Node{ ElemType elem; pNode next;}int IsEmpyt(Stack s){ return (s->next == NULL);}Stack CreateStack(){ Stack s; if(

2014-08-27 17:09:08 752

转载 用户态与内核态

当一个任务(进程)执行系统调用而陷入内核代码中执行时,我们就称进程处于内核运行态(或简称为内核态)。此时处理器处于特权级最高的(0级)内核代码中执行。当进程处于内核态时,执行的内核代码会使用当前进程的内核栈。每个进程都有自己的内核栈。当进程在执行用户自己的代码时,则称其处于用户运行态(用户态)。即此时处理器在特权级最低的(3级)用户代码中运行。当正在执行用户程序而突然被中断程序中断时,此时用户程序

2014-08-27 14:59:47 991

转载 grep、cut常见用法

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响

2014-08-26 17:25:49 6601

转载 IO多路复用之select总结

转载自http://blog.163.com/smileface100@126/blog/static/27720874200951024532966/

2014-08-25 18:56:39 739

转载 进程同步与异步概念

进程同步:我们把异步环境下的一组并发进程因直接制约而互相发送消息、进行互相合作、互相等待,使得各进程按一定的速度执行的过程称为进程间的同步。具有同步关系的一组并发进程称为合作进程,合作进程间互相发送的信号称为消息或事件。 如果我们对一个消息或事件赋以唯一的消息名,则我们可用过程 wait (消息名)  表示进程等待合作进程发来的消息,而用过程signal (消息名) 表示向合作进程

2014-08-25 16:27:00 2554

转载 Linux线程属性总结

线程属性标识符:pthread_attr_t 包含在 pthread.h 头文件中。[c] view plaincopy//线程属性结构如下:  typedef struct  {      int                   etachstate;      //线程的分离状态      int               

2014-08-24 15:14:40 2105

转载 迭代器适配器

http://blog.csdn.net/effective_coder/article/details/8733853前一节中我们讨论了主要的几个迭代器,但是那几个迭代器都是定义于STL中的标准容器,用法也只能针对标准容器,比较局限。在不断的演变中,STL的爱好者扩充了迭代器的内容,他们在迭代器的基础上发展而来,叫迭代器适配器,他提供了更多的操作功能,也不仅仅局限于容器,还可以应用于

2014-08-24 13:09:23 739

原创 常见几个排序源码及二分查找源码

#include #include #include using namespace std;void swap(int &a, int &b){int tmp = a;a = b;b = tmp;}//Quick_sortint Median3(int *a, int left, int right){int c

2014-08-21 16:43:21 665

原创 常见几个字符串函数实现代码

(1)size_t strlen(const char *str){assert(str != NULL);unsigned int  cnt = 0;while(*str++ != NULL)++cnt;return cnt;}(2)char  *strcpy(char *strDest, const *strSrc){if(s

2014-08-20 21:36:41 694

转载 回调函数

回调函数(http://blog.csdn.net/callmeback/article/details/4242260 在看LWIP时,见到用回调函数,再看某老外公司OPC源代码时,见到用回调函数。看我国内某些代码(我公司软件等)时没用到。于是,我对回调函数产生了很大的好奇。以前,我写VC程序时用到过回调函数,但是没有用C语言来使用。最近,看到国外大量的经典代码中广泛使用了回调函数(LW

2014-08-19 20:11:41 664

转载 C++类型转换

首先回顾一下C++类型转换:C++类型转换分为:隐式类型转换和显式类型转换第1部分. 隐式类型转换又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion) : 在混合类型的算术表达式中, 最宽的数据类型成为目标转换类型。 int ival = 3;double dval = 3.14159;

2014-08-19 16:44:14 1052

原创 关于extern const

首先,有一点需要明确,就是const对象默认为文件的局部变量。

2014-08-19 12:48:04 943

转载 const总结

转载自http://blog.csdn.net/welcome_ck/article/details/227964 1、什么是const?   常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。(当然,我们可以偷梁换柱进行更新:)2、为什么引入const?  const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点

2014-08-19 12:29:46 469

转载 Linux 线程同步---条件变量

互斥锁:用来上锁。条件变量:用来等待,当条件变量用来自动阻塞一个线程,直到某特殊情况发生为止。通常条件变量和互斥锁同时使用。 函数介绍: 1.名称:pthread_cond_init目标: 条件变量初始化头文件:#include 函数原形:int pt

2014-07-29 23:13:30 573

转载 Linux的inode

http://www.cnblogs.com/itech/archive/2012/05/15/2502284.html一、inode是什么?理解inode,要从文件储存说起。文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连

2014-07-27 21:23:14 703

转载 linux中的epoll机制

在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。 相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明: #define

2014-07-15 22:41:19 1306 1

转载 C++ 虚函数表解析

http://blog.csdn.net/haoel/article/details/1948051/

2014-06-11 20:17:03 531

转载 二叉树的非递归遍历

二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序遍历的非递归算法都很容易实现,非递归后序遍历实现起来相对来说要难一点。一.前序遍历   前序

2014-05-26 21:08:37 584

原创 浅析Linux操作系统是如何工作的

实验五 SA12226267Linux操作系统工作的基础存储程序计算机存储程序计算机最早是由著名数学家冯·诺伊曼等人在1946年总结并明确提出来的,因此又被称为冯·诺伊曼计算机。存储程序和程序控制原理的要点是,程序输入到计算机中,存储在内存储器中(存储原理),在运行时,控制器按地址顺序取出存放在内存储器中的指令(按地址顺序访问指令),然后分析指令,执行指令的功能,遇到转移指令时,则转移

2013-06-27 16:36:16 1640

转载 用户态到内核态切换分析

本文转载自http://www.cnblogs.com/justcxtoworld/p/3155741.html本文将主要研究在X86体系下Linux系统中用户态到内核态切换条件,及切换过程中内核栈和任务状态段TSS在中断机制/任务切换中的作用及相关寄存器的变化。 一:用户态到内核态切换途径:        1:系统调用        2:中断

2013-06-27 14:53:21 1799

原创 进程切换过程分析

参考《深入理解Linux内核(第三版)》进程切换为了控制进程的执行,内核必须有能力挂起正在CPU上运行的进程,并恢复以前挂起的某个进程的执行。这种行为被称为进程切换,任务切换或上下文切换。下面几节描述在Linux中进行进程切换的主要内容。硬件上下文尽管每个进程可以拥有属于自己的地址空间,但所有进程必须共享CPU寄存器。因此要恢复一个进程的执行之前,内核必

2013-06-27 14:21:59 7315

转载 linux命令mkfs.ext3用法

本文转自:http://linux008.blog.51cto.com/2837805/541506linux命令mkfs.ext3可以把硬盘格式化成ext3文件系统    要使用一块新的硬盘,我们必须将它格式化建立合适的文件系统(linux:ext2,ext3等,windows:ntsf,fat32),并挂载到相应的目录下我们才可以使用。比如我们有一块

2013-06-20 20:08:22 1705

转载 Ubuntu 内核编译

实验环境:Ubuntu12.04LTS  内核版本  3.5.0   更新内核版本3.9.0   首先是准备条件:①、有一台装有ubuntu 12.04的机器②、先移步到http://www.kernel.org/下载linux稳定版内核(注:可以从科大镜像下载,速度快 http://mirrors.ustc.edu.cn/linux-kernel/   )③、拥有root

2013-06-20 15:31:14 1392

原创 栈的Java实现(顺序存储实现与链式存储实现)

首先,定义栈空的异常类型:class StackEmptyException extends RuntimeException{ public StackEmptyException(String err) { super(err); }}然后,定义Stack接口interface Stack{ public int getSize(); public bool

2013-06-19 00:22:22 1114

转载 Java 产生随机数的方法

在Java中我们可以使用java.util.Random类来产生一个随机数发生器。它有两种形式的构造函数,分别是Random()和Random(long seed)。Random()使用当前时间即System.currentTimeMillis()作为发生器的种子,Random(long seed)使用指定的seed作为发生器的种子。         随机数发生器(Random)对象产生以后,

2013-06-15 13:25:50 874

转载 eclipse智能提示

今天有点时间,研究了一下MyEclispse的智能感知的功能。刚开始使用它时总是感觉如此不爽→智能感知功能太弱!与Visual Studio2008简直不是一个档次的!不过后来经过查看网上的资料发现它也并非如此的弱,就在上周我自己玩弄它时就发现可以通过如下设置来修改它的智 能感知的提示时间:Windows→Preferences→Java→Editor→Content Assist我们看到

2013-06-12 20:26:26 1212

原创 Linux wc命令(统计文件行数)

wc(word count)功能:统计指定文件中的字节数、字数、行数,并将结果显示输出。利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。语  法:wc [-clw][--help][--version][文件...]参  数:  -c或--bytes或--chars     只显示B

2013-06-02 13:49:03 1618

转载 Ubuntu为 Eclipse 添加快速启动项

安装好Eclipse后,启动不是很方便,需要切换到终端状态下执行eclipse命令才能启动。 Ubuntu 12.04使用了Unity界面,在桌面左侧侧多了一个启动器栏。我们可以将自己常用的软件在启动器栏放一个图标,实现快速地启动。启动器栏的每一个图标实际上都对应了/usr/share/applications目录下的一个文件。 为了给eclipse创建启动

2013-05-31 15:29:02 1283

转载 Ubuntu 12.04 下安装Eclipse

Ubuntu 12.04 下安装Eclipse Indigo 3.7.2安装Eclipse之前请先按照《Ubuntu下安装JDK1.7》的步骤安装好JDK。 Ubuntu版本:12.04 LTSEclipse版本:Eclipse Indigo (3.7.2) for Java EE Developers安装目录:/usr/local/development/ecli

2013-05-31 15:25:52 1192

转载 Ubuntu下安装JDK1.7

http://www.cnblogs.com/eastson/archive/2012/06/06/2538964.htmlUbuntu下安装JDK1.7Ubuntu操作系统下如何手动安装JDK1.7呢?本文是我经历的全过程。Ubuntu版本:12.04 LTSJDK版本:1.7.0_04安装目录:/usr/local/development/jdk1.7.

2013-05-31 15:23:10 693

原创 实验二:进程的创建与可执行程序的加载

SA12226267  在linux中,有三种方式可以启动新进程:system系统调用,fork()以及exec函数簇。下面分别看看这三种方式:1.system调用Linux中system的源码如下:int system(const char * cmdstring){ pid_t pid; int status; if(cmdstring == NULL) re

2013-05-30 22:12:06 1314

kcachegrind程序性能分析工具

程序性能分析工具,可以结合valgrind等工具分析程序性能以及内存泄露等

2018-09-17

计算机网络第五版(谢希仁)

计算机网络基础经典教材,作者谢希仁,考研必备。

2013-06-11

MbrFix.exe

用来修复Windows系统的MBR引导项工具,安装双系统时方便实用。 一种情况:在win7下,当输入命令:MbrFix /drive 0 fixmbr /yes 然后按回车键,如果出现“Function failed.Error 5.拒绝访问”,此时,找到MbrFix.exe,右击“属性”,出现属性对话框,切换到“兼容性”选项卡,将“以管理员身份运行此程序”勾起来。然后重新输入MbrFix /drive 0 fixmbr /yes按回车键。

2013-02-27

Set-UID原理及漏洞攻击实验详细过程及实验报告

信息安全课程的一个实验,剖析了setuid程序的原理、漏洞攻击以及预防,详细展示了如何通过setuid程序漏洞获得root权限,资源中包括实验描述,实验的详细过程、截图及说明。

2012-12-13

VC++编程助手

个人已经试过,VC6.0以及VS2008完美支持

2012-12-13

空空如也

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

TA关注的人

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