自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 资源 (15)
  • 收藏
  • 关注

原创 利用openSMILE进行声音特征提取

声音特征提取资源下载FFMPEG-win64下载opensmile-2.3.0.zip下载opensmile提取特征配置参数修改根据论文“C. Acoustic Feature Extraction: openSMILE ”小节,配置修改如下:配置文件路径:config/shared/FrameModeFunctionals.conf.incframeMode = fixedfr...

2019-02-14 09:51:40 2838 5

原创 C++调用python训练的pytorch模型(四)-----C++向python传输图片

C++向python传输图片参考:c++向python传输图片 高效方法 mat转numpy参考:c++ 调用python传输图片c++代码实现#include <Python.h>#include <memory>#include <iostream>#include <vector>#include <opencv2/cor...

2018-12-11 14:06:13 2793

原创 C++调用python训练的pytorch模型(三)----- 实战:封装pytorch模型

文章目录封装python 模型 SDK准备好python api函数C++调用python api生成so文件调用模型SDKdemomakefile执行demo封装python 模型 SDK准备好python api函数python代码# webcam_test.pyglobal g_modeldef load_model(wkspace_dir,cfg_file): # pr...

2018-12-05 16:17:51 10082 7

原创 C++调用python训练的pytorch模型(二)-----C++调用python例子

文章目录python代码C++代码参考:1 参考:2C++/Python如何在C++中使用一个Python类? (Use Python-defined class in C++)python代码# test_python.pydef hello(s): print("python: hello: %s " %s)def add(a,b): print("python...

2018-12-05 16:15:58 3249 2

原创 C++调用python训练的pytorch模型(一)--makefile编写基础

单个源文件编译# source object targetSOURCE := demo.cppOBJS := demo.oTARGET := demo# compile and lib parameterCC := g++# 用于编译时调用soLIBS := -lLibHandsDetect -lpython3.6mLDFLAGS := -L. \ ...

2018-12-05 16:13:56 3755 1

原创 Proxyee_down 3.2的下载与安装

Proxyee_down 3.2的下载与安装前言​ 由于百度网盘进行了限速,如果下载个比较大的文件会等待很长时间。Proxyee_down工具是用来下载百度网盘软件的工具。因为软件的作者Monwei在3.x版本在github中发布了jar包,运行需要java环境。安装Java环境下载网址选择并下载jdk-8u181-windows-x64.exe,安装成功。安装 Prox...

2018-10-17 10:15:29 10468 2

原创 Linux shell脚本编写

#/bin/shDATA_DIR="/data/hands2018"WKSPACE_DIR="/home/gary/wkspace/detectron"export LD_LIBRARY_PATH=/usr/local/cv33/lib:/usr/local/ana2/pkgs/opencv-3.3.1-py27h6cbbc71_1/lib:${LD_LIBRARY_PATH}# 创...

2018-08-31 17:06:11 290

转载 数据结构与算法(一)---Huffman编码

哈夫曼树哈夫曼树

2018-05-17 14:18:21 813

转载 vim常用命令及使用技巧

