- 博客(120)
- 收藏
- 关注
转载 八大排序算法
八大排序算法分类: 数据结构与算法 c/c++2012-07-23 16:45 164888人阅读 评论(56) 收藏 举报算法mergepivot存储exchange目录(?)[+]概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存
2015-08-21 19:11:26
678
1
转载 函数的指针如何说明、赋值、调用
第一个例子说明指向函数的指针如何说明、赋值、调用。 #include #define TESTDATE 100 int func(int a) /* func用于打印一个整数 */ { return printf("%d\n",a); } main() { int (*FunctionPionter)(int a);
2015-08-21 16:23:03
1232
转载 Android 讲sqlite数据库打包同apk一同发布
其实很简单,就是把我们的数据库文件放到我们的手机里,所以不必局限在哪个地方写这个代码,在第一次创建数据库的时候可以,我觉得在软件起动页里效果更好一点,首先我们应该把事先写好的数据库文件比如 test.db放到res文件夹里的raw文件夹里,也可以放到assets里,因为这两个文件夹不会在生成APK的时候不会被压缩。 1,DataBaseUtil用于将raw中的db文件copy到手机中,代码如下
2015-08-14 09:14:31
1017
转载 String,StringBuffer,StringBuilder区别总结
篇一:最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,StringBuilder的东西,现在整理一下。关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下 1.三者在执行速度方面的比较:StringBuilder > StringBuff
2015-08-14 09:02:32
469
转载 Java输入输出流-总结
1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。 Java.io是大多数面向数据流的输入/输出类的主要软件包。
2015-08-09 14:30:25
678
转载 linux中断--中断下半部机制的使用&中断编程
linux中断--中断下半部机制的使用&中断编程2014-04-15 0 个评论 来源:linux中断--中断下半部机制的使用 & 中断编程 收藏 我要投稿中断程序一般会包含在某个设备的驱动程序中,因此,中断处理程序本质上还是一个内核模块。在上篇文章中也看到了一个简单的中断处理流程和内核模板的写法非常相似。但是那个中断是最简单的中断,没有用到
2015-08-06 17:21:30
486
转载 Android NDK开发(1)----- Java与C互相调用实例详解
一、概述 对于大部分应用开发者来说可能都不怎么接触到NDK,但如果涉及到硬件操作的话就不得不使用NDK了。使用NDK还有另一个原因,就是C/C++的效率比较高,因此我们可以把一些耗时的操作放在NDK中实现。 关于java与c/c++的互相调用,网上有一大堆的文章介绍。但仔细观察可以发现,基本都是讲在java中调用一个本地方法,然后由该本地方法直接返回一个参数给java(
2015-08-05 15:03:46
367
转载 TCP/IP四层模型和OSI七层模型的概念
TCP/IP四层模型TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。TCP/IP协议簇分为四层,IP位于协议簇的第二层(对应OSI的第三层),TCP位于协议簇的第三层(对应OSI的第四层)。 TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为: 应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、
2015-08-04 11:54:47
412
转载 C++学习笔记
C++学习笔记 2011-08-28 15:40:16分类: C/C++以前学C++时记的比较,因最近开发用C++较多,把笔记翻出来复习了一下,跟大家分享一下。类的声明及定义1. class、struct、union保留字都可以用来声明和定义类。class中成员默认为private类型,struct、union与C语言兼容,成员默认为public类型。2.
2015-08-04 11:32:29
344
转载 C++学习笔记
1.struct成员默认访问方式是public,而 class默认访问方式是private!2.exit函数终止程序执行会调用析构函数 ,abort函数终止程序不会调用析构函数!3.静态局部变量直到程序终止时才退出!4.通过public 函数返回 private成员的引用有可能会破坏类的封装 ,造成外部变量可以改变类私有成员值!5.常量对象只能调用常量成员函数,常量
2015-08-04 11:21:10
274
转载 new创建对象和直接定义的区别
1.c++中1. 声明只是表示一个对象的引用,比如我们的语句:MyClasee myclass;这里是一个空引用,而通过new关键字可以实例化一个MyClasee的实例,所以语句:myclass = new MyClass();2.栈,放的是局部变量,他的生存期就是他所处的语句块(也就是离他最近的一对{}),离开了他的生存期他就失效了,一
2015-08-04 11:10:46
6493
转载 andorid jni入门教程一之helloworld
andorid jni入门教程一之helloworld开发环境:windows2007, eclipse做anroid越深发现用到底层开发的时候越多,但是我以前也没有搞过,因此现在打算好好学习学习。先从最简单的做起。正所谓万事开头难啊。搞了近一天终于把在windows下,用eclipse开发Android JNI给倒腾通了。下面将详细讲解其操作步骤和我在
2015-08-04 10:50:19
496
转载 JNI_最简单的Java调用C/C++代码(自己整理)
JNI_最简单的Java调用C/C++代码JNI_最简单的Java调用C/C++代码JNI,是Java Native Interface的简称,中文是“Java本地调用”。通过这种技术可以做到以下两点:Java程序中的函数可以调用Native语言写的函数,Native一般指的是C/C++编写的函数。Native程序中的函数可以调用Java层的函数
2015-08-03 20:20:50
597
原创 基类指针+子类指针问题
class Parent{public: void geta() { cout<<"------------------ Parent geta-------------------"<<endl; } virtual void getb() { cout<<"------------------Parent virtual getb-------------------"
2015-08-03 14:51:16
1227
原创 public class 与class的区别
public class:是JAVA定义的,一般占到编程的角度来将就是包含main方法的,一个java文件中只有一个public class,而且public class的文件名要跟.java的文件名一致。class:在Java编程是描述对象的,也就是类。提示:Java编程就这么定义的,记住就行了,没什么特殊的含义。c++ 中没有这个说法
2015-08-03 14:19:13
1012
转载 请求转发和重定向的对比
请求转发和重定向的对比 一个比喻: 小张向小李发送一次请求,想让他完成某项工作,当小李接受到请求时,发现自己完成不了,又请求小王帮忙,小王接收到小李请求之后最终完成了该项工作,并把最后的结果交给了小张。这个过程就是请求转发,在此期间,小张只发送了一次请求,他只知道把任务交给了小李,至于小李是如何完成的,小张并不知道,他只等待最终的结果。 重定向则不同,首先小张向小李
2015-08-02 14:26:25
520
转载 JSP内置对象(9个常用的内置对象)
JSP内置对象(9个常用的内置对象)1.request对象客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。方法说明 objectgetAttribute(Stringname) 返回指定属性的属性值 EnumerationgetAttributeNames() 返回
2015-08-02 12:41:55
492
转载 C++ 虚函数表解析
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 关于虚函数的使用方法,我在这
2015-08-02 12:08:13
255
转载 JSP起源、JSP的运行原理、JSP的执行过程
JSP起源在很多动态网页中,绝大部分内容都是固定不变的,只有局部内容需要动态产生和改变。 如果使用Servlet程序来输出只有局部内容需要动态改变的网页,其中所有的静态内容也需要程序员用Java程序代码产生,整个Servlet程序的代码将非常臃肿,编写和维护都将非常困难。 对大量静态内容的美工设计和相关HTML语句的编写,并不是程序员所要做的工作,程序员对此也
2015-08-01 22:17:44
472
转载 malloc(0)
原来...malloc的内存分配之 malloc(0)的内存分配情况#includeusing namespace std;int main(){ char *p; if((p=(char *)malloc(0))==NULL) puts("got a null pointer");
2015-08-01 14:54:37
452
转载 C语言的那些秘密之---函数返回局部变量
C语言的那些秘密之---函数返回局部变量分类: 编程语言2011-08-17 13:06 14347人阅读 评论(16) 收藏 举报语言c编译器存储 一般的来说,函数是可以返回局部变量的。 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错。但是如果返回的是局部变量的地址(指针)的话,程序
2015-08-01 14:17:20
394
转载 浮点数存储原理
单精度和双精度浮点数数据类型 C、C++中使用到的单精度浮点数(float)类型和双精度浮点数(double)类型是在IEEE二进制浮点数算术标准(ANSI/IEEE Std 754-1985)中定义的。下面分别从存储格式、内存分布、编码规则、取值范围、有效数字位数和测试示例程序六个部分来详细说明。存储格式浮点数在计算机中存储时,按照二进制科学计数法拆分为三个部
2015-08-01 12:38:14
1846
转载 浮点数内存表示方法
浮点数7位有效数字。双精度数16位有效数字。浮点数取值范围:负数取值范围为 -3.4028235E+38 到 -1.401298E-45,正数取值范围为 1.401298E-45 到 3.4028235E+38。双精度数取值范围:负值取值范围-1.79769313486231570E+308 到 -4.94065645841246544E-324,正值取值范围为 4.94065645
2015-08-01 12:34:28
767
转载 CGI与Servlet的比较
转载自:http://www.maxhis.info/java/cgi-vs-servlet/概括来说,CGI和Servlet可以完成相同的功能。CGI(Common Gateway Interface)程序,主要用Perl、Shell Script或C编写,能够向客户端提供动态内容,即每次客户端浏览器访问某一页面时,可以看到不同的内容。CGI应用开发比较困难,因为它要求程序员有处
2015-07-31 14:31:29
326
转载 数据库设计(三范式,冗余字段,逆范式)
数据库设计(三范式,冗余字段,逆范式) 在设计数据库的时候,应该注意一下什么呢?首先来看一张表。学生成绩表 姓名 性别 java成绩 c成绩 班级 张三男9080一班李四女
2015-07-31 14:17:44
2587
1
转载 linux CGI编程
为什么要进行CGI编程? 在HTML中,当客户填写了表单,并按下了发送(submit)按钮后,表单的内容被发送到了服务器端,一般的,这时就需要有一个服务器端脚本来对表单的内容进行一些处理,或者是把它们保存起来,或者是按内容进行一些查询,或者是一些别的什么。没有了CGI,WEB的世界就完全失去了它的交互性,所有的信息都变成单向的了,而不能够有任何的反馈。 有的人认为可以用JavaScri
2015-07-30 20:44:10
515
转载 后缀表达式
后缀表达式 不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则,如:(2 + 1) * 3 , 即2 1 + 3 *运用后缀表达式进行计算的具体做法: 建立一个栈S 。从左到右读表达式,如果读到操作数就将它压入栈S中,
2015-07-30 18:28:49
973
转载 链表、头指针、头结点
图1为线性表(ZHAO, QIAN, SUN, LI, ZHOU, WU, ZHENG, WANG)的逻辑状态。头指针 指示链表中第一个结点(即第一个数据元素的存储映像)的存储位置。同时,由于最后一个数据元素没有直接后继,则线性链表中最后一个结点的指针为“空”(NULL)。
2015-07-29 21:24:25
369
转载 关于链表中头指针和头结点的理解
线性表使用顺序(数组)存储时有个弊端,那就是在插入和删除时需要大量的移动数据,这显示是非常消耗时间的,所以可以采用链式存储,即有一个指针域(单链表),来记录下个结点的存储位置(地址),这样在插入和删除结点时只需要修改指针域即可,从而大量减少移动数据所消耗的时间。来看链表的定义:struct node { int data; struct node *next;};其中有两个元素,d
2015-07-29 21:23:52
494
转载 恢复 rm -rf * 误删数据
摘要 1. xen server上磁盘分区、格式化、挂载; 2. NFS server搭建、挂载远程目录; 3. 使用extundelete恢复数据;数据恢复目录[-]一、 将磁盘分区挂载为只读二、 使用数据恢复工具 extundelete1. 下载2. 编译三、 挂载新硬盘1 在xen上挂载一块磁盘给B2 登录服务器B, 准备挂
2015-07-29 15:30:49
1667
转载 lseek及llseek介绍
lseek在manpage中的相关说明:名称 lseek - 重新定位读/写文件偏移量内容简介 #include #include off_t lseek(int fd, off_t offset, int whence);描述 使用lseek()函数根据whence及offset两
2015-07-28 21:19:18
3139
转载 struct inode 和 struct file
1、struct inode──字符设备驱动相关的重要结构介绍内核中用inode结构表示具体的文件,而用file结构表示打开的文件描述符。Linux2.6.27内核中,inode结构体具体定义如下:struct inode {struct hlist_node i_hash;struct list_head i_list;struct list_head i_
2015-07-28 19:43:46
348
转载 自动创建设备节点
使用linux-2.6.30.4。文件的管理使用的是 sysfs.(由udev制作的文件系统) 涉及两个函数:virtual_disk_class = class_create(THIS_MODULE, "VirtualDisk");device_create( virtual_disk_class, NULL, devno, 0, "VirtualDisk"); 使用
2015-07-28 16:41:16
468
转载 Linux struct file结构
struct file结构体定义在/linux/include/linux/fs.h(Linux 2.6.11内核)中,其原型是:struct file { /* * fu_list becomes invalid after file_free is called and queued via * fu_rcuhead for RCU
2015-07-28 16:14:57
784
转载 ontainer_of()宏
在学习Linux驱动的过程中,遇到一个宏叫做container_of。该宏定义在include/linux/kernel.h中,首先来贴出它的代码:/** * container_of - cast a member of a structure out to the containing structure * @ptr: the pointer to the
2015-07-28 14:55:25
344
转载 module_param 模块参数
模块参数引导模块时,可以向它传递参数。要使用模块参数加载模块,这样写:insmod module.ko [param1=value param2=value ...]为了使用这些参数的值,要在模块中声明变量来保存它们,并在所有函数之外的某个地方使用宏MODULE_PARM(variable, type) 和 MODULE_PARM_DESC(variable
2015-07-28 13:08:25
1120
转载 内核符号导出
1、创建实验目录#mkdir /home/guoqian/4-1-4#cd /home/guoqian/4-1-42、编写内核模块代码calculate.c hello.c Makefile这是calculate.c这是hello.c 这是Makefile3、首先来看不导出内核符号的情况 3、1屏蔽calculate.c /*EXP
2015-07-28 12:51:57
1001
转载 Linux内核驱动之自动创建设备文件
设备文件是非常重要的文件,是应用程序与设备驱动交换数据,控制硬件的桥梁。在驱动程序中open、release的实现过程中其中的一个参数struct inode实质就是设备文件的索引,没有这个索引也就没有后期的各种操作,通常设备文件也被称为设备文件节点。因此没有设备文件后期的各种实现都是多余的。 设备文件的创建有两种方法,其中就是在创建文件系统过程中用到的mknod命令。该命令的形式如下:
2015-07-26 21:18:27
2092
转载 【Linux C 多线程编程】互斥锁与条件变量
一、互斥锁互斥量从本质上说就是一把锁, 提供对共享资源的保护访问。 1. 初始化: 在Linux下, 线程的互斥量数据类型是pthread_mutex_t. 在使用前, 要对它进行初始化: 对于静态分配的互斥量, 可以把它设置为PTHREAD_MUTEX_INITIALIZER, 或者调用pthread_mutex_init. 对于动态分配的互斥量, 在申请内存(mal
2015-07-26 12:32:05
347
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人