API入门系列之四 -相当简单的SDK程序
- 格式:pdf
- 大小:81.55 KB
- 文档页数:4
上一讲鸡啄米讲的是VS2010应用程序工程中文件的组成结构,可能大家对工程的运行原理还是很模糊,理不出头绪,毕竟跟C++编程入门系列中的例程差别太大。
这一节鸡啄米就为大家分析下MFC应用程序框架的运行流程。
一.SDK应用程序与MFC应用程序运行过程的对比程序运行都要有入口函数,在之前的C++教程中都是main函数,而Windows应用程序的入口函数是WinMain函数,MFC程序也是从WinMain函数开始的。
下面鸡啄米就给出用Windows SDK写的“HelloWorld”程序,与应用程序框架进行对比,这样能更好的了解框架是怎样运行的。
Windows SDK开发程序就是不使用MFC类库,直接用Windows AP I函数进行软件开发。
鸡啄米不是要讲解SDK开发,只是为了对比而简单介绍,至于SDK 开发可以在大家学完MFC以后选择是否要研究,一般来说有简单了解就可以了。
SDK应用程序首先,给出Windows SDK应用程序“HelloWorld”的源码:上面的程序运行的流程是:进入WinMain函数->初始化WNDCLASSEX,调用Regist erClassEx函数注册窗口类->调用ShowWindow和UpdateWindow函数显示并更新窗口->进入消息循环。
关于消息循环再简单说下,Windows应用程序是消息驱动的,系统或用户让应用程序进行某项操作或完成某个任务时会发送消息,进入程序的消息队列,然后消息循环会将消息队列中的消息取出,交予相应的窗口过程处理,此程序的窗口过程函数就是my WndProc函数,窗口过程函数处理完消息就完成了某项操作或任务。
本例是要显示“HELL O WORLD”字符串,UpdateWindow函数会发送WM_PAINT消息,但是此消息不经过消息队列而是直接送到窗口过程处理,在窗口过程函数中最终绘制了“HELLO WORLD”字符串。
MFC应用程序下面是MFC应用程序的运行流程,通过MFC库中代码进行分析:首先在HelloWorld.cpp中定义全局对象theApp:CHelloWorldApp theApp;。
汇编语言入门教程对初学者而言,汇编的许多命令太复杂,往往学习很长时间也写不出一个漂漂亮亮的程序,以致妨碍了我们学习汇编的兴趣,不少人就此放弃。
所以我个人看法学汇编,不一定要写程序,写程序确实不是汇编的强项,大家不妨玩玩DEBUG,有时CRACK出一个小软件比完成一个程序更有成就感(就像学电脑先玩游戏一样)。
某些高深的指令事实上只对有经验的汇编程序员有用,对我们而言,太过高深了。
为了使学习汇编语言有个好的开始,你必须要先排除那些华丽复杂的命令,将注意力集中在最重要的几个指令上(CMP LOOP MOV JNZ……)。
但是想在啰里吧嗦的教科书中完成上述目标,谈何容易,所以本人整理了这篇超浓缩(用WINZIP、WINRAR…依次压迫,嘿嘿!)教程。
大言不惭的说,看通本文,你完全可以“不经意”间在前辈或是后生卖弄一下DEBUG,很有成就感的,试试看!那么――这个接下来呢?――Here we go!(阅读时看不懂不要紧,下文必有分解)因为汇编是通过CPU和内存跟硬件对话的,所以我们不得不先了解一下CPU和内存:(关于数的进制问题在此不提)CPU是可以执行电脑所有算术╱逻辑运算与基本I/O 控制功能的一块芯片。
一种汇编语言只能用于特定的CPU。
也就是说,不同的CPU其汇编语言的指令语法亦不相同。
个人电脑由1981年推出至今,其CPU发展过程为:8086→80286→80386→80486→PENTIUM →……,还有AMD、CYRIX等旁支。
后面兼容前面CPU的功能,只不过多了些指令(如多能奔腾的MMX指令集)、增大了寄存器(如386的32位EAX)、增多了寄存器(如486的FS)。
为确保汇编程序可以适用于各种机型,所以推荐使用8086汇编语言,其兼容性最佳。
本文所提均为8086汇编语言。
寄存器(Register)是CPU内部的元件,所以在寄存器之间的数据传送非常快。
用途:1.可将寄存器内的数据执行算术及逻辑运算。
OpenStack入门之基本组件写在前面OpenStack 核心的项目:Nova 、 Cinder、 Neutron、 Swift、 Keystone、 Glance、 Horizon1. Nova又被称为 OpenStack Compute,主要作用是控制虚拟机的创建,以及改变它的容量和配置,还可以做虚拟机的销毁,虚拟机的整个生命周期都是由 Nova 来控制的;Nova的部署运行一般有两种情况:一类是 Nova 作为 Controller 节点去运行,Controller 节点是用来控制其它的一些计算节点的;另外一类节点就是Compute 节点,是计算节点,上面是运行实际的虚拟机的;那么有什么区别呢?∙在 Compute 节点上部署的 Nova,它上面核心运行的一个东西叫作 Nova Compute,主要是为了去对虚拟机进行控制,它去和 Hypevisor 进行交互,对虚拟机进行控制;∙在 Controller 上运行的 Nova 就相对复杂一些,它有 Scheduler、Conductor、Nova Cell;∙Scheduler 在用户发起请求的时候决定这个虚拟机应该在哪个机器上启动,应该在哪个计算节点上启动;∙Conductor 是对所有的计算节点进行一个统一的管理;∙Nova Cell 的作用是级联控制虚拟机的生命周期控制节点:Scheduler(决定虚拟机的启动位置)、Conductor(对所有的计算节点进行统一管理)、Nova Cell(级联)计算节点:对虚拟机进行控制2. CinderCinder 组件主要的用途是提供块存储服务,最核心的两个部分是Scheduler 和Cinder Volume。
有读写存储服务请求的时候,Schduler决定通过哪个Cinder Volume进行读取操作,Cinder Volume是实际控制存储的设备3. Neutron有一个非常火的一个概念叫作SDN,软件定义网络,在OpenStack里边的一个实现,Neutron 有一个很大的特点就是提供Plugin模块,这个是用户可以自己去写的。
文件类型文件名称更新时间pdf浅谈ACEGI配制 .pdf2015/10/9 pdf AJAX In Action.pdf2015/10/9 pdf Ajax.pdf2015/10/9 txt AjaxHttpRequest.txt2015/10/9 pdf AJAXInAction.pdf2015/10/9 pdf Ajax经典案例开发大全.pdf2015/10/9 pdf AJAX开发简略(含续一).pdf2015/10/9 pdf AJAX开发简略.pdf2015/10/9 pdf AJAX开发简略1.pdf2015/10/9 pdf AJAX开发简略2.pdf2015/10/9 pdf AJAX开发简略3.pdf2015/10/9 pdf AJAX实战.pdf2015/10/9 pdf Ajax新手快车道.pdf2015/10/9 pdf jQuery1.2API.chm2015/10/9 pdf Pragmatic Ajax.pdf2015/10/9 pdf基于J2EE的Ajax宝典.pdf2015/10/9ppt 《谷歌Android UI设计技巧》第一部分:该做的和不该做的.ppt2015/10/9ppt 《谷歌Android UI设计技巧》第二部分:优秀UI设计准则.ppt2015/10/9ppt 《谷歌Android UI设计技巧》第三部分:框架特性.ppt2015/10/9ppt 《谷歌Android UI设计技巧》第四部分:新的UI设计模式.ppt2015/10/9ppt 《谷歌Android UI设计技巧》第五部分也就是最后一部分:图标与指导说明.ppt2015/10/9文件夹Android应用开发揭秘-书籍所需源码2015/10/9 ppt Android视频教程简介.ppt2015/10/9 ppt第一讲Android简介.ppt2015/10/9 ppt第二讲建立Android开发环境.ppt2015/10/9 ppt第三讲第一个Android应用.ppt2015/10/9 ppt第四讲Android程序基础.ppt2015/10/9 ppt第五讲Intent与Activity.ppt2015/10/9 ppt第六讲Activity生命周期.ppt2015/10/9 ppt第七讲使用Service.ppt2015/10/9 ppt第八讲Content Provider.ppt2015/10/9 pdf SQLite3日期时间函数.pdf2015/10/9 pdf SQLite3聚合函数.pdf2015/10/9 pdf SQLite3核心函数.pdf2015/10/9 pdf01大话企业级Android开发第一篇.pdf2015/10/9 pdf02大话企业级Android开发.pdf2015/10/9pdf 03大话企业级Android开发开发流程及项目管理.pdf2015/10/9pdf 04大话企业级Android开发_Android项目的目录结构、执行流程及其他基础分析.pdf2015/10/9pdf 05大话企业级Android开发_MVC讲解及简单短信和拨号器实现.pdf2015/10/9pdf 06大话企业级Android开发_日志输出、单元测试及调试.pdf2015/10/9pdf07大话企业级Android开发_UI(上)(1).pdf2015/10/9pdf09大话企业级Android开发_UI(下).pdf2015/10/9 pdf10大话企业级Android开发_组件(上).pdf2015/10/9 pdf11大话企业级Android开发_组件(下).pdf2015/10/9 pdf12大话企业级Android开发_文件.pdf2015/10/9 pdf13大话企业级Android开发_数据库.pdf2015/10/9mp4[『若水新闻』客户端开发教程].01.课程介绍.mp42015/10/9mp4[『若水新闻』客户端开发教程].02.主界面设计(1).mp42015/10/9mp4[『若水新闻』客户端开发教程].03.设计新闻分类UI(1).mp42015/10/9mp4[『若水新闻』客户端开发教程].04.设计新闻分类UI(2).mp42015/10/9mp4[『若水新闻』客户端开发教程].05.设计新闻列表UI.mp42015/10/9mp4[『若水新闻』客户端开发教程].06.设计新闻内容UI.mp42015/10/9mp4[『若水新闻』客户端开发教程].07.升级新闻内容UI.mp42015/10/9mp4[『若水新闻』客户端开发教程].08.设计新闻回复UI.mp42015/10/9mp4[『若水新闻』客户端开发教程].09.代码编写(1).mp42015/10/9mp4[『若水新闻』客户端开发教程].10.代码编写(2).mp42015/10/9mp4[『若水新闻』客户端开发教程].11.代码编码(3).mp42015/10/9mp4[『若水新闻』客户端开发教程].12.代码编码(4).mp42015/10/9mp4[『若水新闻』客户端开发教程].13.代码编写(5).mp42015/10/9mp4『若水新闻』客户端开发教程].14.代码编写(6).mp42015/10/9mp4[『若水新闻』客户端开发教程].15.代码编写(7).mp42015/10/9mp4[『若水新闻』客户端开发教程].20.程序打包发布.mp42015/10/9mp4[Android开发从零开始].1.Android开发环境搭建.mp42015/10/9mp4[Android开发从零开始].2.模拟器的使2015/10/9mp4[Android开发从零开始].3.第一个Android程序.mp42015/10/9mp4[Android开发从零开始].4.TextView控件学习.mp42015/10/9mp4[Android开发从零开始].5.EditText控件学习.mp42015/10/9mp4[Android开发从零开始].6.DDMS视图和Button.mp42015/10/9mp4[Android开发从零开始].7.Intent初级学习.mp42015/10/9mp4[Android开发从零开始].8.Activity生命周2015/10/9mp4[Android开发从零开始].9.Activity高级学习.mp42015/10/9mp4[Android开发从零开始].10.LinearLayout学习.mp42015/10/9mp4[Android开发从零开始].11.AbsoluteLayout和FrameLayout.mp42015/10/9mp4[Android开发从零开始].12.RelativeLayout.mp42015/10/9mp4[Android开发从零开始].12.RelativeLayout补充.mp42015/10/9mp4[Android开发从零开始]yout学习.mp42015/10/9mp4[Android开发从零开始].14.程序调试技术学习.mp42015/10/9mp4[Android开发从零开始].15.Service学习(1).mp42015/10/9mp4[Android开发从零开始].16.Service学习(2).mp42015/10/9mp4[Android开发从零开始].17.Service学习(3).mp42015/10/9mp4[Android开发从零开始].18.消息处理详2015/10/9mp4[Android开发从零开始].19.Status.Bar.Notifications.mp42015/10/9mp4[Android开发从零开始].20.广播事件处理(1).mp42015/10/9mp4[Android开发从零开始].21.广播事件处理(2).mp42015/10/9mp4[Android开发从零开始].22.数据存储2015/10/9 mp4[Android开发从零开始].23.数据存储2015/10/9 mp4[Android开发从零开始].24.数据存储2015/10/9 mp4[Android开发从零开始].25.数据存储2015/10/9 mp4[Android开发从零开始].26.数据存储2015/10/9mp4[Android开发从零开始].27.使用SAX解析XML.mp42015/10/9mp4[Android开发从零开始].28.使用DOM和pull解析XML.mp42015/10/9mp4[Android开发从零开始].29.Content.Providers(1).mp42015/10/9mp4[Android开发从零开始].30.Content.Providers(2).mp42015/10/9mp4[Android开发从零开始].31.模拟Http请求.mp42015/10/9mp4[Android开发从零开始].32.单选复选控件学习.mp42015/10/9mp4[Android开发从零开始].33.日期、时间控件学习.mp42015/10/9mp4[Android开发从零开始].34.ListView控件学习.mp42015/10/9mp4[Android开发从零开始].35.GridView控件学习.mp42015/10/9mp4[Android开发从零开始].36.TabWidget控件2015/10/9mp4[Android开发从零开始].37.Spinner和plete控件学习.mp42015/10/9mp4[Android开发从零开始].38.WebView控件学习.mp42015/10/9mp4[Android开发从零开始].39.Dialogs学2015/10/9mp4[Android开发从零开始].40.Status.Bar.Notificationscamproj.mp42015/10/9mp4[Android开发从零开始].41.App.Widgets(1).mp42015/10/9mp4[Android开发从零开始].42.App.Widgets(2).mp42015/10/9mp4[Android开发从零开始].43.Menu使用.mp42015/10/9mp4[Android开发视频教学].01_01_Android平台一日游.mp42015/10/9mp4[Android开发视频教学].01_02_搭建Android开发环境.mp42015/10/9mp4[Android开发视频教学].01_03_say_hello_to_Android.mp42015/10/9ppt 3.Android用户界面UI元素之Layout.ppt2015/10/9 ppt 6.Android用户界面UI元素之Widget(3).ppt2015/10/9pdf 51CTO下载-《Android开发提高十六技》--张国威(安卓巴士总结).pdf2015/10/9pdf2011QQAndroid中文实战教程.pdf2015/10/9pdf Android 2.2 r1 API 中文文档系列(16)—— AnalogClock.pdf2015/10/9pdf Android 2.2 r1 API 中文文档系列(17)—— TextSwitcher.pdf2015/10/9pdf Android 2.2 r1 API 中文文档系列(18)—— AbsSeekBar.pdf2015/10/9pdf Android 2.2 r1 API 中文文档系列(19)—— TwoLineListItem.pdf2015/10/9pdf Android framework详细分析.pdf2015/10/9pdf Android SDK 2.2 + Eclipse开发环境图文详解.pdf2015/10/9pdf Android 人机界面指南.pdf2015/10/9 pdf Android 学习笔记.pdf2015/10/9 pdf ANDROID_2.0游戏开发实战宝典.pdf2015/10/9 pdf Android_2.2_API_中文文档.pdf2015/10/9 doc Android_3.0_SDK中新增API详解.doc2015/10/9 doc android_Adapter体系.doc2015/10/9doc Android_Handler,Looper,Message深入分析.docx2015/10/9doc android_Handler整理总结.doc2015/10/9 doc android_ListView优化.doc2015/10/9 pdf android_UI布局设计.pdf2015/10/9 ppt Android_UI优化.ppt2015/10/9 doc Android_开发中怎么使用自定义字体.doc2015/10/9 doc android_条码识别软件开发全解析.docx2015/10/9 doc AndroidApp定位和规避内存泄露方法研2015/10/9 pdf android-database.pdf2015/10/9 txt android-jdbc代码实例.txt2015/10/9ppt Android-UI基本控件.ppt2015/10/9 pdf android编程指南.pdf2015/10/9 pdf Android从入门到精通 经典教程.pdf2015/10/9doc Android的线程使用来更新UI----Thread、Handler、Looper、TimerTask等.doc2015/10/9doc android的一些性能优化.docx2015/10/9 pdf Android多媒体开发高级编程.pdf2015/10/9 pdf Android多媒体应用开发示范.pdf2015/10/9 pdf Android高级编程.pdf2015/10/9pdf Android高手进阶教程(十六)之---Android中万能的BaseAdapter(Spinner,ListView,GridView)的使用! .2015/10/9pdf Android高手进阶教程.pdf2015/10/9 ppt Android高效编程指南.ppt2015/10/9 ppt Android公司培训.ppt2015/10/9 pdf Android核心分析.pdf2015/10/9 pdf Android核心技术与实例详解.pdf2015/10/9 rar android绘图双缓存技术.经典.rar2015/10/9 txt Android获得时间总结实用.txt2015/10/9 pdf Android技术内幕 第2章.pdf2015/10/9 pdf Android技术内幕 第3章.pdf2015/10/9 pdf android界面效果汇总.pdf2015/10/9 pdf android开发:listview详解.pdf2015/10/9 txt android开发笔记.txt2015/10/9 pdf Android开发技巧合集.pdf2015/10/9 pdf Android开发教程笔记完全版.pdf2015/10/9doc Android开发之ListView_适配器(Adapter)优化.doc2015/10/9pdf Android开发指南中文版.pdf2015/10/9 pdf Android控件及布局的使用大全.pdf2015/10/9 pdf Android框架与应用开发介绍.pdf2015/10/9 doc android内存优化.doc2015/10/9 pdf android入门.pdf2015/10/9 doc Android深入解析用户界面.doc2015/10/9 pdf Android深入浅出之Surface.pdf2015/10/9 doc Android树的实现---彭文忠.doc2015/10/9pdf Android系统原理及开发要点详解.韩超,梁泉.pdf2015/10/9txt android学习笔记之消息机制_异步和多线程.txt2015/10/9pdf Android应用开发揭秘.pdf2015/10/9 pdf Android应用开发揭秘高清版.pdf2015/10/9 doc Android应用开发者指南:性能优化.docx2015/10/9pdf Android应用框架原理与程序设计36技(高焕堂着、简体版).pdf2015/10/9pdf Android用户界面编程技巧-电子书.pdf2015/10/9 doc Android用户界面程序设计示例.doc2015/10/9 pdf Android中UI设计的一些技巧.pdf2015/10/9 doc Android中如何获取GPS数据.doc2015/10/9 chm Android中文翻译组.chm2015/10/9chm Android中文翻译组——Android开发者指南(2).chm2015/10/9chm Android中文翻译组——Android中文API合集(3).chm2015/10/9chm Android中文翻译组——Android中文API合集(4).chm2015/10/9chm Android中文翻译组——Android中文API合集(7).chm2015/10/9chm Android中文翻译组——Android中文合集(5).chm2015/10/9doc Android自定义适配器的编写.doc2015/10/9doc Baidu_map(百度地图)Android平台开发指南.doc2015/10/9pdf Google Android SDK开发范例大全(完整版).pdf2015/10/9pdf Google+Android开发入门与实战.pdf2015/10/9pdf Mini6410之Android编程开发指南-20101231.pdf2015/10/9pdf newdev.tool.pdf2015/10/9 pdf sqlite.pdf2015/10/9 zip SQLite函数手册.zip2015/10/9doc SQLite权威指南_v100_SQLite权威指南》中文不全版.doc2015/10/9txt Sqlite数据库讲义.txt2015/10/9 pdf ViewStub.pdf2015/10/9pdf 百度地图Android_for_PAD版本用户使用说明书.pdf2015/10/9wmv 第2章 工欲善其事 必先利其器——搭建Android开发环境.wmv2015/10/9wmv第3章 清点可用资本——AndroidSDK介2015/10/9wmv 第5章 千里之行始于足下——第一个应用HelloWorld.wmv2015/10/9wmv 第7章 良好的学习开端——Android基本组件介绍之Android应用的灵魂——Intent和Activity介绍与实例.wmv2015/10/9wmv 第7章 良好的学习开端——Android基本组件介绍之不积跬步无以至千里——常用widget组件介绍.wmv2015/10/9wmv 第7章 良好的学习开端——Android基本组件介绍之温馨的提醒——Toast和Notification应用.wmv2015/10/9wmv 第7章 良好的学习开端——Android基本组件介绍之我的美丽我做主——Android中应用界面布局.wmv2015/10/9wmv 第7章 良好的学习开端——Android基本组件介绍之用好列表,做好程序——列表(ListView)介绍与实例.wmv2015/10/9wmv 第7章 良好的学习开端——Android基本组件介绍之友好的菜单——menu介绍与实例.wmv2015/10/9wmv 第7章 良好的学习开端——Android基本组件介绍之友好地互动交流——对话框(Dialog)介绍与实例-1.wmv2015/10/9wmv 第7章 良好的学习开端——Android基本组件介绍之友好地互动交流——对话框(Dialog)介绍与实例-2.wmv2015/10/9wmv 第8章 移动信息仓库——Android的数据存储操作之Android数据存储概述.wmv2015/10/9wmv 第8章 移动信息仓库——Android的数据存储操作之轻轻地我保护——SharedPreferences存储-1.wmv2015/10/9wmv 第8章 移动信息仓库——Android的数据存储操作之轻轻地我保护——SharedPreferences存储-2.wmv2015/10/9wmv第8章_Android多线程.pptx2015/10/9wmv 第9章 我来“广播”你的“意图”——Intent和Broadcast面对面.wmv2015/10/9wmv 第12章 Android综合案例一——RSS阅读器实例.wmv2015/10/9wmv 第14章 Android综合案例三——基于Android的豆瓣网(Web2.0)移动客户端开发.wmv2015/10/9wmv 第15章 Android综合案例四——在线音乐播放器.wmv2015/10/9pdf第六章_Android进程间通信.pdf2015/10/9 ppt第六章Android基本组件介绍.ppt2015/10/9 doc详解二维码开发.doc2015/10/9pdf 新版Android开发笔记--可视化UI设计DroidDraw.pdf2015/10/9pdf移动开发者001期.pdf2015/10/9 txt优化手册.txt2015/10/9 doc在Android上使用ZXing识别条码.doc2015/10/9 chm Birt_zh_CN.CHM2015/10/9 zip birt-report-framework-2_0_0.zip2015/10/9 doc BIRT知识集锦(基础知识大全).docx2015/10/9 pdf商业智能报表工具BIRT.pdf2015/10/9 zip bsf-3.0-src.zip2015/10/9 pdf ScriptingBSF3.pdf2015/10/9文件夹C语言基础视频教程2015/10/9 pdf8051系列单片机C程序设计完全手册.pdf2015/10/9 pdf51系列单片机设计实例.pdf2015/10/9 pdf DSPstudy.pdf2015/10/9 pdf单片机C语言编程与实例.pdf2015/10/9 pdf单片机典型模块设计实例导航.pdf2015/10/9 pdf Farsight-LinuxApp01-LinuxBasic.pdf2015/10/9 pdf Farsight-LinuxApp02-LinuxCommand.pdf2015/10/9 pdf Farsight-LinuxApp03-C.pdf2015/10/9 pdf Farsight-LinuxApp04-EmbededSystem.pdf2015/10/9 pdf Farsight-LinuxApp05-Environment.pdf2015/10/9 pdf llxx6.pdf2015/10/9pdf 第八章LinuxApp08-InterprocessCommunication.pdf2015/10/9pdf第二章t-LinuxApp02-LinuxCommand.pdf2015/10/9 pdf第九章-LinuxApp09-Multithreading.pdf2015/10/9 pdf第六章 文件IO编程.pdf2015/10/9 pdf第七章LinuxApp07-ProcessControlling.pdf2015/10/9pdf第十一章 嵌入式Linux设备驱动开发.pdf2015/10/9 pdf第十章 嵌入式Linux网络编程.pdf2015/10/9 pdf第四章-LinuxApp04-EmbededSystem.pdf2015/10/9 pdf第五章-LinuxApp05-Environment.pdf2015/10/9 pdf第一章-LinuxBasic.pdf2015/10/9 pdf目录.pdf2015/10/9 pdf C++ 入门.PDF2015/10/9 pdf C++高级教程.pdf2015/10/9 pdf C++基础教程.chm2015/10/9 pdf C专家编程.pdf2015/10/9 chm Linux_C_函数.chm2015/10/9 pdf Symbian_OS_C++程序员编码诀窍.pdf2015/10/9 pdf SYMBIAN+OS+C++高效编程.pdf2015/10/9 pdf SymbianOS .pdf2015/10/9 pdf SymbianOS C++.pdf2015/10/9 pdf编译原理中文版.pdf2015/10/9 doc嵌入式SQL.doc2015/10/9 pdf数据结构与算法分析—C语言描述.pdf2015/10/9 pdf CACHE.pdf2015/10/9 doc Linux系统下安装Memcache的方法介绍.docx2015/10/9 pdf Shell 和命令操作基础.pdf2015/10/9 pdf基本网络操作命令.pdf2015/10/9 pdf文本处理命令.pdf2015/10/9 pdf文件概述.pdf2015/10/9 pdf文件与目录操作命令.pdf2015/10/9 pdf信息显示命令.pdf2015/10/9 pdf字符操作界面简介.pdf2015/10/9 pdf find.pdf2015/10/9 pdf sed 和 awk.pdf2015/10/10 pdf Shell 变量和 Shell 环境.pdf2015/10/10 pdf进程管理和作业控制.pdf2015/10/10 pdf提高工作效率.pdf2015/10/10 pdf文件编辑器 vi.pdf2015/10/10 pdf文件权限及设置命令.pdf2015/10/10 pdf正则表达式基础.pdf2015/10/10 pdf重定向和管道.pdf2015/10/10 pdf Shell 脚本简介.pdf2015/10/10 pdf Shell 脚本示例分析.pdf2015/10/10 pdf分支结构.pdf2015/10/10 pdf深入 Shell 变量操作.pdf2015/10/10 pdf使用特殊环境变量.pdf2015/10/10 pdf条件测试.pdf2015/10/10 pdf循环结构.pdf2015/10/10 pdf子程序结构.pdf2015/10/10 pdf路由表和静态路由.pdf2015/10/10 pdf配置基本网络参数.pdf2015/10/10 pdf网络测试方法和测试工具.pdf2015/10/10 pdf安装 Linux 之前的必备知识.pdf2015/10/10 pdf安装后的基本配置.pdf2015/10/10 pdf服务器方式安装 CentOS 5.pdf2015/10/10 pdf使用 RPM 管理包.pdf2015/10/10 pdf使用 yum 工具更新系统.pdf2015/10/10pdf使用 rsync 服务.pdf2015/10/10 pdf使用 rsync 同步.pdf2015/10/10 pdf使用 tar 备份.pdf2015/10/10 pdf LVM 简介.pdf2015/10/10 pdf创建 LVM 系统.pdf2015/10/10 pdf磁盘分区工具.pdf2015/10/10 pdf维护 LVM 系统.pdf2015/10/10 pdf硬盘相关概念.pdf2015/10/10 pdf Xinetd 和 TCP Wrapper.pdf2015/10/10 pdf安排周期性任务.pdf2015/10/10 pdf安全登录守护进程.pdf2015/10/10 pdf管理守护进程.pdf2015/10/10 pdf日志系统和系统日志.pdf2015/10/10 pdf时钟同步守护进程.pdf2015/10/10 pdf守护进程简介.pdf2015/10/10 pdf ext2-ext3 文件系统管理.pdf2015/10/10 pdf Linux 文件系统概述.pdf2015/10/10 pdf磁盘限额.pdf2015/10/10 pdf挂装和卸装文件系统.pdf2015/10/10 pdf lsof 工具.pdf2015/10/10 pdf psacct 工具.pdf2015/10/10 pdf sysstat 工具.pdf2015/10/10 pdf系统监视初步.pdf2015/10/10 pdf单用户模式和修复模式.pdf2015/10/10 pdf系统启动过程.pdf2015/10/10 pdf系统引导器.pdf2015/10/10 pdf口令管理和口令时效.pdf2015/10/10 pdf使用账户管理命令.pdf2015/10/10 pdf用户切换和用户状态命令.pdf2015/10/10 pdf账户管理概述.pdf2015/10/10 pdf apache与tomcat整合-完整篇.txt2015/10/10 pdf centos 安装.pdf2015/10/10 pdf Centos_64bit安装JDK+tomcat.doc2015/10/10 pdf CSS_Mastery2015/10/10 pdf div+css+shiping2015/10/10 pdf CSS2.0中文手册.chm2015/10/10 pdf css20_样式表中文手册.chm2015/10/10 pdf css速成手册.chm2015/10/10 pdf cursor样式.pdf2015/10/10 pdf DIV+css.pdf2015/10/10 flv research-css-03-a.flv2015/10/10 flv research-css-03-b.flv2015/10/10 flv research-css-04-a.flv2015/10/10 flv research-css-04-b.flv2015/10/10 flv research-css-05-a.flv2015/10/10 flv research-css-05-b.flv2015/10/10 pdf 1.基础篇_修改by徐定翔2_去掉批注.pdf2015/10/10 pdf 2.性能优化篇2.pdf2015/10/10 pdf 3.架构设计篇2.doc2015/10/10 pdf 3.架构设计篇2.pdf2015/10/10 gz10201_database_linux_x86_64.cpio.gz2015/10/10rar cn_sql_server_2008_r2_enterprise_x86_x62015/10/10pdf IBM通用数据库DB2.PDF2015/10/10 pdf Install RAC 10.2.0.1 on RHEL 4.2_CN.pdf2015/10/10 doc mssql 备份与还原.docx2015/10/10 doc MYSQL TO ORALCE数据库转换说明.doc2015/10/10 gz mysql-5.1.56.tar.gz2015/10/10 doc mysql下载安装笔记.docx2015/10/10 doc Oracle.SQL必备参考.pdf2015/10/10 avi Oracle_RAC_For_Linux_install.avi2015/10/10 pdf Oracle_RAC_For_Linux_install.pdf2015/10/10 doc Oracle10g安装教程[图文].docx2015/10/10 txt Oracle10g下载地址.txt2015/10/10 doc oracle10安装forlinux官方中文.doc2015/10/10 doc oracle配置监听的步骤截图.docx2015/10/10 doc Oracle学习日志.doc2015/10/10 doc redhat_5_安装oracle10g方法.doc2015/10/10 doc SQL_2008安装教程(完整版).doc2015/10/10 doc SQLServer2005.docx2015/10/10 doc彻底卸载Oracle.docx2015/10/10 doc利用工具导出oracle表结构及数据.docx2015/10/10 pdf dom.pdf2015/10/10 chm HTML.chm2015/10/10 chw HTML.chw2015/10/10pdf httpclient-tutorial-simplified-chinese[1].pdf2015/10/10pdf httpclient-tutorial-simplified-chinese[2].pdf2015/10/10pdf HTTP协议中文版.pdf2015/10/10 pdf eclipse插件开发.pdf2015/10/10 doc Eclipse插件开发快速入门.doc2015/10/10 pdf Eclipse插件开发指南.pdf2015/10/10pdf 美河图书提供.陈刚《Eclipse从入门到精通》.[].pdf2015/10/10doc ethereal-0.10.14.doc2015/10/10 txt linux抓包命令.txt2015/10/10 rar抓包后解析包的工具.rar2015/10/10doc JAVA技巧FCKEditor2.6.3配合Java的使用步骤.doc2015/10/10目录frame-free2015/10/10 pdf FreeMarker中文文档.pdf2015/10/10 txt apt-get详解.txt2015/10/10 txt ftp4jAPI介绍.txt2015/10/10 txt Linux的ftp服务vsftp详细配置.txt2015/10/10 txt ubuntu安装ftp宝典.txt2015/10/10 txt ubuntu安装ftp笔记.txt2015/10/10 pdf heartbeat.pdf2015/10/10 chm Apress - Pro Spring.chm2015/10/10 pdf Hibernate In Action 1.pdf2015/10/10 pdf Hibernate In Action 2.pdf2015/10/10 pdf Hibernate In Action 4.pdf2015/10/10 pdf Hibernate.pdf2015/10/10 chm Hibernate_3.chm2015/10/10 pdf hibernate_annotations.pdf2015/10/10pdf hibernate_reference.pdf2015/10/10 pdf hibernate2安装手记.pdf2015/10/10 pdf hibernate3.2_reference_cn.pdf2015/10/10 pdf hibernate3.2参考.pdf2015/10/10 pdf Hibernate3.2中文参考文档.chm2015/10/10 pdf HibernateGossip_Simp.CHM2015/10/10 pdf Hibernate-Java.pdf2015/10/10 doc hibernate基础.doc2015/10/10 wps hibernate性能.wps2015/10/10 pdf Hibernate性能调优.pdf2015/10/10 pdf hibernate中文参考文档.pdf2015/10/10 pdf ibatis_development_guide.pdf2015/10/10 pdf luntbuild-guide.pdf2015/10/10pdf MappingObjectsToRelationalDatabases(Sco ttWAmbler)_zh-CN.pdf2015/10/10pdf OpenDoc-IntroduceToSpringFramework.pdf2015/10/10 pdf关于Clob类型在Hibernate中 的应用小2015/10/10 pdf精通Hibernate.pdf2015/10/10 pdf深入学习hibernate.pdf2015/10/10 pdf夏昕.深入浅出Hibernate.PDF2015/10/10 pdf Hillstone SA系列安全网关安装手册2015/10/10 pdf Hillstone SA系列安全网关命令手册2015/10/10 pdf Hillstone SA系列安全网关使用手册2015/10/10 pdf hillstone做端口映射.pdf2015/10/10 pdf ipmsg用法.pdf2015/10/10 pdf ibatis_developing.pdf2015/10/10 pdf iBATIS-DAO-2_en.pdf2015/10/10 pdf ibatis-sqlmaps-2_cn.pdf2015/10/10 zip lintun_11606591384367M12SI.zip2015/10/10目录iphone开发秘籍代码2015/10/10目录iPhone开发指南2015/10/10 pdf BecomeAnXcoder%28SChinese%29.pdf2015/10/10 pdf iphone SDK 3 开发快速上手.pdf2015/10/10 pdf iPhone.Human.Interface.Guidelines.pdf2015/10/10 rar iphone.rar2015/10/10 pdf iphone_app发布到appstore步骤.doc2015/10/10 pdf iPhone_Development Guide.pdf2015/10/10 pdf iPhoneAppProgrammingGuide.pdf2015/10/10 pdf IPHONE行货手机客户端安装V2.doc2015/10/10 pdf iPhone开发秘籍(第2版).pdf2015/10/10 pdf iPhone开发秘籍.pdf2015/10/10 pdf iPhone开发秘籍.rar2015/10/10 pdf iPhone中文说明书.pdf2015/10/10 pdf iTunesConnect_DeveloperGuide.pdf2015/10/10 pdf iTunesConnect_DeveloperGuide_CN(1).pdf2015/10/10pdf Learn+Objective-C+On+The+Mac%2C+2009.rar2015/10/10pdf ObjC.pdf2015/10/10 pdf Objective-C Pocket Reference.chm.zip2015/10/10 pdf Objective-C基础教程.pdf2015/10/10 zip SQLiteBooks.zip2015/10/10 pdf J2EE.pdf2015/10/10 doc J2EE概述.doc2015/10/10 pdf J2EE概述.pdf2015/10/10pdf calf1.01a.pdf2015/10/10pdf CH_Brief_Introduction_to_MIDP_Graphics_v1_0.pdf2015/10/10pdf CLDCspec10a.pdf2015/10/10 pdf J2ME in a Nutshell.pdf2015/10/10 chm J2ME Tutorial中文版.chm2015/10/10 pdf j2me_stock_example.pdf2015/10/10 chm j2meapi07.chm2015/10/10 pdf J2ME技术手册.pdf2015/10/10 pdf J2ME开发网FAQ集锦.pdf2015/10/10 pdf J2ME中文教程_calf1.01a.pdf2015/10/10 pdf MIDLET与J2EE结合开发移动商务应用.PDF2015/10/10pdf MIDP_AMMS_API_Developers_Guide_v1_0_en.pdf2015/10/10pdf Wireless Programming With J2ME.pdf2015/10/10 ppt第01章_了解Java.ppt2015/10/10 ppt第02章_入门准备.ppt2015/10/10 ppt第03章_语法入门.ppt2015/10/10 ppt第04章_装箱、拆箱.ppt2015/10/10 ppt第05章_阵 列.ppt2015/10/10 ppt第06章_字符串.ppt2015/10/10 ppt第07章_封装.ppt2015/10/10 ppt第08章_继承、多态.ppt2015/10/10 ppt第09章_管理类别档案.ppt2015/10/10 ppt第10章_例外处理.ppt2015/10/10 ppt第11章_列举型态.ppt2015/10/10 ppt第12章_泛型(Generics).ppt2015/10/10 ppt第13章_对象容器.ppt2015/10/10 ppt第14章_输入 输出.ppt2015/10/10 ppt第15章_线程.ppt2015/10/10 ppt第16章_反射.ppt2015/10/10 ppt第17章_Annotation.ppt2015/10/10 ppt第18章_舍遗补缺 .ppt2015/10/10 ppt第19章_文本编辑器 .ppt2015/10/10 ppt第20章_JDBC入门.ppt2015/10/10 ppt第21章_Java SE6新功能简介.ppt2015/10/10目录JAVA2核心技术2015/10/10 pdf JAVA 5.0 TIGER程序高手秘笈.pdf2015/10/10目录thinkinjava2015/10/10 mp405_Java的基本数据类型.mp42015/10/10 pdf c3p0.pdf2015/10/10 pdf Eclipse插件开发指南.pdf2015/10/10 pdf EJB3.pdf2015/10/10 pdf GUI.ppt2015/10/10pdf Jakarta_Commons_FileUpload_user_guide.pdf2015/10/10pdf Java NIO (中文版).pdf2015/10/10 pdf Java 虚拟机规范.pdf2015/10/10 pdf Java.Rules中文版.pdf2015/10/10 pdf JAVA_GUI软件开发环境搭建流程.txt2015/10/10 pdf Java_TCPIP_Socket编程.pdf2015/10/10 pdf Java2.pdf2015/10/10 pdf Java2参考大全(jdk5.0).pdf2015/10/10 pdf Java2网络协议技术内幕.pdf2015/10/10pdf JAVA5.0API_CN.CHM2015/10/10 pdf JAVA5.0API_CN.chw2015/10/10 pdf java9.ppt2015/10/10 pdf JavaAPI文档.pdf2015/10/10 pdf Java并发编程实践-电子书-01章.pdf2015/10/10 pdf Java并发编程实践-电子书-02章.pdf2015/10/10 pdf Java并发编程实践-电子书-03章.pdf2015/10/10 pdf Java并发编程实践-电子书-04章.pdf2015/10/10 pdf Java并发编程实践-电子书-05章.pdf2015/10/10 pdf Java并发编程实践-电子书-06章.pdf2015/10/10 pdf Java并发编程实践-电子书-07章.pdf2015/10/10 pdf Java并发编程实践-电子书-08章.pdf2015/10/10 pdf Java并发编程实践-电子书-09章.pdf2015/10/10 pdf Java程序设计基础教程.pdf2015/10/10 pdf java多线程设计模式详解.pdf2015/10/10 pdf java反射机制详解.pdf2015/10/10 pdf Java环境配置.pdf2015/10/10 pdf JAVA面向对象编程.pdf2015/10/10 pdf Java数据编程指南.pdf2015/10/10 pdf Java数据结构和算法中文第二版.pdf2015/10/10 pdf Java数据库编程宝典.pdf2015/10/10 pdf Java虚拟机规范中文版.pdf2015/10/10 pdf java异常设计总结.pdf2015/10/10 pdf Java语言编码规范.pdf2015/10/10 pdf Java语言的反射机制.pdf2015/10/10 pdf java知识汇总.pdf2015/10/10 pdf JDK_API_1_6_zh_CN.CHM2015/10/10 pdf JDK6API中文参考[沈东良](070114).chm2015/10/10 pdf JFC核心编程第2版.pdf2015/10/10 pdf JMS简明教程.pdf2015/10/10 pdf JSP2_0技术手册.pdf2015/10/10 pdf ServerSocket 用法详解.pdf2015/10/10 pdf servlet2.3.pdf2015/10/10 pdf ts2616ch.pdf2015/10/10 pdf基于MVC 和RMI的.pdf2015/10/10 pdf进入java世界01.pdf2015/10/10 pdf进入java世界02.pdf2015/10/10 pdf进入java世界03.pdf2015/10/10 pdf浅析Java反射机制.pdf2015/10/10 pdf深入java虚拟机第二版.pdf2015/10/10 pdf使用Eclipse制作可执行jar文件.pdf2015/10/10 pdf InstallAnywhere制作JavaWeb程序安装2015/10/10 pdf java_JDBC连接数据库代码大全.pdf2015/10/10 pdf Java数据编程指南.pdf2015/10/10 pdf jms笔记.pdf2015/10/10 pdf JMS规范培训教程.pdf2015/10/10 pdf JMS简明教程.pdf2015/10/10 pdf ProgrammersGuide.pdf2015/10/10 pdf起步指南.pdf2015/10/10 pdf Manning - JMX in Action.pdf2015/10/10 pdf Hibernate参考手册3.5.3(中文版).pdf2015/10/10 pdf JPA注解参考_Oracle.chm2015/10/10pdf Pro JPA 2 Mastering the JavaPersistence API.pdf2015/10/10pdf Pro+JPA+2中文版:精通Java持久化API.pdf2015/10/10 pdf第1章 JavaScript语言概述.pdf2015/10/10 pdf第2章 JavaScript语言基础.pdf2015/10/10 pdf第3章 JavaScript事件处理.pdf2015/10/10 pdf第4章 JavaScript基于对象编程.pdf2015/10/10 pdf第5章 文档对象模型(DOM).pdf2015/10/10 pdf第6章 String、Math、Array等数据对象.pdf2015/10/10 pdf第7章 Window及相关顶级对象.pdf2015/10/10 pdf第8章 Document对象.pdf2015/10/10 pdf《Ext_JS高级程序设计》.pdf2015/10/10 pdf javascript.chm2015/10/10 pdf JavaScript+Reference+Guide.pdf2015/10/10 pdf javascript10.chm2015/10/10 pdf javascript宝典.pdf2015/10/10 pdf jquery.chm2015/10/10 pdf jquery_api.chm2015/10/10 pdf jQuery_EasyUI教程.doc2015/10/10 pdf jQuery1.2API.chm2015/10/10 pdf jquery1.7.chm2015/10/10 pdf js.chm2015/10/10 pdf JScript中文参考手册.chm2015/10/10 pdf JSON-RPC-JAVA.pdf2015/10/10 pdf复选框级连.pdf2015/10/10 pdf精通JavaScript(图灵计算机科学丛书).pdf2015/10/10 pdf客户端输入验证.pdf2015/10/10 pdf JSF自定义组件简体中文版.pdf2015/10/10 pdf Ajax:拥抱JSON,让XML走开 .pdf2015/10/10 pdf jsoup教程.pdf2015/10/10 pdf EL语言.pdf2015/10/10 pdf JSF in Action中文版(Sample).pdf2015/10/10 pdf JSP.doc2015/10/10 pdf JSP.pdf2015/10/10 rar JSP2.0技术手册.rar2015/10/10 pdf JSP2_0_handbook.pdf2015/10/10 pdf JSPpresentation2.pdf2015/10/10 pdf jsp九种内置对象.pdf2015/10/10 pdf jsp元素.pdf2015/10/10 pdf JSP指令元素简介.pdf2015/10/10 pdf request.ParaMap.txt2015/10/10 pdf Servlet API 中文版.pdf2015/10/10 pdf cforEach.pdf2015/10/10 pdf jstl.pdf2015/10/10 pdf jstl-quick-reference.pdf2015/10/10 pdf JSTL官方帮助.pdf2015/10/10 pdf jstl实例.pdf2015/10/10 pdf jstl文档.pdf2015/10/10 pdf Cactus实例讲解.pdf2015/10/10 pdf JUnit.in.Action中文版.pdf2015/10/10 pdf Tomcat与Web测试.pdf2015/10/10pdf 基于mock对象和JUnit框架简化Spring Web组件单元测试.pdf2015/10/10ppt第1章 Linux概况及安装.ppt2015/10/10 ppt第2章 Linux的常用命令.ppt2015/10/10 ppt第3章 Linux系统管理.ppt2015/10/10ppt第4章 Linux网络基础.ppt2015/10/10 ppt第5章 Intranet服务器.ppt2015/10/10 ppt第6章 Internet应用服务器的配置 .ppt2015/10/10 ppt第7章 Web应用服务 .ppt2015/10/10 ppt第8章 Linux网络安全.ppt2015/10/10 ppt第9章 Linux编程基础.ppt2015/10/10 ppt gsg.pdf2015/10/10 ppt Linux_JAVA.pdf2015/10/10 ppt LINUX内核源代码情景分析(上).pdf2015/10/10 ppt LINUX内核源代码情景分析(下).pdf2015/10/10 ppt linux入门教程.pdf2015/10/10 ppt linux学习笔记.pdf2015/10/10 ppt SecureCRT 使用指南.pdf2015/10/10 doc Solaris.docx2015/10/10 ppt Tomcat&Java_Web.pdf2015/10/10 ppt tomcat及jdk安装配置文档.pdf2015/10/10 ppt Unix_OS_design.pdf2015/10/10 ppt vbird_Linux_basic.pdf2015/10/10 ppt高可用性Linux集群实现.pdf2015/10/10 txt log4j使用完全手册.txt2015/10/10 txt tomcat日志分割.doc2015/10/10 txt tomcat下catalina.out日志文件分割.txt2015/10/10 txt修改catalina.sh文件.txt2015/10/10目录01_传智播客张孝祥java邮件开发_课程价值与目标介绍2015/10/10目录02_传智播客张孝祥java邮件开发_邮件方面的基本常识2015/10/10目录03_传智播客张孝祥java邮件开发_手工体验smtp和pop3协议2015/10/10目录04_传智播客张孝祥java邮件开发_邮件协议总结与邮件服务器的工作原理2015/10/10目录05_传智播客张孝祥java邮件开发_JavaMailAPI的介绍2015/10/10目录06_传智播客张孝祥java邮件开发_编写一个JavaMail发送邮件的程序2015/10/10目录07_传智播客张孝祥java邮件开发_使用Authenticator和send静态方法2015/10/10目录08_传智播客张孝祥java邮件开发_邮件的基本格式与编码2015/10/10目录09_传智播客张孝祥java邮件开发_邮件文件的内部结构与API分析2015/10/10目录10_传智播客张孝祥java邮件开发_搭建创建复杂邮件整体架构的代码2015/10/10目录11_传智播客张孝祥java邮件开发_填充和完善创建复杂邮件的细节代码2015/10/10目录12_传智播客张孝祥java邮件开发_中文附件名_回信地址_友好名称等技巧2015/10/10目录13_传智播客张孝祥java邮件开发_如何直接发送一封现有的邮件文件2015/10/10目录14_传智播客张孝祥java邮件开发_在Web应用中增加邮件发送功能2015/10/10目录15_传智播客张孝祥java邮件开发_Tomcat的JavaMail_JNDI资源与类加载问题2015/10/10目录16_传智播客张孝祥java邮件开发_Java邮件开发源代码2015/10/10pdf JavaMail 技术在移动Blog 系统中的应用.pdf2015/10/10doc JavaMail(4)--使用POP3接收邮件 .docx2015/10/10 doc mime协议.doc2015/10/10 doc MIME协议分析.doc2015/10/10 zip传智播客_张孝祥_java_http协议.zip2015/10/10pdf 基于J ava Mai l的Web邮件客户端的设计与实现.pdf2015/10/10doc应用层协议分析.doc2015/10/10 pdf张孝祥Java邮件开发详解.pdf2015/10/10 pdf Maven in action.pdf2015/10/10 txt memcached教程.txt2015/10/10 doc memcahed笔记.docx2015/10/10 rar OpenCMS_rm.rar2015/10/10目录openoffice2015/10/10 pdf Adobe.Photoshop.CS5官方教程.pdf2015/10/10 pdf Photoshop 7.0入门与提高实用教程.pdf2015/10/10 pdf Photoshop CS活学活用300问.pdf2015/10/10 pdf PhotoshopCS3中文版完全自学教程.pdf2015/10/10 doc PHP安装教程.doc2015/10/10 pdf liferay-custom-development-zh-cn.pdf2015/10/10 pdf portal.pdf2015/10/10 pdf portal开发环境.pdf2015/10/10 pdf SEP-QuickStart.pdf2015/10/10 pdf SEP-Solution.pdf2015/10/10 pdf SOADeveloper-QuickStart.pdf2015/10/10 pdf SOA-Portal-Integration.pdf2015/10/10 pdf spring-portlet-mvc.pdf2015/10/10 rar SSHPortlet.rar2015/10/10 pdf JPOS_Version_1_6.pdf2015/10/10 pdf jPOS-EE.pdf2015/10/10 pdf jPOS-windows from source.pdf2015/10/10 doc Jpos体系结构.docx2015/10/10 doc汇缘通POS报文接口V3.1.docx2015/10/10 doc意林E销存终端接口V1.3.doc2015/10/10 pdf银行卡信息交换术语.pdf2015/10/10 pdf Spring_Security参考文档.pdf2015/10/10 pdf SOA Practitioners Guide Part 1_CN.pdf2015/10/10 pdf SOA Practitioners Guide Part 2_CN.pdf2015/10/10 pdf SOA Practitioners Guide Part 3_CN.pdf2015/10/10 pdf webservice.pdf2015/10/10 avi InstallSolaris.avi2015/10/10 doc Solaris_10安装指南.doc2015/10/10 ppt Solaris介绍.ppt2015/10/10 txt solaris命令速查手册.txt2015/10/10 doc手把手教你Solaris 10安装.docx2015/10/10pdf aop.pdf2015/10/10 pdf Spring MVC 开发快速入门.pdf2015/10/10 pdf spring_reference_inchinese_m2.pdf2015/10/10 pdf spring2.0-reference_final_zh_cn.pdf2015/10/10 pdf .pdf2015/10/10 pdf Spring2.5-中文参考手册.chm2015/10/10 pdf spring2-aop.pdf2015/10/10 pdf spring3x.pdf2015/10/10 pdf spring-forward-2006-xml-config.pdf2015/10/10 pdf SpringFramework.pdf2015/10/10 pdf SpringGuide.pdf2015/10/10 pdf SpringJMX.pdf2015/10/10 pdf spring-reference.pdf2015/10/10 pdf springside_reference.chm2015/10/10 txt Spring中配制commons-dbcp数据源.txt2015/10/10 pdf Spring组件发布包.pdf2015/10/10 pdf精通Spring.pdf2015/10/10 pdf mysql5.0双机集群配置.pdf2015/10/10 chm MySQL5.1中文参考手册.CHM2015/10/10 pdf MySQL权威指南.pdf2015/10/10 pdf SQL SERVER 数据类型详解.pdf2015/10/10 doc sql.doc2015/10/10 pdf SQL关键字.pdf2015/10/10 pdf SQL完全手册.pdf2015/10/10 html SQL语法手册.html2015/10/10 pdf程序员的SQL金典.pdf2015/10/10 pdf OpenID 认证 1.1.pdf2015/10/10 pdf openidbook.pdf2015/10/10 rar001.Struts2.2概述与MVC模式深度剖析.rar2015/10/10rar 002.Struts2.2的独有特性与StrutsPrepareAndExecute过滤器源码分析.rar2015/10/10rar 003.通过Struts2.2源代码生成chm格式帮助文档深度详解、类型转换初步.rar2015/10/10rar004.Struts2类型转换深入详解.rar2015/10/10 rar005.Struts2批量类型转换深入详解.rar2015/10/10 rar006.Struts2自定义方法与开发建议指导.rar2015/10/10rar 007.Struts2输入校验深度剖析(使用编码方式).rar2015/10/10rar 008.Struts2输入校验深度剖析续(使用编码方式).rar2015/10/10rar009.Struts2输入校验源代码深入解读.rar2015/10/10 rar010.自定义方法的输入校验深度剖析.rar2015/10/10rar 011.深度剖析Struts2的输入校验框架及框架的DTD文件配置详解.rar2015/10/10rar 012.深度剖析XWork校验框架源代码、通过底层源码理解校验框架的本源.rar2015/10/10rar013.校验器优先的校验框架深度剖析.rar2015/10/10rar 014.Struts2的国际化支持及JDK对国际化的支持深入详解.rar2015/10/10rar 015.Struts2的异常处理及全局异常与结果深入剖析.rar2015/10/10。
程序员必看的书籍推荐程序员(英文Programmer)是从事程序开发、维护的专业人员。
大家知道程序员必看的书籍有哪些吗?以下是店铺推荐给大家的关于程序员必看的书籍,供大家欣赏!程序员必看的书籍推荐:推荐1:Python 网络数据采集作者:Ryan Mitchell译者:陶俊杰,陈小莉原书4.6星好评,一本书搞定数据采集涵盖数据抓取、数据挖掘和数据分析提供详细代码示例,快速解决实际问题网络上的数据量越来越大,单靠浏览网页获取信息越来越困难,如何有效地提取并利用信息已成为一个巨大的挑战。
本书采用简洁强大的Python 语言,介绍了网络数据采集,并为采集新式网络中的各种数据类型提供了全面的指导。
第一部分重点介绍网络数据采集的基本原理:如何用Python 从网络服务器请求信息,如何对服务器的响应进行基本处理,以及如何以自动化手段与网站进行交互。
第二部分介绍如何用网络爬虫测试网站,自动化处理,以及如何通过更多的方式接入网络。
推荐2:像程序员一样思考编程的真正挑战不是学习一种语言的语法,而是学习创造性地解决问鲤.从而构建美妙的应用。
本书分析了程序员解决问题的方法,并且教授你其他图书所忽略的一种能力,即如何像程序一样思考。
全书分为8章。
第1章通对几个经典的算法问题切入,概括了问题解决的基本技巧和步骤。
第2章通过实际编写C++代码来解决几个简单的问题,从而让读者进一步体会到问题解决的思路和应用。
第3到7章是本书的主体部分,分别探讨了用数组、指针和动态内存,类、递归和代码复用来解决问题的途径和实际应用。
最后,第8章从培养程序员思维的角度,进行了总结和概括,告诉读者如何才能像程序员一样思考。
本书选取的话题切中程序员的痛点,针对他们最容易陷入挣扎的领域展开讨论,引发思考。
每章后面都给出一些编程习题,使得读者能够应用该章所讨论的概念,训练和提升问题解决的能力。
推荐3:Java 性能权威指南作者:Scott Oaks译者:柳飞,陆明刚,臧秀涛《Java 性能权威指南》对 Java 7 和 Java 8 中影响性能的因素展开了全面深入的介绍,讲解传统上影响应用性能的JVM特征。
python爬虫入门到精通必备的书籍python是一种常见的网络爬虫语言,学习python爬虫,需要理论与实践相结合,Python生态中的爬虫库多如牛毛,urllib、urllib2、requests、beautifulsoup、scrapy、pyspider都是爬虫相关的库,但是如果没有理论知识,纯粹地学习如何使用这些API如何调用是不会有提升的。
所以,在学习这些库的同时,需要去系统的学习爬虫的相关原理。
你需要懂的技术包括Python编程语言、HTTP协议、数据库、Linux等知识。
这样才能做到真正从入门python爬虫到精通,下面推荐几本经典的书籍。
1、Python语言入门的书籍:适合没有编程基础的,入门Python的书籍1、《简明Python教程》本书采用知识共享协议免费分发,意味着任何人都可以免费获取,这本书走过了11个年头,最新版以Python3为基础同时也会兼顾到Python2的一些东西,内容非常精简。
2、《父与子的编程之旅》一本正儿八经Python编程入门书,以寓教于乐的形式阐述编程,显得更轻松愉快一些。
3、《笨办法学Python》这并不是关于亲子关系的编程书,而是一本正儿八经Python编程入门书,只是以这种寓教于乐的形式阐述编程,显得更轻松愉快一些。
4、《深入浅出Python》Head First 系列的书籍一直饱受赞誉,这本也不例外。
Head First Python主要讲述了Python 3的基础语法知识以及如何使用Python快速地进行Web、手机上的开发。
5、《像计算机科学家一样思考python》内容讲解清楚明白,非常适合python入门用,但对于学习过其他编程语言的读者来说可能会觉得进度比较慢,但作者的思路和想法确实给人很多启发,对于菜鸟来说收益匪浅,书中很多例子还是有一定难度的,完全吃透也不容易。
6、《Python编程:入门到实践》厚厚的一本书,本书的内容基础而且全面,适合纯小白看。
汇编语言入门教程2007-04—29 22:04对初学者而言,汇编的许多命令太复杂,往往学习很长时间也写不出一个漂漂亮亮的程序,以致妨碍了我们学习汇编的兴趣,不少人就此放弃.所以我个人看法学汇编,不一定要写程序,写程序确实不是汇编的强项,大家不妨玩玩DEBUG,有时CRACK出一个小软件比完成一个程序更有成就感(就像学电脑先玩游戏一样)。
某些高深的指令事实上只对有经验的汇编程序员有用,对我们而言,太过高深了。
为了使学习汇编语言有个好的开始,你必须要先排除那些华丽复杂的命令,将注意力集中在最重要的几个指令上(CMP LOOP MOV JNZ……).但是想在啰里吧嗦的教科书中完成上述目标,谈何容易,所以本人整理了这篇超浓缩(用WINZIP、WINRAR…依次压迫,嘿嘿!)教程.大言不惭的说,看通本文,你完全可以“不经意”间在前辈或是后生卖弄一下DEBUG,很有成就感的,试试看!那么――这个接下来呢?――Here we go!(阅读时看不懂不要紧,下文必有分解)因为汇编是通过CPU和内存跟硬件对话的,所以我们不得不先了解一下CPU和内存:(关于数的进制问题在此不提)CPU是可以执行电脑所有算术╱逻辑运算与基本I/O 控制功能的一块芯片.一种汇编语言只能用于特定的CPU。
也就是说,不同的CPU 其汇编语言的指令语法亦不相同。
个人电脑由1981年推出至今,其CPU发展过程为:8086→80286→80386→80486→PENTIUM →……,还有AMD、CYRIX等旁支。
后面兼容前面CPU的功能,只不过多了些指令(如多能奔腾的MMX指令集)、增大了寄存器(如386的32位EAX)、增多了寄存器(如486的FS)。
为确保汇编程序可以适用于各种机型,所以推荐使用8086汇编语言,其兼容性最佳.本文所提均为8086汇编语言。
寄存器(Register)是CPU内部的元件,所以在寄存器之间的数据传送非常快。
用途:1。
现代软件开发,已从上世纪的面向过程编程发展到当前的面向框架编程。
软件开发经验已证明:框架话、模块化的开发方式可以极大的提高软件开发效率,提高代码质量及代码重用率。
然而,在嵌入式编程中,由于长期缺乏完善的开发框架和可用的API,开发人员依旧利用C或汇编语言和底层硬件打交道,凡是亲力亲为,这必然会增加嵌入式开发的入门门槛,降低代码的重用性,甚至增加代码易集时的复制度(不过这些缺点,对于程序员来说确是好事,入门门槛高、开发复制意味着高付出高回报,不像现在桌面电脑端的开发,已经被人研究烂了,如果你不是超超超超级大牛,根本找不到一份满意的薪水)。
基于这点,TI公司发布了一套DSP算法标准——TMS320 DSP Algorithm Standard,规范了DSP算法软件的开发,并提供了类似C++语言类的封装方式的算法接口,使得算法集成变得简单统一。
XDAIS标准如果你对TMS320 DSP Algorithm Standard还陌生的话,那么如果提起另一个名字:xdais,那么就顺眼地多了。
没错,我们在Codec Engine文档中经常看到的xdais,实际上就是TMS320 DSP Algorithm Standard的另一个名字。
根据TI官方白皮书,xdais标准一共提供了39条规则,15条指南。
这些规则和指南一共分为4个部分:只要你的算法满足xdais标准,你也可以像笔记本上打上的“Vista Capable”那样,在算法上面打上TI的认证图标:IALG接口前面说了,xdais标准里含有39条标准,15个指南。
这些标准、指南几乎涵盖了整个DSP开发的生命周期,例如使用TI的C语言啊,所有C6x算法必须支持低位优先啊。
具体的规则可以参考《TMS320 DSP Algorithm Standard Rules and Guidelines User’s Guide》,本文不再讨论。
xdais作为一个DSP的开发框架,定义了一些接口:•IALG –为算法实例对象的创建定义了独立于框架的算法接口。
达芬奇(DaVinci™)技术是一种专门针对数字视频应用、基于信号处理的解决方案,能为视频设备制造商提供集成处理器、软件、工具和支持,以简化设计进程,加速产品创新。
目录∙达芬奇技术产品系列∙达芬奇技术开发工具∙达芬奇技术简化数字视频设计∙面向数字视频的达芬奇技术达芬奇技术产品系列∙TMS320DM644x 数字媒体处理器——基于ARM926 处理器与TMS320C64x+DSP内核的高集成度。
TMS320DM6446、TMS320DM6443 和TMS320DM6441 处理器适用于视频电话、车载信息娱乐以及IP机顶盒(STB)等应用和终端设备。
TMS320DM643x 数字媒体处理器——基于C64x+TM DSP 内核TMS320DM6437、TMS320DM6435、TMS320DM6433 和TMS320DM6431 处理器是低成本应用领域的最佳解决方案,适用于车道偏离、防碰撞系统等车载市场应用、机器视觉系统、机器人技术和视频安全监控系统等。
TMS320DM647/TMS320DM648 数字媒体处理器——专门针对多通道视频安全监控与基础局端应用进行了优化,这些应用包括数码摄像机(DVR)、IP 视频服务器、机器视觉系统以及高性能影像应用等。
DM647 和DM648 数字媒体处理器具有全面可编程性,能够为要求极严格的流媒体应用提供业界领先的性能。
TMS320DM6467 数字媒体处理器——一款基于DSP 的SoC,专为实时多格式高清晰度(HD) 视频代码转换精心打造,能在前代基础上以仅十分之一的价格实现10倍的性能提升。
DM6467 集成了ARM926EJ-S 内核、C64x+ DSP内核,并采用高清视频/影像协处理器(HD-VICP)、视频数据转换引擎与目标视频端口接口。
DM6467 可充分满足HD 转码方面的市场要求,非常适用于企业及个人市场的媒体网关、多点控制单元、数字媒体适配器、数字视频服务器以及安全监控市场记录器与IP 机顶盒等应用。
Java 3D API官方教程[翻译一]开始学习Java3D API1第一章、入门本章目标:学习了本章之后,你能:•能用一些基本术语解释什么是Java3D•能描述出Java3D程序的基本结构。
•能识别出Java3D API中的许多类。
•能编写出简单的Java3D动画程序。
Java 3D API是一个用于编写显示和交互操作三维图形对象的程序的接口。
Java 3D也是在Java2 Java开发包(JDK)上的标准扩展。
这个API提供了用于创建和操纵3D图形的高端构成方法以及渲染该图形的一些数据结构。
Java3D 提供了创建图片、可视化、动画以及3D交互图形应用程序的函数。
1.1 什么是Java 3D API?Javae 3D API是作为复杂三维图形和声音渲染系统的接口的一系列层次的JAVA类的统称。
程序员可以用Java3D开发创建和操纵3D图形对象的高端应用。
这个图形对象处于一个被渲染了的虚拟世界(Virtual Universe)中。
这个API就是用设计来用于灵活方便地创建精确的各种大小的虚拟环境,可以大到大空物体,小到比原子还小。
除了这些功能之外,API的使用也很直接,API能自动处理渲染的细节,由于利用了Java线程机制的优势,所以Java3D的渲染器的工作是并行进行的。
并且渲染器也能自动地优化并提高渲染性能。
一个Java3D程序创建了Java3D对象的实际,并将其置之于场景图数据结构中。
在这个场景图中,所有3D对象用完全指定了虚拟世界内容和其如何被渲染的树形结构存储,Java3D程序能写成能独立运行的应用程序,或者写成能嵌入在浏览器中运行的Applets,或者二者兼备。
1.2 Java 3D API每一个Java3D程序至少部分地集成了来自Java类层次中的对象,这些对象的集合称做虚拟世界(virtual universe),这就是将要被渲染的对象。
此API在javax.media.j3d包中定义了超过100多个类,这些类我们平常称做Java3D 核心类。
(1) [小程序案例][微信小程序]微信小程序知识总结及案例集锦目录主要从以下几个方面给大家总结一下微信小程序相关的知识!1 前言什么是小程序微信小程序在微信开发中的位置微信小程序框架–MINA现代化前端技巧MINA 是不是 HTML 5小程序与传统APP区别小程序为开发者提供了什么微信小程序源码结构10.MINA 组件1微信小程序案例1公众号前言今天把之前收集的微信小程序案例,给大家共享出来,一起学习!学习的别人东西是自己技能增长最快的一种方式.就像之前我们在写程序时,主管或项目经理,经常提醒我们一样,程序写的太乱,不简洁,要多看别人写的好的的程序源码,看多了,模仿多了,自己写代码结构和性能就提高很多了.回归正题,今天着重给大家15个微信小程序案例,需要的可以下载看看!首先在介绍源码之前,还是给大家讲讲微信小程序相关的知识.什么是小程序小程序是微信推出的一种新的公众号的形态不需要下载安装即可在微信中使用的应用小程序、订阅号、服务号、企业号是并行的体系微信小程序在微信开发中的位置微信小程序框架–MINA小程序融合了很多前端开发界的概念,但是并没有采用任何一个框架,包括流行的REACT、VUE,还有CORDOVA。
它不是三者中的任意一个,而是拼凑出一个新的框架。
尽可能简单、高效的方式让开发者可以在微信中开发具有原生 APP 体验的服务现代化前端技巧Virtual DOM开发者写 iOS 和原生的 h5 应用的时候,很多时候是手动地去操作 UI,用户按按钮之后改变页面。
当应用很复杂的时候在改变的过程可能就会产生错误,Virtual DOM每次要去改变一个界面的时候,重新把界面做一次再进行修改,避免出错。
MVVM分离逻辑和数据。
组件化功能、风格模块化,每个风格封装在组件里就不会泄露。
MINA 是不是 HTML 5微信小程序一出来,大家都在猜测是基于什么技术,是 H5 还是原生。
它的框架看起来既像 H5,又像原生。
VS2022-MFC编程入门鸡啄米的C++编程入门系列给大家讲了C++的编程入门知识,大家对C++语言在语法和设计思想上应该有了一定的了解了。
但是教程中讲的例子只是一个个简单的例程,并没有可视化窗口。
鸡啄米在这套VS2022/MFC编程入门教程中将会给大家讲解怎样使用VS2022进行可视化编程,也就是基于窗口的程序。
C++编程入门系列主要偏重于理论方面的知识,目的是让大家打好底子,练好内功,在使用VC++编程时不至于丈二和尚摸不着头脑。
本套教程也会涉及到VC++的原理性的东西,同样更重视实用性,让大家学完本套教程以后,基本的界面程序都能很容易编写出来。
VC++简介VC++全称是ViualC++,是由微软提供的C++开发工具,它与C++的根本区别就在于,C++是语言,而VC++是用C++语言编写程序的工具平台。
VC++不仅是一个编译器更是一个集成开发环境,包括编辑器、调试器和编译器等,一般它包含在ViualStudio中。
ViualStudio包含了VB、VC++、C#等编译环境。
当然我们在使用VC++6.0的时候为了轻便,总是只单独安装VC++6.0。
但自微软2002年发布以来,微软建立了在.NET框架上的代码托管机制,一个项目可以支持多种语言开发的组件,VC++同样被扩展为支持代码托管机制的开发环境,所以.NETFramework是必须的,也就不再有VC++的独立安装程序,不过可以在安装ViualStudio时只选择VC++进行安装。
VC++版本的选择:VS2022因为VC++6.0以后的版本不再有独立的安装程序,所以鸡啄米在教程中将不会称VC++6.0以后的版本为VC++7.0等等,而是用VC++所属的ViualStudio的版本名称代替,比如VS2003。
近些年VC++主要的版本包括:VC++6.0、VS2003、VS2005、VS2022和VS2022。
VC++6.0占用的系统资源比较少,打开工程、编译运行都比较快,所以赢得很多软件开发者的青睐。
ArnoldForC4d入门学习笔记【引言】业余时间,看着老外的视频和Arnold自带的英文帮助,通过学习对比C4D,已经弄清楚大概框架。
越来越感觉这个渲染器速度快,操作又简单又方便,值得花时间学习。
特写下一系列学习笔记,抛砖引玉,帮助对此渲染器感兴趣的朋友,入入门,省点事。
Arnold渲染器是一款高级的、跨平台的渲染API。
是基于物理算法(PBR)的电影级别渲染引擎,目前由Solid Angle SL 开发。
正在被越来越多的好莱坞电影公司以及工作室作为首席渲染器使用。
主要功能:1、无缝集成C4D:对象(实例、克隆、变形器、生成器),MoGraph几何,头发和样条函数。
2、支持原生粒子和Thinking Particles(TP粒子)。
3、最快的交互式渲染(IPR)的阿诺德插件,允许快速预览参数变化而不中断你的工作。
4、Arnold Shading Network Editor阿诺德材质网络编辑器,一个基于节点材质编辑器。
5、一个详尽的列表着色器和公用节点,包括vertex maps顶点贴图映射和每个面材质。
6、使用OpenVDB体积渲染Volume rendering。
7、几何渲染时间递延使用阿诺德过程节点Arnold procedural node。
8、Native linear workflow线性工作流程。
9、Team Render, 包括单帧分布渲染single-frame distributed rendering。
10、支持第三方插件如X-Particles 3和Turbulence FD。
【学习】第一部分:布局界面Arnold是C4D的一个插件,它是一个相当不错的渲染器,速度快、效果不赖、对于复杂场景也能很快完成渲染。
尤其让人着迷的是它的IPR即时交互渲染窗口,所见即所得,真是太方便了。
看官方网站,这个插件最高版本1.0.12.0,修正了不少问题,但可能还是兼容方面不太好,有的时候材质球和IPR不更新,不知道其他的朋友在使用的时候,是否出现这个问题。
sklearn kmeans 聚类余弦距离-概述说明以及解释1.引言在文章的1.1 概述部分,我们可以简要介绍sklearn、kmeans聚类以及余弦距离这三个主要主题的背景和概念。
具体内容可以参考以下示例:概述:在机器学习领域中,聚类是一种常见的无监督学习技术,用于将数据分组成具有相似特征的集群。
通过聚类,我们可以发现数据的内在结构,识别出相似的样本并将其归为一类,从而对数据进行有效的组织和分析。
Sklearn(Scikit-learn)是一个简单而高效的Python机器学习库,它为我们提供了丰富的工具和函数来实现各种机器学习任务。
它是许多数据科学家和机器学习爱好者的首选,因为它不仅提供了易于使用的API,还具有广泛的文档和示例代码,使得我们能够更轻松地入门并应用机器学习算法。
Kmeans聚类是一种经典的聚类算法,它通过计算样本之间的距离以及集群中样本的均值来迭代地将样本分配到不同的集群中。
Kmeans算法具有简单而直观的原理,在实际应用中被广泛使用,尤其是在数据挖掘和模式识别任务中。
余弦距离是一种常用的度量两个向量之间相似性的方法,尤其适用于文本和文档聚类任务。
余弦距离衡量了两个向量之间的夹角,而不仅仅是它们之间的欧氏距离。
在文本分析中,通常将文本表示为向量空间中的词频向量或TF-IDF向量,而余弦距离可以用于计算文本之间的相似性,从而实现文本聚类和分类等任务。
综上所述,本文将重点介绍sklearn库以及它提供的强大的kmeans 聚类算法,同时探讨如何使用余弦距离来评估样本之间的相似性。
在接下来的章节中,我们将对sklearn库和kmeans聚类算法进行详细的介绍,并探索如何使用余弦距离进行文本聚类任务。
通过本文的学习,读者将能够了解到如何使用sklearn库实现聚类任务,并理解余弦距离在机器学习中的应用和意义。
1.2 文章结构文章结构是指文章整体的组织框架,包括章节的划分和每个章节的内容安排。
vue3文献全文共四篇示例,供读者参考第一篇示例:Vue.js 是一个流行的开源JavaScript 框架,用于构建交互式的用户界面。
它由尤雨溪于2013年创建,目前已经发展成为一个庞大且活跃的开源社区。
Vue.js 的核心理念是“渐进式框架”,它允许开发者逐步引入框架的特性而不必一次性全部投入。
Vue.js 3 是Vue.js 框架的最新版本,它于2020年9月正式发布。
与之前的版本相比,Vue.js 3 带来了一系列强大的新功能和性能优化,使得开发者在构建更高效、更强大的应用程序时能够获得更好的体验。
一、Vue.js 3 的特性1. Composition API:Vue.js 3 引入了Composition API,这是一个针对组件逻辑复用和代码组织的全新API。
它允许开发者使用函数式API 来组织、管理和重用组件的逻辑。
相比于之前的Options API,Composition API 可以更好地组织、维护和重用代码,提高了代码的可读性和可维护性。
2. 模块化设计:Vue.js 3 的模块化设计使得其更加灵活和可扩展。
开发者可以根据实际需求选择导入需要的功能,而不必导入整个框架。
这种模块化设计也有助于减少打包体积,使得应用程序更加高效。
3. 性能优化:Vue.js 3 对性能进行了优化,包括虚拟DOM 的重构、树摇功能、编译器优化等。
这些优化使得应用程序的性能得到了显著提升,特别是在大型应用程序中表现更为突出。
4. TypeScript 支持:Vue.js 3 对TypeScript 提供了更好的支持,使得开发者可以更加容易地使用TypeScript 来编写Vue.js 应用程序,提高了代码的可维护性和可读性。
1. Vue.js 3 官方文档:Vue.js 3 的官方文档详细介绍了框架的各种功能和使用方式,是开发者学习Vue.js 3 的最佳资源之一。
官方文档包括了详细的教程、指南、API 文档等,帮助开发者快速入门并深入理解Vue.js 3。
ODbgScript入门系列标题:调试好帮手ODbgScript 入门系列(一)-认识ODbgScript【原创】作者:hnhuqiong时间:2006-05-21,21:16链接:http://bbs。
pediy。
com/showthread。
php?t=26029调试好帮手ODbgScript 入门系列(一)-认识ODbgScript作者:hnhuqiong看到CCDebuger的图文并茂的OD教学系列很受欢迎,这里我也仿照它的教学模式写吧,这样容易让新手学习,CCDebuger不会让律师给我发版权函吧:),我感觉看雪如果形成了自己的教学风格也是不错的。
一、ODbgScript 的介绍调试程序,程序逆向工作,加密解密都存在大量的重复工作,ODbgScript就是一个让你从重复而又枯燥的劳动中解脱的一个工具。
OllyScript是OLL YDBG的一个功能增强插件(Plugin),OllyScript使用的脚本语言是一个种类汇编的语言。
你使用它来控制OLL YDBG和进行脚本运算。
它的内部机制是一种解释执行的方式,当然,大侠luocong开发了一个和这个功能相近的插件OM,所不同的是OM是运行在虚拟机上的,而ODbgScript是解释执行。
现在ODbgScript在世界上有大量的使用者和他们发布了大量的脚本,你能好好的利用它。
ODBGScript的前身是由SHaG开发的OLL YScript,感谢SHaG开发了这么好的插件,并且开放了它的源码,SHaG于2004年停止了它的开发,直到今天,还有众多的爱好者在使用它。
从2005-11-4开始由Epsylon3继承SHaG继续开发并变更插件名就是你现在看到的ODbgScript,并且继续开发源码发行。
它现在的最后版本是1。
47,由于Epsylon3开发的版本最大的变化是出现了调试运行窗口。
hnhuqiong在ODbgScript开放源码的基础上对其进行了本地化,并且优化(BugFix)。
Ok,我们正式开始,我打算从一个简单的SDK程序开始,别怕,就几行代码而已··
/* BY beyondcode */
#include <windows.h>
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
MessageBoxA( NULL, "Hello beyondcode", "Title", MB_OK );
return 0;
}
程序你已经看到了,这恐怕就是一个最简单的带窗口的SDK程序了吧,如果你能写出代码行数比这个还少,又带窗口显示字符串的SDK程序,欢迎交流,呵呵,开个玩笑。
程序倒是简单,可是我还是要问一问,这个程序,你通过观察我在字符串的处理,还是在API函数的调用,还是主函数的参数写法,你能看出什么问题呢?对,就是我全部明确指出是单字节版本的,WinMain的第三个参数是LPTSTR类型,调用的MessageBox是带A 后缀的单字节版本,字符串常量"Hello beyondcode"和"Title"都没有使用L前缀。
那么第二个问题来了,如果我告诉你我现在的工程环境是使用Unicode字符集(工程使用的字符集可以在【项目】->工程属性弹出的属性页中的【配置属性】中的【常规】左边的【字符集】中设置),那么我上面的程序能正常通过编译吗? 当然能,因为我已经试过了,不信你也可以试试,可是为什么呢? 这是因为我指定的参数和函数需要的参数都是单字节版本的,也就是说他们相互匹配。
要是我这里将MessageBoxA改成MessageBoxW呢? 就会出错吧,因为MessageBoxW的第二个,和第三个参数是需要LPCWSTR,通过上一篇学习,我们知道也就是const wchar_t*,而我给出的两个字符串常量却没有用L前缀.也就是说他们是单字节的,传给宽字节版本的MessageBoxW当然就类型不匹配了啊,所以就通不过编译了吧。
通过上面的学习,我再出一个问题,如果我此时的工程环境是使用Unicode字符集,而这里我不用MessageBoxA,也不用MessageBoxW,而是用MessageBox,其他的都不变,结果会怎么样呢?
好了,单字节版本的程序,我们已经看到了,我们再来看看我们怎么才能把它改成宽字节版本的呢?
其实需要改的地方不多,也就5处WinMain改成wWinMain, WinMain的第三个参数改成LPWSTR,MessageBoxA改成W,两个字符串常量加L就ok了。
/* BY beyondcode */
#include <windows.h>
int WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd )
{
MessageBoxW( NULL, L"Hello Beyondcode", L"Title", MB_OK );
return 0;
}
如果我想写一个代码比较通用的版本,也就是可以不用改动代码,就能编译出Unicode和ASCII的两个版本的程序,我应该怎么写呢? 其实就是我上一篇重点讨论的,凡是涉及到字符串的都不明确指出是Unicode还是ASCII版本的,调用的API函数凡是涉及到字符串参数的都不明确指出调用是A后缀的还是W后缀的函数,而是调用没有后缀的函数,如上面的MessageBox,这样就能写出代码比较通用的程序了。
那么我们现在来把我们上面的程序改一改,让它通用
/* BY beyondcode */
#include <windows.h>
#include <tchar.h>
int WINAPI _tWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nShowCmd )
{
MessageBox( NULL, _T("Hello Beyondcode"), _T("Title"), MB_OK );
return 0;
}
WinMain被改成了_tWinMain ,_tWinMain也是一个宏,根据UNICODE这个宏被设置与否而被定义成WinMain或wWinMain,和LPTSTR是一样的,这里还需要注意的是要包含tchar.h这个头文件,因为_tWinMain和_T()这些宏是被定义在里面的。
经过上面我们就写出了第一个SDK的可以编译出两个版本的比较通用的程序代码了。
是不是有点成就感了呢。
下面,我们继续在上面的程序中加一些功能,让它计算1到10的和,然后把结果显示给我们看,这个地方,很多SDK初学者就不知所措了,因为一个和是一个整数,怎么显示这个整数给我们呢,通过对话框? MessageBox,可是MessageBox显示的是字符串。
而我们这里又不是控制台程序可以使用printf之类的格式化输出函数来输出数字,也不能使用cout 之类的C++对象来输出,那我们怎么办呢? 通过对话框来显示结果是不错的选择,但是对话框需要的是字符串,那我们就把我们的结果格式化到一个字符串里面,然后传送给MessageBox让它显示出来。
那么就需要用到格式化字符串函数,下面我们就介绍wsprintf 这个函数
#ifdef UNICODE
#define wsprintf wsprintfW
#else
#define wsprintf wsprintfA
#endif // !UNICODE
说它是函数,是不确切的。
因为它实际是一个宏,根据环境被定义成不同的函数名wsprintfW或者wsprintfA,而我们为了程序的通用性,直接使用wsprintf,传递的参数凡是涉及到字符串常量的我们都是用_T()宏,字符串指针的我们都使用LPTSTR和LPCTSTR。
下面我就先贴出添加了功能的程序代码,然后在做分析,你可以先不看分析,自己看一看代码,不懂的猜一猜它的意思。
/* BY beyondcode */
#include <windows.h>
#include <tchar.h>
int WINAPI _tWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nShowCmd )
{
int sum = 0;
for( int i = 1; i<=10; i++ )
sum += i;
TCHAR strSum[256] = { 0 };
wsprintf( strSum, _T("%d"), sum );
MessageBox( NULL, strSum, _T("Title"), MB_OK );
return 0;
}
怎么样,也还不算复杂吧,计算1到10的那部分不用我讲了吧,最后的结果存放在sum 这个变量里,我们现在的目的就是要让它显示在MessageBox弹出的对话框上面。
首先我们定义一个字符数组,我使用的是通用类型TCHAR,然后把它全部初始化为0。
接着调用格式化字符函数wsprintf,它的第一个参数是LPTSTR类型的,指定经过格式化的字符串存放的地方,第二个参数是指定以什么格式来格式化后面的数据,这里我们要格式化一个整数,所以指定%d,这个和printf这些函数是一样的,后面的参数就是我们要格式化的数据了。
这里还有一点可能有些新手朋友们不太懂,那就是,wsprintf要求的第一个参数是LPTSTR,而我传递的是一个TCHAR的数组名,这里我就在啰嗦一次咯,我们假设我们的环境是UNICODE的,那么LPTSTR相当于什么类型呢? 上一篇就讲过的啊,就是wchar_t* 就是宽字符指针,而我们知道数组名就是代表这个数组元素类型的指针,那么这里TCHAR 数组的元素类型就是TCHAR,在Unicode环境下,TCHAR就是wchar_t也就是说strSum 代表的是wchar_t类型的指针,也就是wchar_t*,所以看到了吗,他们是一样的类型。
通过上面的wsprintf函数的调用strSum这个字符数组中就包含了计算结果的字符串表示,然后我们通过MessageBox讲这个字符数组中的内容显示出来。
在这里MessageBox的第二个参数类型是LPCTSTR,也就是const wchar_t*, 而我们上面说过我们的strSum代表的是 wchar_t*,这里同样可以传递给它又是为什么呢?这是因为阿,这里strSum在传递给MessageBox的时候就隐式转换成了const wchar_t*了。
有关格式化字符串的函数还有如下,详细用法各位可以查看MSDN,和上面所介绍的都差不多
sprintf 单字节版本的C/C++库函数
swprintf 宽字节版本的C/C++库函数
而我们上面的wsprintf和上面两个函数看起来很相似,大家不要搞混淆了啊,wsprintf 最前面的w不是代表Wide,宽字节的意思了,而是Windows的W,代表是windows的API 函数了,其实它是一个宏这在上面已经说过了,真正的API函数其实是wsprintfA和wsprintfW这两个,在不严格的情况下通常我们也说wsprintf是函数,只要大家懂就行了~。