vim常用命令及使用技巧常用命令使用技巧 命令 功能说明 重要程度 ciw/ci[/ci”/ci( ‘i’-表示in.多使用 ciw, ci[, ci”, ci( 以及 diw, di[, di”, di( 命令来快速改写/删除文本 @: 使用 @: 重复执行上一次 Ex 命令,比如 :nohl, @:, @:, @: ...

2018-04-20 14:31:57 414

转载 设计模式笔记

参考 JAVA设计模式之原型模式 23种设计模式总结

2018-04-20 09:26:06 197

原创 常用效率工具- cygwin、tmux、xmind、free commander、everything

cygwin下载 下载安装 1. choose a download site 添加163镜像:http://mirrors.163.comselect package 选择工具: (1)openssh - 用来ssh方式登录linux服务器 ssh name@ip(2)tmux - cygwin 终端分屏工具 快捷键: 先按下 tmux,再...

2018-04-18 17:33:41 1089

转载 python学习(六)--- 绘图

Python绘图

2018-04-17 11:23:42 567

原创 Google Test 使用

作者:dahaoshen 链接:https://www.nowcoder.com/discuss/30166?type=2&order=3&pos=12&page=1 来源:牛客网2.针对项目提问 2.1 逻辑回归的目标函数和优化方法 答:不多说,目标函数是服从二项分布的似然函数,优化常用的是梯度下降法 2.3 讲下拟牛顿法 答:对比了下梯度下降法只是泰勒的一阶展开式,而牛顿法是泰勒的二

2018-04-14 11:14:32 546

转载 C++ delete报错原因

C++ delete报错原因(https://blog.csdn.net/tianxia_taiping/article/details/10928927)

2018-04-13 14:44:51 1239

原创 设计模式 - C++单例及线程安全

单例介绍 (1) 单例类保证全局只有一个唯一的实例对象。 (2) 单例类保证只有唯一的接口获取这唯一实例。最常见的实现方式class singleton {private: /* 禁止类被构造、复制、赋值*/ singleton() {}; singleton(const singleton&) = delete; sing...

2018-04-12 20:50:57 319

转载 StarUML 使用

https://blog.csdn.net/monkey_d_meng/article/details/5995610/ https://blog.csdn.net/yangbodong22011/article/details/53032545 http://docs.staruml.io/en/latest/

2018-04-12 15:23:45 208

转载 VS2015下Log4Cplus编译及其使用、Log4Cplus配置文件使用

简介log4cplus是log4j的c++移植版,是c++中一个很好的打印日志的库。它与另外一个c++的log库log4cxx相比较,好处是不依赖于libapr和libaprutil,可以静态链接到程序中,便于部署。安装tar xvzf log4cplus-x.x.x.tar.gzcd log4cplus-x.x.x./configure –prefix=/where/to...

2018-04-11 16:43:04 1325

原创 cstring、string、lpwstr、lpstr、char*之间相互转换

cstring 转换为cstring 转换为 */* cstring 转 string */CString cs(_T("cs")); string s; s = (LPCSTR)(CStringA)(cs); /* CString转换成LPCWSTR、LPWSTR、LPCSTR、LPSTR *///VS2005中CString已经改为宽字符型LPWSTR lpstr = (LPW

2018-04-11 16:40:51 10619

原创 FFMPEG学习(三)---【开发】音视频分离并实现同步播放

前文参考FFMPEG学习(二)—【开发】基于SDL2.0实现视频文件的播放

2018-03-21 20:16:51 1287

原创 FFMPEG学习(二)---【开发】基于SDL2.0实现视频文件的播放

下载下载share版本和Dev版本 Dev版本有相应的头文件和lib库 Share版本有exe和dll文件下载SDL2.0建立VS工程配置 1.将ffmpeg、sdl的头文件路径加入到【VC++目录】-【包含目录】中; 2.将ffmpeg、sdl的lib文件路径加入到【VC++目录】-【库目录】中; 3.将ffmpeg、sdl的lib文件...

2018-03-21 20:11:52 504

原创 Linux下离线安装gdb调试环境

Windows与Linux共享文件putty有自带的工具psftp.exe 在Windows cmd下执行 psftp linux用户名@Linux_IP 采用 put方法 put test.txt 如下所示: 编译Vim8.0源代码下载 Vim8.0编译//解压缩tar jxf vim-8.0.tar.bz2//切换目录cd /vim80/sr

2018-03-13 11:17:13 2981

原创 SSH远程登录工具-Putty初步使用

软件下载putty打包下载——程序、字体、配色方案推荐另一款软件MTPuTTY(多标签、能记住密码)putty配色方案 个性化配置putty并保存配置

2018-03-09 17:19:29 3555

原创 python学习(五)--- 处理Excel

#打开excel文件返回目标sheetdef OpenExcelFile(): wb = load_workbook(excel_file_path_) #print(wb.sheetnames) sheet = wb.get_sheet_by_name('Sheet1') #print(sheet['C'][0].value) print('max co...

2018-02-24 11:48:42 179

原创 python学习(四)---多进程处理

xx

2018-02-24 09:51:08 217

转载 C/C++面试知识点全集

知识点const 有什么用途主要有三点:1:定义只读变量,即常量 2:修饰函数的参数和函数的返回值 3: 修饰函数的定义体,这里的函数为类的成员函数,被const修饰的成员函数代表不修改成员变量的值指针和引用的区别1:引用是变量的一个别名,内部实现是只读指针2:引用只能在初始化时被赋值,其他时候值不能被改变,指针的值可以在任何时候被改变3:引用不能为NULL,指针可以为NULL4:引用变量内存单

2018-02-11 14:32:18 210

原创 深度学习(三)---Caffe编译、框架、配置

Linux编译Caffe重点:linux(ubuntu)下的caffe编译安装make -j4 /*make run 4 jobs in parallel*/遇到的问题1. C++ 11 版本不对 A:在makefile中指定编译C++版本,使用 -std=c++11,如下所示: COMMON_FLAGS += -std=c++11 2. Opencv库链...

2018-01-24 17:46:28 232

原创 VisualStudio工程设置(四)---.常见问题

编译链接<库目录>和<附加依赖项>的区别? 库目录只是查找目录,类似环境变量PATH;具体用哪一个需要指明的,如果不在附加依赖项里填上,就需要在代码里用#pragma comment(lib, “xxx.lib”)来手动指定了。你写代码读写一个文件需要写明文件名吧,这个文件名就相当于那个lib , 但读写这个文件可以不写全路径,就是因为有工作目录的存在...

2018-01-24 14:58:19 281

原创 VisualStudio工程设置(三)---.props工程属性文件的使用

新建属性表在【属性管理器】中右击选择【添加新项目属性...】,生成test.props文件。编辑文件,如下:<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ImportGroup La

2018-01-23 17:47:57 7809

原创 人脸识别源码分析

总体流程检测模型训练流程Created with Raphaël 2.1.0编译Caffe准备带有标签的数据调整网络结构和参数训练模型人脸检测dll开发流程Created with Raphaël 2.1.0Caffe源码 + 带有标签的数据训练生成dat模型holiday在caffe的基础上裁剪生成此基础上封装Au、Emotion等dll库End人脸检测SDK封装流程Created with Ra

2018-01-23 09:57:34 770

原创 python学习(三)---数值计算(矩阵,数据预处理)

numpy模块python之numpy的基本使用numpy 官方文档矩阵计算Python将数组(矩阵)存成csv文件,将csv文件读取为数组(矩阵)import numpy # 打开文件my_matrix = numpy.loadtxt(open(&quot;c:\\1.csv&quot;,&quot;rb&quot;),delimiter=&quot;,&quot;,skiprows=0) # 保持文件numpy...

2018-01-11 14:46:55 1382

原创 深度学习(二)---tflearn分类,tensorboard安装、使用

几个概念batch_size、epochsample_size = 20000; //样本为20000个 batch_size = 64;//64个样本为一批进行一次训练 epoch = 200; //全部样本训练完一次,记1个epoch深度机器学习中的batch的大小对学习效果有何影响?Tensorflow训练TensorFlow系列03——TensorFlow基本概念Tensor理解tfle

2017-12-18 16:08:00 671

原创 OpenCV学习之路(二)-图片特征提取、图片翻转

图像翻转//void flip(InputArray src, OutputArray dst, int flipCode)void main() { Mat img = imread("hello.png"); Mat dst1; Mat dst2; Mat dst3; //向右翻转 flip(img, dst1, 1); //向下翻转

2017-11-28 16:04:58 619

原创 chrome浏览器vim插件---cvim插件、目录操作【推荐使用 Surfingkeys插件,更加强大】

cvimcvim 是chrome的插件,使用vim方式方便快捷的操作浏览器。配置set defaultnewtabpagelet mapleader= &amp;amp;amp;quot;;&amp;amp;amp;quot;let defaultengine = &amp;amp;amp;quot;baidu&amp;amp;amp;quot;let qmark a = [&amp;amp;amp;quot;https://www.baid

2017-11-26 10:24:04 2135

转载 Markdown编辑语法

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-11-16 10:19:41 192

原创 深度学习(一)-CNN原理研究

基本概念协方差矩阵关于协方差矩阵的理解线性与非线性 “线性”=”齐次性”+”可加性”, “齐次性”是指类似于: f(ax)=af(x), “可加性”是指类似于: f(x+y)=f(x)+f(y), 这里没有太多特别的原因, 就是一个名字. “非线性”当然就是这两条至少之一不成立.似然函数如何理解似然函数? 详解最大似然估计(MLE)、最...

2017-10-31 14:58:41 6578

原创 机器学习-网址

视频课程http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17.html人体姿势#https://github.com/ZheC/Realtime_Multi-Person_Pose_Estimation https://github.com/CMU-Perceptual-Computing-Lab/openpose

2017-10-31 10:50:18 296

原创 读书笔记(四)---C++ Primer

C++基础变量类型(1) char 类型是否是有符号由编译器决定。有符号范围为:-128~127 (2) 经验准则 a、明确不能为负时,用无符号; b、用int执行整数运算; c、算术表达式不要有char、bool,如果要用要明确signed char 或 unsigned char; d、浮点运算用 double。 (3) 类型转换 a、当赋值给有符类型超出范围是,是...

2017-10-31 10:07:24 271

原创 VisualStudio工程设置(三)---Pclint集成VS2013及常见用法

集成VS2013安装Pclint 从http://download.csdn.net/detail/finewind/8426979下载破解版的pclint9i版; 点击pclint9setuo.exe将pclint安装到C:\lint下(也可以是其它位置); 将patch下的内容拷贝到C:\lint下,32位系统执行patch.bat,64位系统执行patch64.bat;

2017-10-18 14:58:51 4435

原创 MFC 进行界面设计与编程

总体思路 由UI设计界面背景图片、相关按钮图片等,然后在代码中创建关联控件变量。对于无需变化的背景、按钮,可以不设控件变量关联。一般有以下几个步骤: 1.UI设计界面; 2.创建需要变动的控件变量与之关联,并设置透明; 3.加载图片; 4.创建控件相应消息响应函数。控件开发系统控件创建CStatic ctrl_record_;CRec...

2017-10-02 23:28:10 12454

原创 FFMPEG学习(一)---【命令行】采集视频和音频

FFMPEG常识参数参考:ffmpeg-比特率,帧率和文件大小下载资源下载ffmpeg安装包加入环境变量: e:\ProgramFiles_D\ffmpeg\bin\输入设备 dshow 的使用——视音频录制打印 DirectShow 支持的设备列表(true 可用1替换)ffmpeg -list_devices true -f d...

2017-10-02 21:36:19 8206

实战无线通信应知应会3

实战无线通信应知应会,很实用的一本书,对通信工程师很有价值

2015-07-29

实战无线通信应知应会2

实战无线通信应知应会,很实用的一本书,对通信工程师很有价值

2015-07-29

实战无线通信应知应会1

实战无线通信应知应会,很实用的一本书,对通信工程师很有价值

2015-07-29

LTE空中接口技术与性能

LTE空中接口技术与性能,三大经典LTE教材之一,CSDN里绝无仅有。

2015-07-29

Total Commander(完整版)

最强的文件管理工具,含有各种插件,并附有自己总结的word详细说明文档,难得的资料。

2015-07-29

VC的多种实用技巧

本文包括VC开发的许多实用的技巧,如:如何彻底删除一个类; 如何快速生成一个现有工程除了工程名外完全相同的新工程;等等

2011-12-08

南瑞继保笔试面试题及面经分析

包括笔试题,面经的分享,对于倾心南瑞继保的同学们,还是很有帮助的。

2011-12-07

华为笔试题大全(超多且绝大部分附答案)

总结的华为的笔试题,题目很全很多,对于IT笔试是必备的。

2011-12-07

华为培训资料通信基础知识

华为培训资料通信基础知识,对于通信知识的大补,很受用,共分享!

2011-12-07

趋势科技笔试真题

趋势科技的笔试真题,全英文扫描的很清晰,对于倾心趋势的同学,很具有参考价值。

2011-12-07

Windows 核心编程

目 录 译者序 前言 第一部分 程序员必读 第1章 对程序错误的处理 1 1.1 定义自己的错误代码 4 1.2 ErrorShow示例应用程序 5 第2章 Unicode 11 2.1 字符集 11 2.1.1 单字节与双字节字符集 11 2.1.2 Unicode:宽字节字符集 12 2.2 为什么使用Unicode 13 2.3 Windows 2000与Unicode 13 2.4 Windows 98与Unicode 13 2.5 Windows CE与Unicode 14 2.6 需要注意的问题 14 2.7 对COM的简单说明 14 2.8 如何编写Unicode源代码 15 2.8.1 C运行期库对Unicode的支持 15 2.8.2 Windows定义的Unicode数据类型 17 2.8.3 Windows中的Unicode函数和ANSI 函数 17 2.8.4 Windows字符串函数 19 2.9 成为符合ANSI和Unicode的应用程序 19 2.9.1 Windows字符串函数 19 2.9.2 资源 22 2.9.3 确定文本是ANSI文本还是Unicode 文本 22 2.9.4 在Unicode与ANSI之间转换字符串 23 第3章 内核对象 27 3.1 什么是内核对象 27 3.1.1 内核对象的使用计数 27 3.1.2 安全性 28 3.2 进程的内核对象句柄表 30 3.2.1 创建内核对象 30 3.2.2 关闭内核对象 32 3.3 跨越进程边界共享内核对象 32 3.3.1 对象句柄的继承性 32 3.3.2 改变句柄的标志 35 3.3.3 命名对象 36 3.3.4 终端服务器的名字空间 39 3.3.5 复制对象句柄 39 第二部分 编程的具体方法 第4章 进程 45 4.1 编写第一个Windows应用程序 46 4.1.1 进程的实例句柄 49 4.1.2 进程的前一个实例句柄 50 4.1.3 进程的命令行 50 4.1.4 进程的环境变量 51 4.1.5 进程的亲缘性 54 4.1.6 进程的错误模式 54 4.1.7 进程的当前驱动器和目录 54 4.1.8 进程的当前目录 55 4.1.9 系统版本 56 4.2 CreateProcess函数 58 4.2.1 pszApplicationName和 pszCommandLine 59 4.2.2 psa Process、psa Thread和 binherit Handles 60 4.2.3 fdwCreate 62 4.2.4 pvEnvironment 64 4.2.5 pszCurDir 64 4.2.6 psiStartInfo 64 4.2.7 ppiProcInfo 67 4.3 终止进程的运行 69 4.3.1 主线程的进入点函数返回 69 4.3.2 ExitProcess函数 69 4.3.3 TerminateProcess函数 70 4.3.4 进程终止运行时出现的情况 71 4.4 子进程 72 4.5 枚举系统中运行的进程 73 第5章 作业 91 5.1 对作业进程的限制 93 5.2 将进程放入作业 99 5.3 终止作业中所有进程的运行 99 5.4 查询作业统计信息 100 5.5 作业通知信息 103 5.6 JobLab示例应用程序 104 第6章 线程的基础知识 121 6.1 何时创建线程 121 6.2 何时不能创建线程 122 6.3 编写第一个线程函数 123 6.4 CreateThread函数 124 6.4.1 psa 124 6.4.2 cbStack 124 6.4.3 pfnStartAddr和pvParam 125 6.4.4 fdwCreate 126 6.4.5 pdwThreadID 126 6.5 终止线程的运行 127 6.5.1 线程函数返回 127 6.5.2 ExitThread函数 127 6.5.3 TerminateThread函数 127 6.5.4 在进程终止运行时撤消线程 128 6.5.5 线程终止运行时发生的操作 128 6.6 线程的一些性质 129 6.7 C/C++运行期库的考虑 131 6.7.1 Oops—错误地调用了Create Thread 138 6.7.2 不应该调用的C/C++运行期库函数 138 6.8 对自己的ID概念应该有所了解 139 第7章 线程的调度、优先级和亲缘性 142 7.1 暂停和恢复线程的运行 143 7.2 暂停和恢复进程的运行 144 7.3 睡眠方式 145 7.4 转换到另一个线程 145 7.5 线程的运行时间 146 7.6 运用环境结构 148 7.7 线程的优先级 152 7.8 对优先级的抽象说明 153 7.9 程序的优先级 156 7.9.1 动态提高线程的优先级等级 158 7.9.2 为前台进程调整调度程序 159 7.9.3 Scheduling Lab示例应用程序 160 7.10 亲缘性 167 第8章 用户方式中线程的同步 172 8.1 原子访问:互锁的函数家族 172 8.2 高速缓存行 177 8.3 高级线程同步 178 8.4 关键代码段 180 8.4.1 关键代码段准确的描述 182 8.4.2 关键代码段与循环锁 185 8.4.3 关键代码段与错误处理 185 8.4.4 非常有用的提示和技巧 186 第9章 线程与内核对象的同步 190 9.1 等待函数 191 9.2 成功等待的副作用 194 9.3 事件内核对象 195 9.4 等待定时器内核对象 204 9.4.1 让等待定时器给APC项排队 207 9.4.2 定时器的松散特性 209 9.5 信标内核对象 210 9.6 互斥对象内核对象 211 9.6.1 释放问题 213 9.6.2 互斥对象与关键代码段的比较 214 9.6.3 Queue示例应用程序 214 9.7 线程同步对象速查表 223 9.8 其他的线程同步函数 224 9.8.1 异步设备I/O 224 9.8.2 WaitForInputIdle 224 9.8.3 MsgWaitForMultipleObjects (Ex) 225 9.8.4 WaitForDebugEvent 225 9.8.5 SingleObjectAndWait 226 第10章 线程同步工具包 228 10.1 实现关键代码段:Optex 228 10.2 创建线程安全的数据类型和反信标 239 10.3 单个写入程序/多个阅读程序的保护 251 10.4 实现一个WaitForMultipleExpressions 函数 259 第11章 线程池的使用 274 11.1 方案1:异步调用函数 275 11.2 方案2:按规定的时间间隔调用函数 277 11.3 方案3:当单个内核对象变为已通知状态 时调用函数 283 11.4 方案4:当异步I/O请求完成运行时调用 函数 285 第12章 纤程 287 12.1 纤程的操作 287 12.2 Counter示例应用程序 289 第三部分 内 存 管 理 第13章 Windows的内存结构 299 13.1 进程的虚拟地址空间 299 13.2 虚拟地址空间如何分区 300 13.2.1 NuLL 指针分配的分区—适用于 Windows 2000和Windows 98 300 13.2.2 MS-DOS/16位Windows 应用程序兼容 分区—仅适用于Windows 98 301 13.2.3 用户方式分区—适用于Windows 2000 和Windows 98 301 13.2.4 64 KB禁止进入的分区—仅适用 于Windows 2000 302 13.2.5 共享的MMF分区—仅适用于 Windows 98 303 13.2.6 内核方式分区—适用于Windows 2000和Windows 98 303 13.3 地址空间中的区域 303 13.4 提交地址空间区域中的物理存储器 304 13.5 物理存储器与页文件 304 13.6 保护属性 307 13.6.1 Copy-On-Write 访问 308 13.6.2 特殊的访问保护属性的标志 309 13.7 综合使用所有的元素 309 13.7.1 区域的内部情况 312 13.7.2 与Windows 98地址空间的差别 315 13.8 数据对齐的重要性 319 第14章 虚拟内存 323 14.1 系统信息 323 14.2 虚拟内存的状态 330 14.3 确定地址空间的状态 336 14.3.1 VMQuery函数 337 14.3.2 虚拟内存表示例应用程序 343 第15章 在应用程序中使用虚拟内存 354 15.1 在地址空间中保留一个区域 354 15.2 在保留区域中的提交存储器 355 15.3 同时进行区域的保留和内存的提交 356 15.4 何时提交物理存储器 357 15.5 回收虚拟内存和释放地址空间区域 358 15.5.1 何时回收物理存储器 359 15.5.2 虚拟内存分配的示例应用程序 360 15.6 改变保护属性 368 15.7 清除物理存储器的内容 369 15.8 地址窗口扩展—适用于 Windows 2000 372 第16章 线程的堆栈 385 16.1 Windows 98下的线程堆栈 387 16.2 C/C++运行期库的堆栈检查函数 389 16.3 Summation示例应用程序 390 第17章 内存映射文件 397 17.1 内存映射的可执行文件和DLL 文件 397 17.1.1 可执行文件或DLL的多个实例 不能共享静态数据 398 17.1.2 在可执行文件或DLL的多个实 例之间共享静态数据 400 17.1.3 AppInst示例应用程序 404 17.2 内存映射数据文件 409 17.2.1 方法 1:一个文件,一个缓存 409 17.2.2 方法 2:两个文件,一个缓存 409 17.2.3 方法 3:一个文件,两个缓存 410 17.2.4 方法 4:一个文件,零缓存 410 17.3 使用内存映射文件 410 17.3.1 步骤 1:创建或打开文件内核 对象 411 17.3.2 步骤 2:创建一个文件映射内核 对象 412 17.3.3 步骤 3:将文件数据映射到进程 的地址空间 414 17.3.4 步骤4:从进程的地址空间中撤消 文件数据的映像 416 17.3.5 步骤 5和步骤 6:关闭文件映射对象 和文件对象 417 17.3.6 文件倒序示例应用程序 418 17.4 使用内存映射文件来处理大文件 426 17.5 内存映射文件与数据视图的相关性 427 17.6 设定内存映射文件的基地址 428 17.7 实现内存映射文件的具体方法 429 17.8 使用内存映射文件在进程之间共享 数据 431 17.9 页文件支持的内存映射文件 431 17.10 稀疏提交的内存映射文件 438 第18章 堆栈 451 18.1 进程的默认堆栈 451 18.2 为什么要创建辅助堆栈 452 18.2.1 保护组件 452 18.2.2 更有效的内存管理 453 18.2.3 进行本地访问 453 18.2.4 减少线程同步的开销 453 18.2.5 迅速释放堆栈 453 18.3 如何创建辅助堆栈 454 18.3.1 从堆栈中分配内存块 455 18.3.2 改变内存块的大小 456 18.3.3 了解内存块的大小 456 18.3.4 释放内存块 457 18.3.5 撤消堆栈 457 18.3.6 用C++程序来使用堆栈 457 18.4 其他堆栈函数 460 第四部分 动态链接库 第19章 DLL基础 463 19.1 DLL与进程的地址空间 464 19.2 DLL的总体运行情况 465 19.3 创建DLL模块 467 19.3.1 输出的真正含义是什么 469 19.3.2 创建用于非Visual C++工具 的DLL 471 19.4 创建可执行模块 472 19.5 运行可执行模块 474 第20章 DLL的高级操作技术 477 20.1 DLL模块的显式加载和 符号链接 477 20.1.1 显式加载DLL模块 478 20.1.2 显式卸载DLL模块 479 20.1.3 显式链接到一个输出符号 480 20.2 DLL的进入点函数 481 20.2.1 DLL_PROCESS_ATTACH通知 482 20.2.2 DLL_PROCESS_DETACH通知 483 20.2.3 DLL_THREAD_ATTACH通知 485 20.2.4 DLL_THREAD_DETACH通知 485 20.2.5 顺序调用DllMain 486 20.2.6 DllMain与C/C++运行期库 488 20.3 延迟加载DLL 489 20.4 函数转发器 499 20.5 已知的DLL 499 20.6 DLL转移 500 20.7 改变模块的位置 501 20.8 绑定模块 506 第21章 线程本地存储器 509 21.1 动态TLS 509 21.2 静态TLS 513 第22章 插入DLL和挂接API 515 22.1 插入DLL:一个例子 515 22.2 使用注册表来插入DLL 517 22.3 使用Windows挂钩来插入DLL 518 22.4 使用远程线程来插入DLL 531 22.4.1 Inject Library 示例应用程序 534 22.4.2 Image Walk DLL 541 22.5 使用特洛伊DLL来插入DLL 544 22.6 将DLL作为调试程序来插入 544 22.7 用Windows 98上的内存映射文件 插入代码 544 22.8 用CreateProcess插入代码 544 22.9 挂接API的一个示例 545 22.9.1 通过改写代码来挂接API 546 22.9.2 通过操作模块的输入节来挂接API 546 22.9.3 LastMsgBoxInfo示例应用程序 549 第五部分 结构化异常处理 第23章 结束处理程序 565 23.1 通过例子理解结束处理程序 566 23.2 Funcenstein1 566 23.3 Funcenstein2 566 23.4 Funcenstein3 568 23.5 Funcfurter1 568 23.6 突击测验:FuncaDoodleDoo 569 23.7 Funcenstein4 570 23.8 Funcarama1 571 23.9 Funcarama2 572 23.10 Funcarama3 572 23.11 Funcarama4:最终的边界 573 23.12 关于finally块的说明 574 23.13 Funcfurter2 575 23.14 SEH结束处理示例程序 576 第24章 异常处理程序和软件异常 578 24.1 通过例子理解异常过滤器和异常处理 程序 578 24.1.1 Funcmeister1 578 24.1.2 Funcmeister2 579 24.2 EXCEPTION_EXECUTE_HANDLER 580 24.2.1 一些有用的例子 581 24.2.2 全局展开 583 24.2.3 暂停全局展开 585 24.3 EXCEPTION_CONTINUE_ EXECUTION 586 24.4 EXCEPTION_CONTINUE_ SEARCH 588 24.5 Get Exception Code 589 24.6 Get Exception Information 592 24.7 软件异常 595 第25章 未处理异常和C++异常 598 25.1 即时调试 600 25.2 关闭异常消息框 601 25.2.1 强制进程终止运行 601 25.2.2 包装一个线程函数 601 25.2.3 包装所有的线程函数 601 25.2.4 自动调用调试程序 602 25.3 程序员自己调用UnhandledException Filter 602 25.4 UnhandledExceptionFilter函数的一些 细节 603 25.5 异常与调试程序 604 25.6 C++异常与结构性异常的对比 618 第六部分 窗 口 第26章 窗口消息 623 26.1 线程的消息队列 623 26.2 将消息发送到线程的消息队列中 625 26.3 向窗口发送消息 626 26.4 唤醒一个线程 630 26.4.1 队列状态标志 630 26.4.2 从线程的队列中提取消息的 算法 631 26.4.3 利用内核对象或队列状态标 志唤醒线程 634 26.5 通过消息发送数据 636 26.6 Windows如何处理ANSI/Unicode 字符和字符串 642 第27章 硬件输入模型和局部输入状态 645 27.1 原始输入线程 645 27.2 局部输入状态 646 27.2.1 键盘输入与焦点 647 27.2.2 鼠标光标管理 649 27.3 将虚拟输入队列同局部输入状态挂接 在一起 651 27.3.1 LISLab 示例程序 652 27.3.2 LISWatch 示例程序 666 第七部分 附 录 附录A 建立环境 675 附录B 消息分流器、子控件宏和API宏 686

2011-12-07

程序员面试宝典(pdf清晰版)

程序员面试宝典,此版本是清晰版本,免费下载,与大家共享,面试必备的。

2011-12-07

2010宝洁笔试推理题库(带答案及部分解释)

宝洁笔试推理题库(带答案及部分解释),对于应付外企和国企笔试,都是很有帮助。

2011-12-07

Google C++编程规范.pdf

Google C++编程规范,很实用! 目录包括1.头文件;2.作用域;3.类;4.Google特有风情;5.其他C++特性;6.命名约定;7.注释;8格式;9.规则之例外;10.团队合作等十大项内容进行详细阐述。

2011-12-07

空空如也

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

TA关注的人

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