自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 在ipxe源码基础上,重新封装读写本地磁盘接口

以下代码经过测试通过。想隐藏本地磁盘和读写转移,可以查看上两篇博客。/** * bios int 13 * * @author sun (9/22/2015) * * @param ix86 all register for int 13 * * @return __asmcall void */static __asmcall void int13_bios

2015-09-30 14:38:46 1583 4

原创 修改ipxe源码,实现隐藏本地磁盘和读写转移功能(二)

4.代码实现流程图:4.1隐藏本地磁盘通过设置寄存器ah值,达到返回错误,隐藏本地磁盘目的;注意,这里需要设置对应标志寄存器,目的是让函数退出后,不再调用bios-int13。/** * hide local disk by int 13. * * @author sun (9/17/2015) * * @param int13 Emulated

2015-09-30 14:27:55 1951 3

原创 修改ipxe源码,实现隐藏本地磁盘和读写转移功能(一)

研究得出初步结论,ipxe将服务器端磁盘映射为0x80驱动,而本地从0x81开始,依次往后排。Ipxe通过替换int13等中断,实现自己封装的读写接口,但依然保留原接口,当读写服务端磁盘的时候,调用替换后的接口;当读写本地磁盘(包括本地光驱、usb设备等)的时候,调用原读写接口。 通过重新封装原int13接口,实现本地磁盘的隐藏;通过重新封装ipxe-int13实现读写的转移。

2015-09-30 14:23:02 2900

原创 iscsitarget+ipxe无盘启动详解

服务器:1. 启动dhcp  1.1 设置静态ip      # ifconfig eth0 192.168.0.1 netmask 255.255.255.0      也可以使用网上的配置 interface 脚本的方法配置静态ip.  1.2 启用dhcp      # dhcpd      此时可能会遇到 /var/run/dhcpd.pid 文件报错,

2015-08-17 11:09:24 16310 1

原创 VBA相关知识点

VBA小笔记,平时工作中的点滴积累

2017-08-18 16:14:41 622

原创 uc笔记12---竞争与同步,互斥量,信号量,死锁,条件变量,哲学家就餐问题

1.    竞争与同步    当多个线程同时访问其所共享的进程资源时,需要相互协调,以防止出现数据不一致、不完整的问题;这就叫线程同步。    范例:vie.c        #include         #include         #include         unsigned int g_cn = 0;        void* thread_pr

2015-09-30 17:07:16 1188

原创 uc笔记11---线程管理,线程函数:创建、等待、获取、比较、终止、取消, 线程属性

1.    基本概念    1)线程就是程序的执行路线,即进程内部的控制序列,或者说是进程的子任务。    2)线程,轻量级,不拥有自己独立的内存资源,共享进程的代码区、数据区、堆区(注意没有栈区)、    环境变量和命令行参数、文件描述符、信号处理函数、当前目录、用户 ID 和组 ID 等资源。    3)线程拥有自己独立的栈,因此也有自己独立的局部变量。    4)一个进程

2015-09-30 17:06:35 791

原创 uc笔记10---网络通信,套接字(Socket),基于 TCP 协议的客户机/服务器模型

1.    基本概念                            ISO/OSI 七层网络协议模型    ===================================================================    -+-------------+-----------------+-        |    应用层        |

2015-09-30 17:05:12 1486

原创 uc笔记09---进程通信,管道,进程间通信,共享内存,消息队列,信号量,IPC 命令

1.    基本概念    何为进程间通信:    进程间通信 (Interprocess Communication, IPC) 是指两个,    或多个进程之间进行数据交换的过程。    进程间通信分类:    1) 简单进程间通信:命令行参数(单向)、环境变量(单向)、信号(双向)、文件(双向)。    2) 传统进程间通信:管道 (fifo/pipe)。

2015-09-30 17:04:05 923

原创 uc笔记08---信号处理,signal,子进程的信号处理

1.    基本概念    1)中断    中止(注意不是终止)当前正在执行的程序,转而执行其它任务。    硬件中断:来自硬件设备的中断。    软件中断:来自其它程序的中断。    2)信号是一种软件中断    信号提供了一种以异步方式执行任务的机制。    3)常见信号        SIGHUP(1):连接断开信号        如果终端

2015-09-30 17:02:07 2663

原创 uc笔记07---进程管理,PID,#ps,getxxxid,fork,vfork,system

1.    进程与程序    1) 进程就是运行中的程序。一个运行着的程序,    可能有多个进程。进程在操作系统中执行特定的任务。    2) 程序是存储在磁盘上,包含可执行机器指令和数据的静态实体。    进程或者任务是处于活动状态的计算机程序。2.    进程的分类    1) 进程一般分为 交互进程、批处理进程 和 守护进程三类。    2) 守护进

2015-09-30 17:00:39 696

原创 uc笔记06---chmod/fchmod,chown/fchown/lchown

1.    chmod/fchmod 修改文件的权限    #include     int chmod (        const char* path, // 文件路径        mode_t      mode  // 文件权限    );    int fchmod (        int    fd,  // 文件路径        mod

2015-09-30 16:58:47 532

原创 uc笔记05---sync/fsync/fdatasync,fcntl,文件锁,stat/fstat/lstat

1.    sync/fsync/fdatasync    1)大多数磁盘 I/O 都通过缓冲进行,写入文件其实只是写入缓冲区,      直到缓冲区满,才将其排入写队列。    2)延迟写降低了写操作的次数,提高了写操作的效率,      但可能导致磁盘文件与缓冲区数据不同步。    3)sync/fsync/fdatasync 用于强制磁盘文件与缓冲区同步。

2015-09-30 16:58:07 726

原创 uc笔记04---文件系统,文件常用命令(软/硬链接),文件描述符

1.    系统调用              应用程序 ------------+                 |                   |               v                |              各种库                 |    (C/C++标准库、Shell命令和脚本、 |          X

2015-09-30 16:56:01 779

原创 uc笔记03---环境变量,内存管理,进程映像/堆栈区别,虚拟内存,malloc 特点

1.    环境变量    #env        // 查看环境变量        环境表    1) 每个程序都会接收到一张环境表,       是一个以 NULL 指针结尾的字符指针数组。    2) 全局变量 environ 保存环境表的起始地址。                +---+     environ -> | * --> HOME=/roo

2015-09-30 16:54:44 574

原创 uc笔记02---错误处理,练习:实现求和求平均值等功能,errno

1.    通过返回值表示错误    1)返回合法值表示成功,返回非法值表示失败        #include         #include         long fsize (const char* path) {            FILE* fp = fopen (path, "r");    // 失败返回 0            if (! fp)

2015-09-30 16:53:23 473

原创 uc笔记01---Unix,Linux,程序构建过程,gcc,头文件,预处理,环境变量配置

1.    Unix 操作系统    1)简介        美国 AT&T 公司贝尔实验室,        1971 年,        肯.汤普逊、丹尼斯.里奇。        多用户、多任务、支持多种处理器架构。        高安全性、高可靠性,高稳定性。        既可构建大型关键业务系统的商业服务器应用,        也可构建面向移动终端、

2015-09-30 16:51:28 692

原创 c++笔记08---I/O 流,格式化 I/O,非格式化 I/O,随机 I/O,二进制 I/O

1.    输入输出 I/O 流            C: fopen/fclose/fread/fwrite/fprintf/fscanf/fseek/ftell/fput/fget...    C++: 对基本的 I/O 操作做了类的封装,其功能没有任何差别,用法也相似;    2.    格式化 I/O 流:>        #include         #in

2015-09-30 16:48:17 681

原创 c++笔记07---纯虚函数和抽象类/纯抽象类,虚函数表和动态/后期绑定

1.    纯虚函数和抽象类/纯抽象类    形如:        virtual 返回类型 成员函数名(行参表) = 0;    的虚函数被称为纯虚函数;这里等于零只是一个标记,没有任何意义,跟赋值/初始化等都没关系;    一个包含纯虚函数的类称为抽象类;抽象类不能实例化对象;    如果一个类继承自抽象类,但是并没有为其抽象基类中的全部纯虚函数提供覆盖,那么该子类也是

2015-09-30 16:47:32 731

原创 c++笔记06---继承,公有继承,继承方式对访控属性的影响,私有继承和保护继承

1.    继承    class 子类名 : 继承方式1 基类1,继承方式2 基类2,. . . { }    继承方式:        public            公有继承(最常用方式)                “是”关系        private        私有继承(默认缺省方式)                “拥有”关系        prote

2015-09-30 16:46:03 576

原创 c++笔记05---双目运算符,单目操作符,下标操作符,函数操作符,解引用

1.    双目复合运算符 1    += / -= / *=    左值,左操作数的引用;    左变右不变    (a += b) = c;    这里 a 得到 c 的值,b 没起作用;    下面这个例子实现上面这个效果:        Complex{        public:            Complex (int r = 0, in

2015-09-30 16:45:14 1696

原创 c++笔记04---构造拷贝函数,拷贝赋值运算符函数,静态成员变量

1.    构造拷贝函数:用一个已有的对象,构造和它同类型的副本;    class xxx { xxx (const xxx &that) {...} };        &that是引用,拷贝构造函数推荐使用引用,如果直接传递值,那么会导致无限递归;    如果一个类没有定义拷贝构造函数,系统会提供一个缺省拷贝构造函数;        缺省拷贝构造函数对于基本类型的成员变量

2015-09-30 16:44:01 1110

原创 c++笔记03---构造函数,初始化表,文件分类,钟表练习,析构函数,this 指针

1.    构造函数    class 类名 {类名(行参表){. . .}}    成员函数名和类名一样;    当一个对象被创建是,构造函数会自动调用被执行;    参数来自于构造实参;    构造函数也可以通过参数实现重载;    构造函数不能指定返回值,连 void 都没有;    class Student{    private:

2015-09-30 16:42:41 631

原创 c++笔记02---内联 inline,动态内存 new/delete,引用,对象,类

1.    内联 inline    c 里面的宏嵌入是源码嵌入,内联是二进制嵌入,二进制代替多次调用;    内联一般用于多次调用的小函数,用空间换时间;    注意:递归函数无法作内联,递归是自己调自己,所以无法自己嵌自己;    通过 inline 关键字,可以建议编译器对函数进行内联,但是仅仅是建议,编译器可以不执行;        inline void foo(in

2015-09-30 16:41:20 1121

原创 c++笔记01---c++ 简介,g++ 编译器,名字空间,结构,联合,枚举

1. C++ 相关书籍    初学:        《C++ Primer plus》    进阶:        《C++ Primer》        《Effective C++》        《More Effective C++》    深入:        《C++程序设计语言》作者:B jarena Stroustrup,机械版        《

2015-09-30 16:39:38 785

原创 c笔记12---数组指针,文件处理 FILE,可变长参数

1.    数组指针和指针数组:        int value[3] = {5};        int *p_value = value;            // 普通数组变量声明方法        int (*p_value1)[3] = &value;    // 数组指针声明方法    数组指针是对数组名称取地址,和指针数组不一样;    变量地址可以指这个变量

2015-09-30 16:37:10 939

原创 c笔记11---联合,枚举,堆 malloc,大/小端存储,二级指针,函数指针,qsort 排序,指针数组

1.    联合,通过联合可以使用不同的方式操作内存中同一段区域。    typedef union { 变量声明语句 } uni;    这里的每个变量具有排他性,计算机无法同时执行里面的变量。    typedef union    {        char c;        int i;        double j;    }    union 存

2015-09-30 16:36:22 678

原创 c笔记10---多文件操作,Makefile,结构体 struct 及结构体变量,重命名 typedef

1.    一个程序分装在两个 .c 文件里面(同一个文件夹),需要增加一个 .h 文件,然后两个 .c 文件都 include 那个 .h 头文件。    而且一个 .h 头文件只能链接一个 .c 文件。    头文件里面的东西在程序运行的时候,是不存在的,所以,函数声明可以放在头文件里,变量声明不可以。    编写头文件的时候,要使用条件编译,避免头文件被多次编译。    一个

2015-09-30 16:34:52 2403

原创 c笔记09---字符数组及字符串,预处理,宏,条件编译

1.    C语言中,使用第一个字符的地址,表示整个字符串。'\0' 是字符串的结尾字符,他的位置决定了一个字符串中有效字符变量的个数。    '\0' 在 ASCII 中对应数字 0 ;2.    字面值是程序中表示字符串的一种写法,用双引号表示,不可以被修改。    多个相同内容的字面值在程序运行时都是同一个地址。    多个连续的字符串在编译时会被合并成一个。    

2015-09-30 16:33:40 560

原创 c笔记08---变量,栈,秒表练习,关键字 static,指针变量和变量的指针

1.    变量分成三种:全局变量,局部变量和块变量    变量的作用域指的是“变量名“的作用域,而非变量;生命周期和作用域一致;    变量和变量名是不一样的;    全局变量在程序开始前就默认初始化为 0;static 静态变量在编译的时候,初始化为 0;    若是多个变量同名,调用最近的那个变量(就近原则);2.    栈是由一组变量组成,用数组表示,栈使用变量方式

2015-09-30 16:32:13 412

原创 c笔记07---递归,清空缓冲区,汉诺塔,随机数,重复数,exit(),return

1.    fflush(stdout);    这条语句可以把输出缓冲区里的内容立刻显示在屏幕上;2.    return; 结束当前函数    exit(); 结束整个程序,需要在程序开头处加入 #include 4.    使用数组作形参和实参是同一个数组,函数中修改了数组的内容,调用函数可以看到数组的变化。    若不用数组形参,而使用其他形参,很可能无法计算,

2015-09-30 16:31:02 403

原创 c笔记06---数组

1.    数组,输入一个不大于五位数的整数,每位数字,分别存储在数组里:    拆分为每位数字:value % 10; value /= 10;    为保证输入的是三位(或更小)数,导致数组输出时出现 0 ,所以给数组初始化为 -1。2.    arr 是数组名称,指的是首个数组地址;    arr, arr[0] 地址一样;    arr = 1; 错误,数组名称地址

2015-09-30 16:29:52 277

原创 c笔记05---逻辑表达式,break,continue 区别

1.    逻辑表达式:闰年表示方法    if(!(year % 400) || (!(year % 4) && (year % 100)))2.    内存本质上就像许多个大小一样的盒子的几何,每个盒子相当于一个字节,而一个字节就是八位二进制数。    sizeof 算出来的是内存中占用的字节个数,它是 c 语言的一个关键字,不是函数;3.    1 代表负数,0 代表

2015-09-30 16:28:35 441

原创 c笔记04---输出格式控制字符

1.    输出格式控制字符    %d(%i) 十进制带符号整数,正数不输出符号;     %ld 十进制长整型输出;    %c 输出单个字符,参数为字符 char;    %s 输出字符串,参数为 char 指针,显示字符串中所有字符,直到计算机找到 '\0' 停止;    %e 输出浮点数,以指数形式输出单、双精度实数,默认 6 位小数;    %f 输出浮点数,以

2015-09-30 16:27:29 710

原创 c笔记03---标志符定义

1.    代码开始输入格式:    #include     // 预处理指令    int main()            // 只能是 int 型    {        return 0;    }        预处理在编译阶段就进行处理了    #include      表示从系统默认的路径下查找这个头文件;    " " 表示从当前工

2015-09-30 16:26:13 327

原创 c笔记02---数据类型

1.    整型 int    signed short int 有符号短整型,简写:short/int,字长 2 字节(16 位),范围:-32768~32767(也有的计算机里面,int 是 4 位)    signed long int 有符号长整型,简写:long,字长 4 字节 ;    unsigned short int 无符号短整型,简写 unsigned int,2

2015-09-30 16:24:50 402

原创 c笔记01---扩展名简介,linux 常用命令,vi 设置

1.    gcc 扩展名简介:    .c        c语言    .cc        c++语言    .C        c++语言    .cpp    c++语言    .h        头文件    .i        预处理过的c语言    .ii        预处理过的c++语言    .o        编译后的目标文件,二进制  

2015-09-30 16:23:02 568

转载 linux c 九宫格

#include "stdio.h"//定义栈的最大长度#define MAXSTACKLENGTH 81//待求解的九宫格矩阵,空白位置用0表示int jiuGongArray[][9]={{0,0,0,0,4,0,0,3,2},                       {4,0,0,0,0,1,0,0,0},                       {5,3

2015-09-30 15:52:14 1060

转载 linux python3.4获取股票脚本

#!/usr/bin/env python # -*- coding:utf-8 -*- import urllib.request #debug=True debug=False class Utility: def ToGB(str): if(debug): print(str) return str.d

2015-09-30 15:50:41 811

转载 linux c获取股票脚本

#include #include #include #include #include #include #include #include #include #include #include #define BUFSIZE 0xF000 void geturl(char* url) { int cfd; st

2015-09-30 15:49:28 738

比较任意两个excel的内容,VBA编写

由于工作中经常要对比两个excel表格的数据情况,但是两个表格的数据量又特别大,于是就用VBA写了一个工具,可以自动比较两个表格中的数据情况,同时还能自动列出不同点及快速定位功能,收一个资源分当做辛苦费,大家不介意吧!

2017-08-21

OpenStack_api-ref_2016

OpenStack_api-ref_2016.pdf

2016-08-10

高新区第二届大型公益交友活动报名表

高新区第二届大型公益交友活动报名表

2016-08-09

cpplint和valgrind使用详解及通用脚本

本压缩包内包含了详细的cpplint和valgrind的使用说明,以及配置Eclipse批量格式化为Google风格代码时需要的脚本。 这两个脚本都经过了大型项目测试,绝对没问题。

2016-06-06

Struts+Spring+Hibernate软件包及工程代码集合

网上虽然有不少SSH三大框架的介绍,但是要么只介绍环境搭建,要么只给工程代码,很少既有代码,又有环境(包括下好的软件)配置。 我整理了一个工程代码,同时还将搭建时所用的所有软件也下载好了,另外还有两本电子书和配套源码,将近1G,所以放在了云盘里,资源是txt文档,里面有详细的云盘地址和密码。 收1个资源分辛苦费,大家不介意吧。

2016-02-19

source insight 多行注释

里面有说明文档,可以直接实现sourceinsight多行注释功能。

2013-11-27

空空如也

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

TA关注的人

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