自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

用文章记录成长

自由,分享,开源

  • 博客(48)
  • 资源 (19)
  • 收藏
  • 关注

转载 计算指令长度(汇编)

指令长度与寻址方式有关系,规律或原则如下:一、没有操作数的指令,指令长度为1字节。如es:ds:cbwxlat等。二、操作数只涉及寄存器的指令,指令长度为2字节。如mov al,[si]mov ax,[bx+si]mov ds,ax等。三、操作数涉及内存地址的指令,指令长度为3字节。如mov al,[bx+1]mov ax,[bx

2012-05-27 15:36:26 1806

原创 Debug中标志寄存器的查看

IP寄存器之后的顺序依次为:溢出标志OF(Over flow flag)         OV(1)  NV(0)方向标志DF(Direction flag)         DN(1)  UP(0)中断标志IF(Interrupt flag)         EI(1)  DI(0)符号标志SF(Sign flag)              NG(1)  PL(0)零标

2012-05-25 22:16:28 2326

转载 学习汇编的重要意义!!

几日前,在一位仁兄的blog里看到如下一番话:其实我发现中国的教育还是有很大问题的,你们得让你们的学生认识到这门课的作用啊,有些师兄说到出去工作了才发现汇编的作用。   我觉得值得庆幸的是这位仁兄在在校期间的学习中及时地意识到了汇编的重要性,并做出了正确的选择。然而这位仁兄提到的“老师没有让学生认识到汇编的重要性”和“有些师兄工作了才发现汇编的重要性”这些在计算机专业教育中存在的客观事实,再次

2012-05-25 16:43:56 1170

原创 Windows汇编带颜色显示Hello World

;将codesm段与cs寄存器关联, 将data段与ds寄存器关联assume cs:codesg, ds:data;data段定义的开始data segment ;定义一个word类型的变量hello,注意,必须要以'$'结束 ;这是由DOS系统调用决定的。 ;在使用9号功能调用时,应当注意以下问题。

2012-05-25 16:39:42 1035

原创 汇编语言的Hello World

;将codesm段与cs寄存器关联, 将data段与ds寄存器关联assume cs:codesg, ds:data;data段定义的开始data segment ;定义一个word类型的变量hello,注意,必须要以'$'结束 ;这是由DOS系统调用决定的。 ;在使用9号功能调用时,应当注意以下问题。

2012-05-25 16:14:41 1603

原创 汇编常用的DOS功能调用

汇编常用的DOS功能调用:常用的DOS功能调用:1.键盘输入并显示(1号功能调用)格式:        INT 21H功能:按下任何键,将其对应字符的ASCII码送入AL中,并在屏幕上显示该字符。如果按下的是Ctrl+Break组合键,则终止程序执行。1号功能调用无须入口参数,出口参数在AL中2.键盘输入但不显示格式: MOV AH, 08H

2012-05-25 16:03:19 13565

原创 整数大数减法

#include #include #include char * BigNumberSubtration(const char *a, const char *b);int main(void){ int isSwap = 0; char *a = "998879879465498765794657984987465413215679879465498461324

2012-05-19 16:51:44 709

原创 整数大数加法

#include #include #include char * BigNumberAdd(const char *a, const char *b);int main(void){ const char * a = "9879797978979798797"; const char * b = "97979797987979797979797979797987"; char

2012-05-19 10:36:00 722

原创 大数相乘——自己仿写版

#include #include #include char * BigNumberMulti(const char * a, const char *b);int main(void){ const char * a = "999999999999999999999999999999999999999999999999999999999999999999999999999999

2012-05-18 22:22:11 1017

转载 大数相乘

#include #include using namespace std; void multiply(const char *a,const char *b); int main() { //cout<<"hicjiajia"<<endl; string num1,num2; // 初始状态用string来存储大数

2012-05-18 17:33:38 559

原创 求两个数相乘结果的位数

printf("位数为:%d\n", (int)ceil( ((log(a)+log(b)) / (log(10)) )));

2012-05-18 16:35:38 1862

原创 静态NAT配置

指定NAT内部网络接口 Router (config)# interface ethernet 0 Router (config-if)# ip address 192.168.1.254 255.255.255.0 Router (config-if)#ip nat inside 指定NAT外部网络接口 Router (config)# interface ethernet 1 R

2012-05-18 09:54:01 1629

原创 查看CPU的大小端模式

大小端:CPU对内存单元数据的排列顺序的方式.    采用小端(Little-endian)模式的CPU对操作数的存放方式是从低字节到高字节(从右到左即从低到高);这是X86平台采用的模式;    采用大端(Big-endian)模式对操作数的存放方式是从高字节到低字节;在网络上传送的数据采用的方式;例如:16bits宽的数:0x1234在Little-endian模式的CPU中内

2012-05-17 20:12:25 2642

原创 Debian下用C连接MySQL

1.首先安装mysql-server , mysql-client:sudo apt-get install libmysqlclient16 mysql-server mysql-client libmysqlclient-dev2.示例代码:/**********************************************

2012-05-17 19:52:21 1319

原创 Windows下C语言连接MySQL

1.把安装好的MySQL目录里的libmySQL.dll复制到C:\Windows\system32\下(我的是win7,还要添加到:C:\Windows\SysWOW64目录中);2.把MySQL的头文件添加到环境中:3.把libmysql.lib添加到VS 2010的项目中。4.示例代码:/************************************

2012-05-17 13:59:26 7302 5

原创 C语言中的可变参数

1.包含头文件 :,它声明了一种类型,并定义了(C89)几个宏:va_start, va_arg和va_end。C99中还增加了一个类似函数的宏va_copy。2.要想获取可变参数。必须声明va_list类型的变量来接收可变参数。    va_list ap;    然后将这个“指针”指针到开头。即第一个可变参数:va_start(ap, n);这里的n为可变参数列表中的第一个参数的名

2012-05-14 15:00:24 906

原创 <setjmp.h>非局部跳转(来自C语言程序设计--现代方法第二版)

int setjmp(jmp_buf env);void longjmp(jmp_buf env, int val);   可以使得一个函数直接跳转到另一个函数,而不需要返回。   setjmp宏“标记”程序中的一个位置;随后可以使用longjmp跳转到该位置。   注意:setjmp会在第一次调用时返回0;随后,longjmp将控制权重新转给最初的setjmp宏调用,而setjmp

2012-05-14 10:52:04 2188

原创 C标准中qsort()函数

原型:void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)); 其中,base必须指向数组中的第一个元素。(如果只是对数组中的一段区域进行排序,那么要使base指向这段区域的第一个元素。)在一般情况下,base就是数组的名字。nmemb是要排序元素的

2012-05-13 10:51:43 666

原创 一个复杂一点的单向链表

/*********************************************************************************** * * 作者:杨志永 ** 日期:2012-05-13

2012-05-12 17:52:41 812

原创 内存分配函数

1.为了动态地分配内存空间,可调用三种内存分配函数中的一种.这些函数都是声明在头文件中:   1) malloc函数--分配内存块,但是不对内存块进行初始化   2) calloc函数--分配内存块,并且对内存块进行初始化            3) realloc函数--调整先前分配的内存大小.  这三种函数中,malloc函数是最常用的一种.因为malloc函数不需要对分配的内

2012-05-12 09:30:05 797

原创 Linux信号中断处理

1.kill产生一个信号:  extern int kill (__pid_t __pid, int __sig);  pid>0:将信号发送给进程的pid为pid的进程;  pid=0:将信号发送给和当前进程在同一个进程组的所有进程;  pid=-1:将信号发送给系统内的所有进程;  pid  成功返回0;失败返回值-1.2.raise自举一个信号:  e

2012-05-12 08:18:36 789

原创 编译软件源代码提示-lcrypto 无法链接

1.cd /usr/lib2. sudo ln  -sf libcrypto.so.0.9.6 libcrypto.so.0

2012-05-12 08:18:07 985

原创 Linux和Windows下刷新缓冲区

1. 使用 fflush(stdin); 或 rewind(stdin); 均可起到清空键盘缓冲区的作用,这两个函数均包含在stdio.h这个头文件中。但它们只适用于Windows系统。2.最具移植性的做法,使用以下函数:  void setbuf(FILE *restrict stream, char *restrict buf);  setbuf(stdin, NULL);

2012-05-12 08:17:30 957

原创 Linux下线程操作

1.创建线程:pthread_t 实质上是unsigned long int 类型。  extern int pthread_create(pthread_t *__restrict __newthread,             __const pthread_attr_t *__restrict __attr,             __void *(*__start_rout

2012-05-12 08:16:46 603

原创 Linux下的进程间通信PIPE

1.创建无名管道:  extern int pipe (int __piepedes[2]) __THROW _wur;  pipedes[0]:用来完成读操作  pipedes[1]:用来完成写操作  失败则返回回-1。2.读无名管道:ssize_t 即为unsigned int 类型。  extern ssize_t read (int __fd, void *

2012-05-12 08:16:15 841

原创 Linux下进程管理与控制

1.创建进程:  extern __pid_t fork(void);  成功则在父进程中返回子进程的PID;在子进程中则返回0,以区别父子进程。  失败则在父进程中返回-1;  说明:子进程从创建后和父进程「同时」执行;竞争系统资源,子进程的执行位置为fork的返回位置。  extern __pid_t vfork(void);  成功则在父进程中返回子进程的PI

2012-05-12 08:15:40 772

原创 Linux下获取进程信息

1.获取当前进程号:(pid_t 实质是int类型)  extern __pid_t getpid(void);  成功则返回当前进程号;失败则返回-1;2.获取父进程号:  extern __pid_t getppid(void);  成功则返回当前进程的父进程号;失败则返回-1;3.获取进程组号:  extern __pid_t getpgid(__

2012-05-12 08:15:05 1301

原创 Linux C获取下载和上传的网速V3

/** 作者:杨志永* 日期:2012-04-17 10:10 * Email:ljy520zhiyong@163.com* QQ:929168233* * 文件名: watch_network_speed.c* 编译环境:Debian 6.0.4 Testing, GCC 4.6.3 X86_64* * 功能:获取Linux系统下的下载和上传的网速**/#include

2012-05-12 08:11:32 1599

原创 Linux C下获取下载和上传的网速V2

/** 作者:杨志永* 日期:2012-04-17 10:10 * Email:ljy520zhiyong@163.com* QQ:929168233* * 文件名: watch_network_speed.c* 编译环境:Debian 6.0.4 Testing, GCC 4.6.3 X86_64* * 功能:获取Linux系统下的下载和上传的网速**/#include

2012-05-11 22:52:56 1831 2

原创 用Linux C语言获取当前网速

/******************************************************* 作者:杨志永* 日期:2012-4-16 4:35PM* E-mail:ljy520zhiyong@163.com* QQ:929168233** filename: watch_net_speed.c* 编译环境:Debian 6.0.4 Testing + GCC

2012-05-11 22:52:05 6023

原创 POSIX标准下文件IO管理

1、打开文件:  extern int open (__const char * __file, int __oflag, ...);  成功则返回该文件的描述符;否则返回-1.  flags:        O_RDONLY:以只读方式打开文件  O_WRONLY:以写方式打开文件  O_RDWR:以可读可写方式打开文件  O_CREATE:若打开的文件不存在,则自动

2012-05-11 22:51:11 1215

原创 文件描述符

对于内核:    Linux在内核源文件/usr/src/kernel/`uname -r`/include/linux/fs.h中定义了struct file结构是用来保存打开文件基本信息的。 对于用户空间来说:    任何打开的文件都将被分配一个唯一非负整数,用于标识该打开文件,该值即为文件描述符,它是一个大于等于0的整数。在任何进程运行时默认都已经打开了三个流对象和它们的文件描述

2012-05-11 22:50:36 741

原创 printf()和sprintf()的返回值

二者的返回值为输出的信息的字符个数。包括特殊字符,如控制字符,空格。#include #include int main(void){  int i = printf("I Love You\n");  printf("i is %d\n", i);  exit(EXIT_SUCCESS);}输出结果为:i is 11

2012-05-11 22:50:05 1522

原创 从文件写入和读取结构体示例代码

/****************************************************** author :杨志永* date :2012-04-15* E-mail:ljy520zhiyong@163.com* QQ :929168233** filename:structs_io.c** Sytem:Debian 6.0.4* GCC:4.6

2012-05-11 22:48:55 1307

原创 ANSI C 中的 printf

1.long :    %ld2.long unsigned int :    %lu3.double :   %lf4.float :    %f5.char :    %c6. int :    %d7.指针:    %p8.八进制:    %o9.十进制,八进制,十

2012-05-11 22:47:23 674

原创 ANSI C文件操作函数

1.打开文件:    extern FILE *fopen(__const char *__restrict __filename, __const *__restrict __modes);    如果执行成功,将返回打开文件的文件指针;如果执行失败,将返回NULL。2.关闭文件:    extern int fclose(FILE *__stream);    如果

2012-05-11 22:46:39 980

转载 GRUB RESCUE下 修复Linux引导

前段时间修复移动硬盘分区表的时候,把本本的分区也重新弄了下,导致ubuntu的grub找不到linux分区(由于root分区uuid改变造成的不能正常启动),切换到Linux系统时,提示错误“unknown filesystem”,进入grub rescue模式。在Google上搜了一下,终于解决了,方法如下:1. 首先使用set命令,查看当前配置信息;2. 然后再使用ls命令,遍历一

2012-05-11 22:45:55 7572

原创 Linux下进程与环境变量

1.在shell下可以通过命令env或set查看当前系统的环境变量信息。2.获取环境变量的值:    extern char * getenv(__const char *__name)    如果执行成功,此函数返回指定环境变量的值,否则返回NULL。3.添加环境变量:    extern int putenv (char *__string);    如

2012-05-11 22:45:10 1896

原创 main函数参数

1.main函数原型:    int main(int argc, char * argv[], char * envp[]);2. argc:是命令行参数的数目(这个值包含命令本身,如果后面没有参数,则argc=1)    argv:是一个指针数组,其各成员依次指向各参数,即argv[0]指向命令本身。指针数据的最后一个成员为NULL,以区别结束。    envp:存放是

2012-05-11 22:42:36 740

原创 realloc()函数

1.它用来在堆中更改已经配置好的内存空间。其函数声明如下:    extern void * realloc(void *__ptr, size_t  __size);    第一个参数为试图更改大小的原堆空间的位置,size为新的内存大小。2.减小内存:    realloc()仅仅更改索引信息,但并不代表被减少的部分还可以访问,减少部分的内存将交给操作系统管理。

2012-05-11 22:41:57 762

SpringMVC模板 

SpringMVC模板, SpringMVC与Velocity,Freemarker

2012-10-17

UltralEdit下的win32语法高亮文件

UltralEdit下的win32语法高亮文件.

2012-10-06

Nginx与Tomcat

Tomcat与Nginx整合的示例代码。

2012-08-30

Servlet API

Servlet API,生命周期,JSP, 技术

2012-08-10

Java并发编程

这是一本很难得的Java并发编程书,所以就与大家分享了。呵呵 。

2012-08-03

Android期末实训

这是本人android期末实训的成果。呵呵。

2012-07-22

学生管理系统C语言

自己写的源源代码,还有很多未完善的地方,不过,想要的话可以当作参考。呵呵。或可以和我讨论一下。呵呵。

2012-05-15

安装grub到U盘的文件

这是安装grub到u盘所需要的文件,请自行下载,,,,有问题可以再交流交流

2011-12-31

JavaWeb实训项目

这是我大二第一学期实训的项目,和另外两个队友一起做的...整体功能还能跑,还有很多需要完善的地方....

2011-12-30

Hibernate一对一主键映射

这是一对一双向主键共享方式的映射例子,可以参考一下。

2011-11-23

动态切换Struts2国际化例子

这是动态切换struts国际化的一个例子,有兴趣的可以参考一下。如果有更好的方法,欢迎告知一下。呵呵。我还是学生,所以很多东西还需要不断学习。

2011-11-07

Hibernater 的HelloWorld

自己做的Hibernate的示例,也参考了网上的一些教程。呵呵,有问题的,可以交流一下。

2011-10-31

Ajax读取xml数据类型例子

这是用ajax读取xml数据类型的例子,其中只能在chrome与firefox运行,在ie下不能正常运行。

2011-10-16

Postgresql 教程

这是个人在网上下载的postgresql的教程,个人觉得非常之经典,如果想学习postgresql的,这本书绝对是经典。(还有官方的文档,这当然是最好的)

2011-10-03

c++中文函数手册

这是从网上下载的c++函数手册,而且是中文。本人英文不行,所以与大家共享。

2011-09-28

Servlet源码

这是本人在网上下载到的servlet源码包,可以在eclipse中导入看到servlet的源码.

2011-09-17

俄罗斯方块,包括文档与演示

这个才是最终版的。由于本人对Java的开发还不是很熟练,所以在写代码方块,对面向对象的编程思想还未能很好地掌握,不过,这当是学习的一个阶段性的记念吧。本人热爱开源与自由的思想,所以就不设置资源分了。

2011-09-06

俄罗斯方块源码与文档的写作

这是我个人大一实训的小项目。软件源码未能很好地利用Java面向对象的编程思想,不过,也当是人生的一个里程碑了。呵呵。本人热爱开源与自由的思想。所以,就不设置资源分了。

2011-09-06

空空如也

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

TA关注的人

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