自定义博客皮肤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)
  • 资源 (16)
  • 收藏
  • 关注

原创 无法解析的外部符号 之 __imp__calloc

我们都知道,遇到无法解析的外部符号时,首先想到是不是对应的库没有包含或者对应的库是错误的。今天用到第三方库,遇到一个“无法解析的外部符号 __imp__calloc”。最后发现是第三方的头文件里,对calloc函数进行了重定义。修改后解决。当然还有很多别的原因会导致“无法解析的外部符号”的问题,这时候就需要大家仔细分析符号的定义,包含等原因。...

2018-08-23 12:45:14 4403

转载 编译平台与目标平台不一致导致的麻烦

今天VS2010编的EXE在XP上显示不是有效的win32应用程序,为此,我们需要编写出对环境依赖小的,能到处跑的程序;一、X86,即一般普通PC上跑的程序版本,不用修改工程属性二、X641、设置工程平台---会在工程目录下生成  X64 文件夹在工具栏--->生成--->配置管理器 窗口设置“活动解决方案平台”和“平台” 为X64,“平台”那里没有X6

2017-12-15 11:45:07 991

原创 linux进程退出,线程资源用pthread_detach释放

linux下,用pthread_create创建线程后,线程的默认状态为joinable,如果程序退出,线程没被join,则会有线程的资源没有被释放。调用pthread_join可以,但是程序会再调用该函数后阻塞住。替代的调用pthread_detach,该函数可立即返回,有2种方法。1:子线程里调用:pthrad_detach(pthread_self());2:父线程里调用:p

2017-08-15 15:16:28 4945 4

原创 ffmpeg 返回错误数字含义

我们是用ffmpeg库函数是,例如在调用av_read_frame、avcodec_decode_video2,会给我们返回一个数值。例如错误值-1094995529, 将其转换成十六进制为-0x41444E49,在ACSII中, 0x41 = 'A', 0x44 = 'D', 0x4E = 'N, and 0x49 = 'I'。因为返回的错误值是经过FFERRTAG(可以理解为大小端

2017-08-11 11:35:57 4769

原创 SetPriorityClass 设置当前程序的优先级

