自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 问答 (1)
  • 收藏
  • 关注

原创 sublime text2 C++编译环境配置

总体描述:sublime text是一个编辑器,要想在这个编辑器里实现代码编译与运行需要配置编译器。 本文选择的编译器是VS2013,目前,有很多同志喜欢使用g++,其实配置原理都是差不多的。编译环境配置:新建构建环境(构建完成后,需要将Build System设置所需的构建环境,本文构建环境为vs) 在本文框中输入以下 {"cmd": ["cl", "${file}"],"variants

2016-04-05 10:29:50 483

原创 Django入门学习 (一)

今天开始,我计划学习基于Python的Web架构,以及学习如何将应用部署在云端。1.首先是环境部署    1.1 操作系统环境: Ubuntu14.04    1.2 Django: 1.9        在www.djangoproject.com点击打开链接 下载     1.3 Python: 2.7(ubuntu自带)     1.4 云平台

2015-12-18 22:05:46 444

转载 B-树和B+树的应用:数据搜索和数据库索引

B-树 1.B-树定义B-树是一种平衡的多路查找树,它在文件系统中很有用。定义:一棵m 阶的B-树,或者为空树,或为满足下列特性的m 叉树:⑴树中每个结点至多有m 棵子树;⑵若根结点不是叶子结点,则至少有两棵子树;⑶除根结点之外的所有非终端结点至少有[m/2] 棵子树;⑷所有的非终端结点中包含以下信息数据:      (n,A0,K1,A

2015-07-23 10:18:34 502

转载 结构体字节对齐

结构体字节对齐      在用sizeof运算符求算某结构体所占空间时,并不是简单地将结构体中所有元素各自占的空间相加,这里涉及到内存字节对齐的问题。从理论上讲,对于任何 变量的访问都可以从任何地址开始访问,但是事实上不是如此,实际上访问特定类型的变量只能在特定的地址访问,这就需要各个变量在空间上按一定的规则排列, 而不是简单地顺序排列,这就是内存对齐。      内存对齐的原因:

2015-07-12 20:58:23 473

原创 Debian7/ubuntu 配置cocos2d-x-3.5 以及遇到的问题及其解决方案

For  Debian71.从官网下载cocos2d-x-3.5,解压后按照README.md,依次setup.py和download所需库2.然后编译test下的cpp-test工程 ,遇到问题有如下:1)FindGLEW.cmake意思是说没有FindGLEW.cmake,我也不知道为何没有……  解决方案如下:在cmake/Modules下新建文件FindGL

2015-04-25 17:49:37 976

原创 Path Sum

1. 问题描述Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given sum. For example:Given the below binary tree and sum = 22, 5 /

2015-01-25 20:25:51 765

原创 ZigZag Conversion

The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)P A H NA P L S I I

2015-01-20 10:02:10 622

原创 《编程之美》中国象棋将帅问题

问题描述中国象棋里面双方的“将”和“帅”各自呆在自己的九宫格里,一步只能横移或纵移一格,而且双方不能见面(既不能处在同一条纵线上)。在残局时有的人会用这一规则走出绝妙杀招。假设一方的“将”为A,另一方的“帅”为B,现在求双方所能出现的所有合法位置,所需变量只能用一个字节来保存。我的解法#include int main(void){ unsigned char chPos

2014-11-30 11:31:35 849

转载 确保对象的唯一性——单例模式

前言:这是一篇我见过的讲单例模式最完整的,也是讲的最好的一篇博客文章。3. 1 单例模式的动机      对于一个软件系统的某些类而言,我们无须创建多个实例。举个大家都熟知的例子——Windows任务管理器,如图3-1所示,我们可以做一个这样的尝试,在Windows的“任务栏”的右键弹出菜单上多次点击“启动任务管理器”,看能否打开多个任务管理器窗口?如果你的桌面出现多个

2014-11-26 17:31:45 529

转载 什么是Docker?

尽管之前久闻Docker的大名了,但是天资愚钝,对其到底是个啥东西一直摸不清,最近花了一段时间整理了一下,算是整理出一点头绪来。官网的介绍是这样的:Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications....其实看完这句话还

2014-11-18 17:07:12 500

原创 STL 小结

看C++ STL一个月了,小结下这个阶段的学习所得;     容器是以class template完成;内存管理师由memory pool完成;算法是由function template完成;仿函数(函数对象)是一种将operation ( )重载了的class template;迭代器是泛型指针,也是种智能指针,将operator++、operator * 等指针习惯行为重载的class t

2014-11-16 15:49:50 809 2

原创 STL Sort Algorithm

