自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 收藏
  • 关注

转载 Android实战技巧:ViewStub的应用

在开发应用程序的时候,经常会遇到这样的情况,会在运行时动态根据条件来决定显示哪个View或某个布局。那么最通常的想法就是把可能用到的View都写在上面,先把它们的可见性都设为View.GONE,然后在代码中动态的更改它的可见性。这样的做法的优点是逻辑简单而且控制起来比较灵活。但是它的缺点就是,耗费资源。虽然把View的初始可见View.GONE但是在Inflate布局的时候View仍然会被Infl

2015-04-12 12:25:57 1283

转载 使用WDM驱动实现在NT下读取物理端口,特殊寄存器,物理内存的代码(C++驱动加载代码) .

驱动写好后,要在应用程序中调用驱动还需要自己写一个驱动加载器,以下代码能够实现在Windows中加载驱动到系统中,并能调用驱动的I/O例程。编译成功后,把驱动sys文件与此代码编译好的exe放同一个目录。 cpp源文件:[cpp] view plaincopyprint?#include "libmio.h"     using namespace st

2012-12-29 09:24:48 921

转载 unresolved external symbol __imp__SetupDiDestroyDeviceInfoList@4

http://support.microsoft.com/default.aspx?scid=kb;en-us;259695中HOWTO: Enumerate Hardware Devices by Using SetupDi Calls#include    #include    #include    #include    #include    int m

2012-12-27 18:12:01 3288 1

原创 usb驱动识别模块开发(一)

近来需要开发一个usb驱动识别模块,总体目的就是,手机插入、拔出PC,PC程序需要与之响应,适当处理。请尊重作者劳动,转载请注明出处: http://blog.csdn.net/zealot_2002/article/details/8443785首先找到的是WM_DEVICECHANGE消息,此消息在usb插入拔出PC时,vc均可以获取到,接下来想区分是插入还是拔出时,遇到了麻烦。。。

2012-12-27 15:19:39 1464

转载 U盘小偷

文/图 灰狐(D.S.T&&E.S.T) 以前经常看到有人做出一些蛮有意思的小工具,其中最多的似乎就是所谓的U盘小偷了——偷偷地把你U盘里的东西copy出来的东西。根据以前的《黑客防线》来看,就这一类的工具已经N多了,有脚本或批处理的、有VC的、有BCB的、有Delphi或VB的,五花八门。虽然每个实现的技术含量大不相同,但大多数都是采用最常规的做法实现的。注入进程的我见过不少,但很少

2012-12-20 17:46:56 1588

转载 获取指定USB设备的VID PID和SerialNumber

设备厂商ID 查询, google www.usb.org + vendor id list   所需头文件库文件: #include , Setupapi.libvoid CCameraInfoViewerDlg::CollectUSBInfo(){    // 获取当前系统所有使用的设备    DWORD dwFlag = (DIGCF_ALLCLASSES | DIGC

2012-12-20 17:31:02 6977

转载 C++ Boost库

简介  Boost库是为C++语言标准库提供扩展的一些C++程序库的总称。  Boost库由Boost社区组织开发、维护。其目的是为C++程序员提供免费、同行审查的、可移植的程序库。Boost库可以与C++标准库完美共同工作,并且为其提供扩展功能。Boost库使用Boost License来授权使用,根据该协议,商业的非商业的使用都是允许并鼓励的。   Boost社区建

2012-12-20 10:05:21 1385

转载 PlantUML —— 应用于 Eclipse 的简单快速的 UML 编辑软件

PlantUML —— 应用于 Eclipse 的简单快速的 UML 编辑软件简介: 在应用系统软件开发过程中,如果软件由很多对象组成,它的结构仅仅凭借分析很难理清,同时为了有利于软件的开发及重用,所以在开发系统之前建模是非常有必要的,在众多的建模方法中选择一种适应自身应用特点,方便不同背景的人们交流的建模方法已经成为开发人员及用户的迫切愿望。UML 是面向对象软件开发中的一种通用、统一的图形

2012-12-19 17:57:10 3847

转载 初学者USB入门总结

初涉USB,初学者USB入门总结arthur0561 发表于 2009-2-27 2:28:00推荐(1)枚举 一,概述现在很多的主控上都带有USB的功能,但是对于初学者来说,这方面应用还是比较棘手,因为usb的不但固件程序需要编写,PC端的驱动也要编写,而且驱动写好了还要写个上位机才能看出效果。这样调试起来十分困难,建议从USB的键盘,鼠标开始做,

2012-12-19 17:51:06 905