在一些特定的情况下,我们需要设定我们程序的优先级比较高,这样能保证在程序的运行过程中,程序几乎不用考虑在被CPU执行时不被其他程序意外抢占。在winbase.h中是这样定义的:1.函数定义:WINBASEAPIBOOLWINAPISetPriorityClass(    __in HANDLE hProcess,    __in DWORD dwPriorityCl

2017-08-09 10:02:12 8405

转载 定义结构体时变量名后的冒号和数字

结构体中会有冒号的情况,如下:    [cpp] view plain copy print?struct frame_control {      u_char fc_subtype : 4;      u_char fc_type : 2;      u_char fc_protocol_version : 2;  

2017-08-04 16:21:12 3192

转载 设置进程的显示名称

有时候在LINUX下,fork子进程的时候,像nginx里的一样,想让子进程的名字可以自定义。参考网上文章之后,可以通过修改argv[0]的值来改变子进程的名字,但是要注意新标题的长度。这时需要注意environ变量。查看nginx源码,大致了解了这个过程。假设需要把a.out的ps名称修改为title,那么需要把title复制到argv[0]指向的内存,并且把argv[1]设为0

2017-08-03 14:34:40 1827

转载 让VC编译出来的程序不依赖于msvcr80.dll/msvcr90.dll/msvcr100.dll等文件

正常情况下,当我们用VC编译出一个Console/Win32类型项目的exe程序时(这里暂不考虑MFC程序),会依赖于msvcrxx.dll文件(xx为不同VC对应的版本号,VC2005为80,VC2008为90,VC2010为100),发布程序的时候,就需要把对应的dll也copy过去,比较不方便。通过以下的方法,可以让exe不依赖于这些dll(不过生成的exe会大很多)以VC2

2017-08-01 17:25:07 589

原创 自己保留。 msys以及MinGW的安装方法与下载地址

http://zengwu3915.blog.163.com/blog/static/27834897201462715824380/

2014-09-18 10:06:20 478

原创 【杂记】引用和指针以及const

直接切入主题: 实现一个计算平方的功能;内联函数:inline double square(double x) {return  x * x; }宏定义:#define square(x) x * x差别:c = 6; 计算square(c++);自己试着写一下,可以分析出差别。

2014-06-11 12:13:35 457

原创 【杂记】内联函数 和 宏定义

直接切入主题: 内联函数:in

2014-06-11 11:41:31 467

转载 刘亚洲:中国历史是一部改善从恶的历史

每每看到类似的文章,都自我感觉非常理解,有时就会忽略,不去读。也会有一些其他原因。以我来说,那些站在国家高处人的文章更能吸引我的眼球,超过媒体的新闻传播。因为相对于媒体,他们的文章在话语间少的是一些官腔,说的话在部分人听来可能是不好听的,但是确是能触动我们心里的,值得我们去思考的。为什么在这里也发下这种类似的文章呢。就是想我们的程序员同胞们,不要每天都值顾着编代码,想代码。要多开阔开阔自己

2014-01-03 10:25:35 1299

原创 使用opus音频编码流程简介

直接切入主题:1.创建一个OpusEncoder类型的对象。 opus_encoder_create()。2.对编码对象进行参数设置。opus_encoder_ctl()。包括比特率,带宽,是否使用vbr等参数信息。3.当然就是音频编码啦。opus_encode(),该函数返回编码的后的音频长度。4.使用完成之后,别忘记删除这个OpusEncoder对象,opus_encoder_

2013-12-30 10:33:45 4432 3

原创 使用DirectSound进行PCM声音采集

msdn有directsound函数的讲解,网上有类似流程的例子。我就不说废话了哈,直接说一下步骤, 因为步骤清楚了,自然写起来就不那么费劲了。^ 。^第一步:初始化 CoInitialize();第二步:创建一个LPDIRECTSOUNDCAPTURE8类型的设备,我用的DirectSoundCaptureCreate8()第三步:创建一个LPDIRECTSOUNDCAPTUREBU

2013-12-23 16:15:36 1507

转载 GetLastError的返回值的含义:

GetLastError的返回值的含义:(0)-操作成功完成。(1)-功能错误。(2)- 系统找不到指定的文件。(3)-系统找不到指定的路径。(4)-系统无法打开文件。(5)-拒绝访问。(6)-句柄无 效。(7)-存储控制块被损坏。(8)-存储空间不足,无法处理此命令。(9)-存储控制块地址无效。(10)-环境错 误。(11)-试图加载格式错误的程序

2013-12-19 14:24:57 1159

原创 关于socket编程的小总结

最近在写一些socket小程序,因为是初次写,所以在一些细节上遇到一些问题,这里说一下我队这些问题的理解,如果不正确,欢迎指正。在我的程序中,我想把发送和接收数据的操作分别放在两个线程中,即发送线程和接收线程。在最初的实现中,我的两个线程使用的是共同的一个socket以及端口号,接收和发送信息到服务器。服务器通过获得的我的ip及端口号,返回给我发送到服务器的字串。在实验过程中,发现我启

2013-12-19 14:11:31 548

原创 选择排序法

今天看了一些关于c++算法的文章。发现自己在大学时候学习的数据结构和算法相当的烂啊。关于一些排序方法就已经忘记的很多了,虽然部分算法有些印象。这里我就来说说选择排序法的简单的算法:共有n个数据,第i次,将第i个数据对其后的每个数据进行比较,比较的次数为n-i次。记录最小的数据,然后将最小的数据同第i个数据相交换。直到所有数据比较完成。{ 48  62 34 74 55 13 3

2013-12-17 15:52:23 491

原创 windows编程小小总结

这几天闲来无事,把自己的socket小程序改成了win应用程序。想让自己对windows编程多动动手,记下自己忽略的小东西。如果大牛扫过,请直接无视吧。1.创建窗口的类型。 编辑框类“edit”; 文本框类“text” 等等; 对于在编辑框中实现多行显示,就是在createwindow中,将第四个参数加一个ES_MULTILINE;2.获取窗口的输入文字等。 因为工程多为unicode版本

2013-12-17 11:48:40 547

原创 信号量简单使用流程

1.创建一个信号量: createsemaphore()。 函数的讲解网上很容易搜到;2.对创建的信号量进行计数+1操作: releasesemaphore()。3.对信号量计数进行-1操作,也就是wait操作:waitforsingleobject();4.删除信号量:closehandle();很简单,不知道对初学者有没有简单的帮助。我在这里标注一下,是因为对它还不

2013-12-17 11:26:44 763

原创 hook direct3d的Present时的注意事项

大家根据msdn上的函数可以获取到direct3d中的数据,自己弄一下就好。写的时候主要注意pitch的宽度和从swapchain中读取的宽度可能不一样,这时候在写进文件要注意使用那个宽度。

2013-09-23 16:48:03 1877

原创 【求助】求D3D8多次初始化的一个问题

求大牛解答一下,D3D8的游戏,在多次初始化时的步骤大概是怎样的? 比如一个游戏登陆界面一个样,然后加载地图之后,需要重新初始化D3D8,这之间的操作时怎样的呢?

2013-09-17 10:38:19 633 1

原创 【求助】D3D9,怎样利用IDirect3DSurface9资源

小弟知道D3DXSaveSurfaceToFile这个函数可以将IDirect3DSurface9类型的后台缓冲保存成图片,但是我现在想自己使用IDirect3DSurface9这个资源,自己写函数实现保存IDirect3DSurface9资源为图片,不知道应该怎么操作通过getbuffer获得的这个类型的指针,求大神前来支招。小弟先感谢一下了!

2013-09-09 17:17:10 2053 2

原创 dllmain中不能创建线程

昨天在dllmain中创建了一个线程,但就是无法进入自己的线程。怪我自己学艺不精、马虎,在dllmain后没有return一个值,所以没有进入创建的线程。

2013-09-03 11:44:27 1374

原创 DLL中怎么创建D3D10的交换链

如题,我在dll中,调用d3d10.dll里面的createdeviceandswapchain函数创建交换链的时候,提示不能再dllmain中调用IDXGICreate..我应该怎么在dll中创建交换链呢?

2013-08-30 14:06:25 781 1

原创 __uuidof()函数

昨天在用swapchain的swap->GetBuffer(0, IID_ID3D10Resource, (void**)&backBuffer))),获取后台缓冲地址的时候,总是提示找不到IID_ID3D10Resource,但是通过相关头文件,vs确实可以找到它的类定义,就是返回未定义,后在用了__uuidof : if(SUCCEEDED(hRes = swap->GetBuffer(0,

2013-08-30 10:30:57 2280

原创 GETMODULEHANDLE总是返回null

大牛别喷,小弟第一次做这个,今天在用这个函数获取一个dll时,发现总是返回null。我就开始纳闷了,我是照着开源的项目写的呀,怎么会呢?于是上网查了一下,原来这个函数获取加载到进程的dll,不加载不行。可能那个开源的项目前面加载了,我没看到。 然后我就loadlibrary这个dll之后,就可以了- -。自己总结一下,大牛别喷- -

2013-08-30 10:26:51 1363

原创 【求助】 如何使用ID3D10resource资源

如题,我用ID3D10Device->CopyResource的方法拷贝了d3d10的backbuffer的数据,但是我应该怎样使用这个数据?把他保存成位图图像?d3d9有D3DXSaveSurfaceToFile的方法,不知道d3d10有没有类似的方法?第二个问题,求大神指导一下,我hook到指定进程,从dll中获取到了backbuffer的数据,怎么显示到我自己指定的窗口呢?如果用到了

2013-08-29 17:06:09 831 2

转载 CreateFileMapping和MapViewOfFile

在开发软件过程里,也经常碰到进程间共享数据的需求。比如A进程创建计算数据,B进程进行显示数据的图形。这样的开发方式可以把一个大程序分开成独立的小程序,提高软件的成功率,也可以更加适合团队一起开发,加快软件的开发速度。下面就来使用文件映射的方式进行共享数据。先要使用函数CreateFileMapping来创建一个想共享的文件数据句柄,然后使用MapViewOfFile来获取共享的内存地址,然后使用O

2013-08-27 15:25:28 949

转载 C++标准转换运算符reinterpret_cast

自己在这留一下:  http://www.cnblogs.com/ider/archive/2011/07/30/cpp_cast_operator_part3.html

2013-07-11 15:40:02 482

转载 C语言位运算详解

位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。C语言提供的位运算符列表:运算符 含义 描述& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0| 按位或 两个相应的二进制位中只要有一个为1,该位的结果值为1

2013-07-11 10:52:38 499

转载 Windows SDK笔记

Windows SDK笔记(一):Windows程序基本结构一、概述Windows程序具有相对固定的结构,对编写者而言,不需要书写整个过程,大部分过程由系统完成。程序中只要按一定的格式填写系统留给客户的那一小部分。所需要完成的有:窗口类的定义、窗口的建立、消息函数的书写、消息循环。 二、消息处理函数Windows程序是事件驱动的,对于一个窗口,它的大部分例行

2013-07-10 16:14:51 615

转载 CALLBACK回调函数详解

凡是由你设计却由windows系统呼叫的函数,统称为callback函数。某些API函数要求以callback作为你参数之一。如 SetTimer,LineDDA,EnumObjects。   回调函数是由开发者按照一定的原形进行定义的函数(每个回调函数都必须遵循这个原则来设计)例如:----------------------------------------BOO

2013-07-10 16:12:56 796

转载 消息处理函数LRESULT CALLBACK WndProc()、应用程序主函数int WINAPI WinMain ()

一、消息处理函数 LRESULT CALLBACK WndProc();//二、应用程序主函数int WINAPI WinMain ()Windows程序是事件驱动的,对于一个窗口,它的大部分例行维护是由系统维护的。每个窗口都有一个消息处理函数。在消息处理函数中,对传入的消息进行处理。系统内还有它自己的缺省消息处理函数。     客户写一个消息处理函数,在窗口建立前

2013-07-10 16:12:12 1281 1

原创 那些年 那段青春 那些感动过的话 那些回不去的刻骨记忆

你瘦的时候住进我心里,后来胖了,便卡在里面出不来了。

2013-07-10 14:37:00 563

原创 涉及到的函数(自己查看使用,文章格式很乱)

GetWindowLongPtr http://msdn.microsoft.com/en-us/library/windows/desktop/ms633585(v=vs.85).aspxSetWindowLongPtr http://msdn.microsoft.com/en-us/library/windows/desktop/ms644898(v=vs.85).aspx

2013-07-10 14:09:06 1217

转载 Linux cpuinfo 详解

在Linux系统中,如何详细了解CPU的信息呢? 当然是通过cat /proc/cpuinfo来检查了,但是比如几个物理CPU/几核/几线程,这些问题怎么确定呢?经过查看,我的开发机器是1个物理CPU,4核8线程,Intel(R) Core(TM) i7 CPU 860  @ 2.80GHz记录一下,判断的过程和知识。 判断依据:1.具有相同core id的

2013-07-09 15:48:57 814

转载 HMODULE

HMODULE表示模块句柄Handle 是代表系统的内核对象,如文件句柄,线程句柄,进程句柄。HMODULE 是代表应用程序载入的模块,win32系统下通常是被载入模块的线性地址。HINSTANCE 在win32下与HMODULE是相同的东西,在Win32下还存在主要是因为win16程序使用HINSTANCE来区别task。HWND 是窗口句柄  在

2013-07-09 11:25:39 4398

转载 [转载]GetCurrentProcessID、OpenProcessToken、LookupPrivilegeValue、AdjustTokenPrivileges

GetCurrentProcessID            得到当前进程的ID   OpenProcessToken          得到进程的令牌句柄LookupPrivilegeValue          查询进程的权限AdjustTokenPrivileges          判断令牌权限              要对一个任意进程(包括系统安全进程和服务进程)进

2013-07-09 10:25:34 638

转载 转一篇进程权限的文章!

权限提升的作用如果在Windows 98我们要实现用程序关机或重启,只要调用一个API函数ExitWindowsEx()就搞定了。可是在2000/XP下,你会发现你刚刚编的关机程序一点作用都不起! 为什么呢?这是由于在NT或2000以上的系统,要实现关机或重启功能的程序必须获得SE_SHUTDOWN_NAME权限才行。还有就是往往我们是用管理员账号登录系统,可是有些进程就是无法关闭,而这些

2013-07-09 10:07:09 853

原创 不能用。。实例化抽象类

自己记录一下,别笑我是新手。 因为在修改filter的时候,出现了这个问题,所以记录一下。就是自己在修改后,将没用的功能删除掉了,所以filter的类对象多继承了删除的东西。

2013-04-18 10:53:03 585

Elecard StreamEye Tools.rar

264分析工具

2022-03-15

48000采样率 双声道 16bits pcm文件

我的另一个却是不是很好,这个直接录得原声,只有十几秒,足够了

2014-06-24

48000采样率16bits双声道PCM

网上找了很多,只找到一份,很感谢哪位分享的前辈。但是他的那份pcm听起来不适合我用,我就自己录了一段音乐。由于是麦克风录制的,所以不是特别的清楚,但是足够测试使用。

2014-01-06

Introduction t 3D Game Programming with DirectX11.part6

学习d3d技术的葵花宝典,欢迎大家下载学习。

2013-08-09

Introduction t 3D Game Programming with DirectX11.part5

学习d3d技术的葵花宝典,欢迎大家下载学习。

2013-08-09

Introduction t 3D Game Programming with DirectX11.part4

学习d3d的葵花宝典,欢迎大家下载学习。

2013-08-09

Introduction t 3D Game Programming with DirectX11.part3

学习d3d的葵花宝典,欢迎大家下载学习。

2013-08-09

Introduction t 3D Game Programming with DirectX11.part2

学习d3d的葵花宝典,欢迎大家下载学习。

2013-08-09

Introduction t 3D Game Programming with DirectX11.part1

学习d3d11的葵花宝典,欢迎大家的浏览下载

2013-08-09

ISO14496-3_2004.part3

ISO14496-3_2004.part3 这个是音频编码开发者必不可少的标准文档资料

2013-02-18

ISO14496-3_2004.part1

ISO14496-3_2004.part1 这个是音频编码开发者 必不可少的标准文档

2013-02-18

ISO14496-3_2004.part2

ISO14496-3_2004 对于音频编码的人来说是必不可少的啊

2013-02-18

核心编程资料

继往开来创新高,推陈出新品佳酿 1993年,本书第1版Advanced NT出版的时候,我和三个朋友一起成立了一个“四喜工作室”。由于四个人只有一台计算机,所以我们几个每天一睁眼,第一件事情便是抢占计算机,这台386配置简单,根本无法与现在的计算机相提并论,而且当时也没有网络,所以计算机的用途非常有限,主要也就是文字处理,玩游戏,编简单程序等,但它带给我们的乐趣至今难以忘怀。受限于当时的环境,数据和游戏的交换也基本上在圈内好友之间进行,就像搞地下活动一样约好时间地点碰头。幸运的是,由此结交了一大批计算机爱好者,后来他们大多成为IT届的领军人物。

2012-07-17

空空如也

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

TA关注的人

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