这个星期看了侯捷先生《STL 源码剖析》算法部分,基本看完了,其中算法比较多,我就重点下Sort在SGI STL中的实现。1. sort函数的实现是这样的:template inline void sort(RandomIAccessIterator first , RandomAccessIterator last>{ if ( first != last) {

2014-11-08 17:49:53 914

原创 STL RB Tree(红黑树)分析

红黑树的概念和条件,以及SGI STL中对RB Tree迭代器和数据结构以及一些重要函数的实现进行简要的说明。

2014-10-31 22:44:05 2198

原创 STL 容器List

List节点结构:template struct __list_node { typedef void * void_pointer; void_pointer prev; void_pointer next; T data;};prev指向

2014-10-25 11:45:24 562

原创 STL 型别技术

C++ g,STL 型别技术用于迭代器和算法之间,

2014-10-21 20:59:23 624

原创 STL 学习笔记 __default_alloc_template

最近开始看侯捷先生的《STL源码剖析》,自己下载了SGI STL源码,然后自己

2014-10-17 08:59:28 1023

原创 opnet 路由表

1)  ip_dispatch数据结构IpT_Rte_Module_Datstruct IpT_Rte_Module_Data { … IpT_Cmn_Rte_Table* ip_route_table; IpT_Rte_Table* ip_static_rte_table; InetT_Address default_route_addr_array[2]

2014-10-10 21:47:17 1928

原创 opnet信道模拟

I Links are modelled by a set of pipeline stagesI Pipeline stage: C-based computations to model linkbehaviourI Transmitter object sends packets to pipelineI Packet processed in each stageI R

2014-10-09 11:17:05 810

原创 opnet 在 win8.1 配置

win8.1+vs2010+opnet14.5win8.1 + vs2013 + opnet14.5

2014-06-07 17:05:34 1601

原创 Buffer Overflow

Buffer Overflow 会引起一些安全问题,一些attacker会利用这些漏洞对系统进行攻击。主要方式是将Return address修改;现在有三种方法来尽量避免因为Buffer Overflow而导致的安全问题;1. Stack Randomization;    The idea of stack randomizatin is to make the p

2014-03-28 17:49:27 730

原创 Linux 内核剖析

Linux 的简短历史 尽管 Linux 绝对是最流行的开源操作系统,但是相对于其他操作系统的漫长历史来说,Linux 的历史非常短暂。在计算机出现早期,程序员是使用硬件语言在裸硬件上进行开发的。缺少操作系统就意味着在某个时间只有一个应用程序(和一个用户)可以使用这些庞大而又昂贵的设备。早期的操作系统是在 20 世纪 50 年代开发的,用来提供简单的开发体验。包括为 IBM

2014-03-28 17:49:23 518

原创 Linux系统调用

目录: 1. Linux系统调用原理 2. 系统调用的实现 3. Linux系统调用分类及列表 4.系统调用、用户编程接口(API)、系统命令和内核函数的关系 5. Linux系统调用实例 6. Linux自定义系统调用 1.系统调用原理系统调用,顾名思义,说的是操作系统提供给用户程序调用的一组“特殊”接口

2014-03-28 17:49:21 761

原创 Linux 系统调用

Linux 2.6内核标准教程  第7章 系统调用使用 Linux 系统调用的内核命令深入理解Linux的系统调用 Linux系统调用接口、系统调用例程和内核服务例程之间的关系向linux内核中添加三个系统调用(Ubuntu9.10)++++++++++++++++++++++++++++++++++使用 Linux 系统调用的内核命令 作者:

2014-03-28 17:49:18 800

原创 linux进程调度浅析

操作系统要实现多进程,进程调度必不可少。有人说,进程调度是操作系统中最为重要的一个部分。我觉得这种说法说得太绝对了一点,就像很多人动辄就说"某某函数比某某函数效率高XX倍"一样,脱离了实际环境,这些结论是比较片面的。 而进程调度究竟有多重要呢? 首先,我们需要明确一点:进程调度是对TASK_RUNNING状态的进程进行调度(参见《linux进程状态浅析》)。如果进程不可执行(正在睡眠或

2014-03-28 17:49:16 558

原创 Linux 调度器发展简述

引言 进程调度是操作系统的核心功能。调度器只是是调度过程中的一部分,进程调度是非常复杂的过程,需要多个系统协同工作完成。本文所关注的仅为调度器,它的主要工作是在所有 RUNNING 进程中选择最合适的一个。作为一个通用操作系统,Linux 调度器将进程分为三类: 交互式进程 此类进程有大量的人机交互,因此进程不断地处于睡眠状态

2014-03-28 17:49:14 504

原创 Linux内核编译与安装

Linux内核编译与安装 Linux内核介绍 Linux内核是一个用C语言写成的,符合POSIX标准的类Unix操作系统。内核是操作系统中最基本的一部分,提供了众多应用程序访问计算机硬件的机制。Linux内核的一大特点就是采用了整体式结构,有很多过程组成,每个过程都可以独立编译,其模块机制又湿得内核保持独立而又易于扩充。Linux发行版实在Linux内核的基础之上,

2014-03-28 17:49:12 534

原创 内核编译

编译步骤1、make menuconfig     对内核进行配置,选择需要的功能。2、make    编译3、make modules_install    安装模块4、make install     安装内核 5、ok ,完成 ,重启进入新内核 管理员在2009年8月13日编辑了该文章文章。

2014-03-28 17:49:10 498

原创 APUE 学习(四) 守护进程

写守护进程(daemon)的编程规则一、umask(0)二、fork一个子进程,然后将父进程exit这样子进程就成为孤儿进程,父进程成为init进程。三、setsid;调用setsid函数,设置会话首进程。四、将当前工作目录改为根目录五、关闭不再需要的文件描述符未完待续。。。。 管理员在20

2014-03-28 17:49:08 531

原创 APUE 学习(二) 信号

信号是 软件中断 , 对信号的处理有三种方式,忽略、捕捉、执行默认操作。信号的相关函数(1)#include void   (*signal ( int signo , void (*func) ( int )) (int) ;(2)#include int kill (pid_t pid , int signo);int raise(int sig

2014-03-28 17:49:06 468

原创 APUE 学习(一)

1、如果一个进程fork一个子进程,但不要等待子进程终止,也不希望子进程处于僵死状态,直到父进程终止,实现这一技巧是fork两次(子进程fork一次,然后exit)2、fork和vfork之间的区别vfork用于创建一个新进程,而该新进程的目的是exec一个新程序;vfork和fork一样都创建一个子进程,当时它不将父进程的地址空间完全复制到子进程中,因为子进程会立

2014-03-28 17:49:03 543

原创 vim 小技巧

vim使用的小技巧,不断更新

2014-03-28 17:49:01 541

原创 Linux内核源码分析方法

一、内核源码之我见Linux内核代码的庞大令不少人“望而生畏”,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次。如果想透析Linux,深入操作系统的本质,阅读内核源码是最有效的途径。我们都知道,想成为优秀的程序员,需要大量的实践和代码的编写。编程固然重要,但是往往只编程的人很容易把自己局限在自己的知识领域内。如果要扩展自己知识的广度,我们需要多接触其他人编写的代码,尤其是水平比我

2014-03-28 17:48:59 640

原创 Linux之PC与Linux虚拟机之间的文件传输

在开始阅读这篇文章前,你也可以参看我之前的一篇拙文《iOS之PC与MAC虚拟机之间的文件传输》。        一、VM Tools安装            选择vmware workstation的菜单VM-->install VMWare tools,执行如下命令:        #mkdir /mnt/cdrom        #mount -o ro /dev/cdr

2014-03-28 17:48:57 762

原创 Mutt邮件处理系统框图

前段时间向内核提交了几份文档翻译补丁,由于使用了gmail的web GUI,出现了一些问题:1、在复制到gmail时,出现了自动换行。(感谢Greg Kroah-Hartman大神的提醒和修复,对于他手动修复这个问题补丁表示感谢和愧疚)2、在发送补丁后,有的订阅者由于邮件客户端的不同可能会出现乱码,这是因为gmail的web GUI会将邮件的中文编码转换为base64。在出现了这些问题之后,我不得

2014-03-28 17:48:55 577

原创 一些C语言题目

丢手帕问题: //筛选法解决 #includestdio.h> #define n 10 #define m 3 void main() {     int a[n+1]={

2014-03-28 17:48:53 650

原创 linux下vi命令大全

进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi

2014-03-28 17:48:50 431

原创 ubuntu 下 用C语言连接mysql

1:先安装MySQL:sudo apt-get install mysql-server mysql-client2:再装开发包:sudo apt-get install libmysqlclient15-dev此时头文件会出现在/usr/include/mysql/里3:安装完以后,C代码里添加头文件#include 4:编译方法:方法1:gcc $(mysql_config --cflags)

2014-03-28 17:48:44 679

原创 socket通信

linux课上了网络编程,我小小的总结了下.socket通信是通信机制的一种,分两块实现,服务器端和客户端。1、服务器端使用的函数socket  bind  listen   accept1.1创建一个套接字#include#includeint socket(int domain,int type,int protocol);domain:AF_UNIX:主要用于本地AF_INET:主要用于网络

2014-03-28 17:48:41 545

原创 ubuntu乱码解决方案

管理员在2009年8月13日编辑了该文章文章。 --> --> 阅读(238) | 评论(0) | 转发(0) |

2014-03-28 17:48:39 455

原创 初始MySQL账户安全

MySQL安装过程包括设置含有授权表的MySQL数据库:·         Windows分发版包含预初始化的授权表,可以自动安装。·         在Unix中,用mysql_install_db程序来安装 授权表。可以通过一些安装方法来运行该程序。否则你需要手动执行。详细信息参见2.9.2节,“Unix下安装后的过程”。授权表定义了初始MySQL用户账户和访问权限。按照以下步骤对

2014-03-28 17:48:37 515

空空如也

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

TA关注的人

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