转载 如何高效的访问内存 (2012-07-11 00:16)

影响内存访问速度的因素主要有:1.内存带宽:每秒读写内存的数据量,由硬件配置决定。2.CACHE高速缓冲:CPU与内存之间的缓冲器,当命中率比较高时能大大提供内存平均访问速度。3.TLB转换旁视缓冲:系统虚拟地址向物理地址转换的高速查表机制,转换速度比普通转换机制要快。我们能够优化的只有第2点和第3点。由于CACHE的小容量与SMP的同步竞争,如何最大限

2012-12-19 11:50:14 883

转载 2012-06-07 22:14 C++编译器与链接器工作原理

第一节:基本原理[2]     这里并没不是讨论大学课程中所学的《编译原理》,只是写一些我自己对C++编译器及链接器的工作原理的理解和看法吧,以我的水平,还达不到讲解编译原理(这个很复杂,大学时几乎没学明白)。要明白的几个概念:    1、编译:编译器对源文件进行编译,就是把源文件中的文本形式存在的源代码翻译成机器语言形式的目标文件的过程,在这个过程中,编译器会进行一系列的

2012-12-15 00:25:52 562

转载 C/C++ 编译器的命名粉碎规则(name mangling)和C/C++混合(ZZ)(

http://hi.baidu.com在面向对象编程语言出现之前,如果你想要打印不同类型的数据,需要写多个方法 ,象是PrintInteger(int i),PrintString(string s) 和 PrintFloat(float f) 。也就是说, 你必须通过命名来区别行为和数据类型,因为 OOP语言出现前任一语言象是C,不允许你用相同的名字写方法,即使他们的参数类型不同。

2012-12-14 20:03:26 847

转载 C/C++编译器错误代码大全

编译器错误 C2001  错误消息                           常数中有换行符                          字符串常数不能继续到第二行,除非进行下列操作:                          •用反斜杠结束第一行。                         •用一个双引号结束第一行上的字符串,并在下一行用另一个双引号

2012-12-14 19:57:40 1980

转载 名字改编(name mangling)、调用约定与对策

以vc为例,1。c和c++之间:void foo(int x, int y); 该函数被C编译器编译后在库中的名字为_foo,而C++编译器则会产生像_foo_int_int之类的名字用来支持函数重载和类型安全连接.由于编译后的名字不同,C++程序不能直接调用C函数.C++提供了一个C连接交换指定符号extern"C"来解决这个问题.2。不同编译器之间:即使是按照c链接

2012-12-13 10:29:47 696

转载 解析VC++ Name Mangling 机制

摘要在C++中,Name Mangling 是为了支持重载而加入的一项技术,目前C++ Name Mangling 并没有统一的标准,也没有较完整的中文文档化资料,所以本篇文章在VS2005环境中,解析C++ Name Mangling 的技术细节,以及怎样将VC Name Mangling后的名称还原为可读的形式。 目录l        Name Mangling 简介

2012-12-13 10:08:23 2602 1

转载 解释性语言和编译性语言的区别

计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。编译性语言编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次

2012-12-12 11:13:13 539

转载 编译原理书籍推荐

大学课程为什么要开设编译原理呢?这门课程关注的是编译器方面的产生原理和技术问题,似乎和计算机的基础领域不沾边,可是编译原理却一直作为大学本科的必修课程,同时也成为了研究生入学考试的必考内容。编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂。我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专

2012-12-12 10:07:32 741

转载 android ftp4j 源码分析

android ftp4j 源码分析FTP理论FTP会话时包含了两个通道,一个叫控制通道,一个叫数据通道。重点这个两个通道就是下面源码分析里面为什么通道会这么多……控制通道:控制通道是和FTP服务器进行沟通的通道,连接FTP,发送FTP指令都是通过控制通道来完成的。 数据通道:数据通道是和FTP服务器进行文件传输或者列表的通道。FTP协议中,控制连接均有

2012-12-10 15:39:25 956

转载 使用 Socket 通信实现 FTP 客户端程序

使用 Socket 通信实现 FTP 客户端程序高 乐怡, 软件工程师, IBM高乐怡,目前是 IBM 中国系统与科技中心的软件工程师,从事测试工具的开发工作。顾锋磊,目前是 IBM 中国系统与科技中心的软件工程师,从事测试工具的开发工作。顾 锋磊, 软件工程师, IBM顾锋磊,目前是 IBM 中国系统与科技中心的软件工程师,从事测试工具的开发工作。简介: FT

2012-12-07 23:19:25 492

转载 Java中ArrayList类的用法

Java中ArrayList类的用法1、什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和IList接口 灵活的设置数组的大小2、如何使用ArrayList 最简单的例子: ArrayList List = new ArrayLi

2012-12-07 16:30:12 485

转载 android ftp4j 源码分析

FTP理论FTP会话时包含了两个通道,一个叫控制通道,一个叫数据通道。重点这个两个通道就是下面源码分析里面为什么通道会这么多……控制通道:控制通道是和FTP服务器进行沟通的通道,连接FTP,发送FTP指令都是通过控制通道来完成的。 数据通道:数据通道是和FTP服务器进行文件传输或者列表的通道。FTP协议中,控制连接均有客户端发起,而数据连接有两种工作方式:PORT方式和PA

2012-12-07 15:38:36 989

转载 序列化

Java序列化的机制和原理2009-08-28 10:18 longdick longdick的博客 我要评论(1) 字号:T |T本文讲解了Java序列化的机制和原理。从文中你可以了解如何序列化一个对象,什么时候需要序列化以及Java序列化的算法。AD: 有关Java对象的序列化和反序列化也算是Java基础的一部分,下面对Jav

2012-12-07 10:54:30 463

转载 FileZilla客户端实现分析

FileZilla客户端实现分析FileZilla Client AnalysisBy David.Zhu 2005/8/2Content List:Source File ClassificationMain Framework of FileZilla ClientNetwork Implementation AnalysisGet Nuggets from

2012-12-07 10:49:18 1195

转载 FTP学习

基础知识: FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。相比于HTTP,FTP协议要复杂得多。复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。

2012-12-07 10:44:05 498

转载 HTTP协议

WWW的核心——HTTP协议 众所周知,Internet的基本协议是TCP/IP协议,目前广泛采用的FTP、ArchieGopher等是建立在TCP/IP协议之上的应用层协议,不同的协议对应着不同的应用。WWW服务器使用的主要协议是HTTP协议,即超文体传输协议。由于HTTP协议支持的服务不限于WWW,还可以是其它服务,因而HTTP协议允许用户在统一的界面下,采用不同的协议访问不同

2012-12-06 23:01:28 465

转载 HTTP与FTP的区别

HTTP与FTP的区别HTTP:是一种为了将位于全球各个地方的Web服务器中的内容发送给不特定用户而制订的协议。FTP:是为了在特定主机之间“传输”文件而开发的协议。因此,必须通过用户ID和密码认证。#########################################################################1:用http协议上传

2012-12-06 22:58:57 952

转载 HTTP和FTP下载

2006-4-6 20:35:15 作者:佚名(75)  繁體中文 字号:T|T[导读]HTTP和FTP是两种网络传输协议的缩写,FTP是File Transportation Protocol(文件传输协议)的缩写,而HTTP则是Hyper Text Transportation Protocol(超文本传输协议)的缩写,它们是计算机之间交换数据的方式,也是两种最经典的文件下载方式。

2012-12-06 22:54:40 1043

转载 流媒体与视频监控开发相关博客文章系列收集

最近因工作需要转向流媒体开发这方面, 现收集一下相关bolg文章1. 旁观者 - 郑昀                  [J2ME]手机流媒体之实作[附源码][与RTSP/MMS协议无关]2. Bēniaǒ成长笔记 - 博客园    FMS系列    3.赤色火焰.Net学习手札         【原创】C#实现视频远程监控(下载)4.懒人居

2012-12-03 16:37:47 1001

转载 经典排序算法

经典排序算法     经典排序算法,以下文章参考了大量网上的资料,大部分都给出了出处这一系列重点在理解,所以例子什么的都是最简单的情况,难免失误之处,多指教大多数排序算法都给出了每一步的状态,以方便初学者更容易理解,通俗易懂,部分难以理解的排序算法则给出了大量的图示,也算是一个特色吧经典排序算法 - 快速排序Quick sort 经典排序算法 - 桶排序Bucket sort

2012-12-03 09:45:05 529

转载 10种排序算法总结

排序算法有很多,所以在特定情景中使用哪一种算法很重要。为了选择合适的算法,可以按照建议的顺序考虑以下标准: (1)执行时间 (2)存储空间 (3)编程工作    对于数据量较小的情形,(1)(2)差别不大,主要考虑(3);而对于数据量大的,(1)为首要。   主要排序法有: 一、冒泡(Bubble)排序——相邻交换 二、选择排序——每次最小/大排在相应的位置 三

2012-12-03 09:36:34 551

转载 URLConnection和HTTPClient的比较

A Comparison of java.net.URLConnection and HTTPClientSince java.net.URLConnection and HTTPClient have overlappingfunctionalities, the question arises of why would you use HTTPClient.Here are a few

2012-12-03 09:27:36 1310

转载 动态规划解决跳台阶问题

动态规划解决跳台阶问题分类: 算法/数据结构 C/C++2012-11-13 12:52 319人阅读 评论(0)收藏 举报目录(?)[+]问题描述问题分析程序代码总结问题描述某互联网公司的一道面试题,题目是一个人上台阶,台阶有n级,他可以一次上1级,可以一次上2级,也可以一次上3级,问上这个n级的台阶一共有多少种上法。

2012-12-02 16:46:31 2106

转载 腾讯面试

声明,腾讯笔试的时候曾填写过保密协议,题目是不准泄露的。但是今天面试的时候并没有填写保密协议什么的,想来也不会有什么侵权之类的。如果有,本文会无条件删除。腾讯大范围的校招实习生,不知道成都要招多少人但是参加笔试的人直恐怖,3000多个。另外还没有加上霸笔的同学,比如我朋友就霸笔了,不过还是过了笔试,进了一面了。(以后学了一招,简历被刷无所谓,可以霸笔只要有实力是有机会的)。笔试的题目觉得选择题

2012-11-30 18:00:38 552

转载 计算机科学中的数据结构

▪ 集合 ▪ 容器    ▪ 数组 ▪ 关联数组 ▪ Multimap ▪ 集 ▪ 多重集 ▪ 散列表 ▪ 树状数组   ▪ 列表 ▪ 链表 ▪ 队列 ▪ 堆栈 ▪ 循环队列

2012-11-30 17:45:53 610

转载 计算机科学中的树

计算机科学中的树二叉树▪ 二叉树 ▪ 二叉查找树 ▪ 笛卡尔树 ▪ Top tree ▪ T树     自平衡二叉查找树▪ AA树 ▪ AVL树 ▪ 红黑树

2012-11-30 17:41:34 1345

转载 二叉树的好处(应用)

二叉排序树是一种比较有用的折衷方案。    数组的搜索比较方便,可以直接用下标,但删除或者插入某些元素就比较麻烦。    链表与之相反,删除和插入元素很快,但查找很慢。    二叉排序树就既有链表的好处,也有数组的好处。    在处理大批量的动态的数据是比较有用。 文件系统和数据库系统一般都采用树(特别是B树)的数据结构数据,主要为排序和检索的效率。二叉树是一种最基本最典型

2012-11-30 17:13:03 28405 1

转载 singleton

单态定义:Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。Singleton模式就为我们提供了这样实现的可能。使用Singleton的好处还在于可以节省内存,因为它限制了实例的个数,有利于Java垃圾回收(garbage collection)。使用Singleton注意事项:有时在某些情况下,使用Singleton并不能达到Sing

2012-11-30 16:54:31 530

转载 Collection:List、SetMap:HashMap、HashTable

Collection:List、SetMap:HashMap、HashTable如何在它们之间选择一、Array , ArraysJava所有“存储及随机访问一连串对象”的做法,array是最有效率的一种。1、效率高,但容量固定且无法动态改变。array还有一个缺点是,无法判断其中实际存有多少元素,length只是告诉我们array的容量。2、Java中有一个Array

2012-11-30 10:30:23 538

转载 最常见的程序员面试题(12)观察者模式和weak_ptr

观察者模式是非常常用的,写出松耦合框架代码的设计模式。常见的问题是:(1) 如何实现一些列的观察者? A: 用一个EventManager来注册和反注册。(2) 对于被观察者,如何做到通知观察者一个对象已经没有了? 第一种方法是在被观察者对象的析构函数中调用Unregister。这样可以工作,但是问题是需要修改"被观察者"的析构函数代码,破坏了"观察者"这个语义的封装性,使得被观察者和设计

2012-11-30 09:54:22 1504

转载 最常见的程序员面试题(11)排序二叉树的序列化和反序列化

这是一个相当考察数据结构基础知识的题目。二叉树序列化本身很简单,中序遍历递归一遍就可以存储了。但是问题是要能反序列化成功,就必须把树形结构本身的信息保存下来。因为保存程序不能事先知道序列化以后左边和右边的树分别有多大,所以必须采用先序遍历,(1) 先保存当前子树的树根,节点的信息不再是指针,而是偏移量。如果没有左子树,则左偏移量为0。(2) 如果有左子树,则递归序列化保存左子树,保存的过程

2012-11-30 09:54:00 771

空空如也

空空如也

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

TA关注的人

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