专题转载 ADSP 资料

VDSP5.0查看共享内存变量时出现一个BUG(已证实) VDSP5.0双核工程下sml3中的变量查看问题 我的BF561的工程在VDSP4.5(update_6)下能正常运行,但是升级到VDSP5.0(updata3)后就不行了,板子是优视的BF561的开发板,仿真器为原厂HPUSBICE。 尝试使用VDSP5的双核单应用方式建造一个最简单的双核工程(5个工程的工程组那种),发现相同的函数,如果实现部分放在A或B核中则没有问题,如果放在SML3中并单步调试,会发现虽然可以正常运行,但是无法实时得知其中变量的值(无论是通过鼠标直接观测还是通过Expression窗口)。 咨询...
2008-11-09 00:21 | 阅读 12106 次 | 评论 13 条

初始化一个状态机

char fsm[8][128];void initfsm(){ const int line_len=sizeof(char)*128; memset(fsm[0],0,line_len); memset(fsm[1],0,line_len); memset(fsm[2],2,line_len); memset(fsm[3],3,line_len); memset(fsm[4],3,line_len); memset(fsm[5],5,line_len); memset(fsm[6],5,line_len); memset(fsm[...
2008-10-24 21:45 | 阅读 4193 次 | 评论 0 条

一个Windows NT的应用程序典型地拥有9个预定义段

它们是.text、.bss、.rdata、.data、.rsrc、.edata、.idata、.pdata和.debug可执行代码段,.text .text段也包含了早先提到过的入口点。IAT亦存在于.text段之中的模块入口点之前。(IAT在.text段之中的存在非常有意义,因为这个表事实上是一系列的跳转指令,并且它们的跳转目标位置是已固定的地址。)当Windows NT的可执行映像装载入进程的地址空间时,IAT就和每一个导入函数的物理地址一同确定了。数据段,.bss、.rdata、.data   .bss段表示应用程序的未初始化数据,包括所有函数或源模块中声明为stat...
2008-10-21 23:18 | 阅读 4930 次 | 评论 1 条

回调函数快速使用

使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数。而那个函数在需要的时候,利用传递的地址调用回调函数,这时你可以利用这个机会在回调函数中处理消息或完成一定的操作。至于如何定义回调函数,跟具体使用的API函数有关,一般在帮助中有说明回调函数的参数和返回值等。C++中一般要求在回调函数前加CALLBACK(相当于FAR PASCAL),这主要是说明该函数的调用方式。至于钩子函数,只是回调函数的一个特例。习惯上把与SetWindowsHookEx函数一起使用的回调函数称为钩子函数。也有人把利用VirtualQuery...
2008-10-12 01:05 | 阅读 6488 次 | 评论 1 条

巧用模板定义谓词

谓词(predicate)是做某些检测的函数,配合标准算法库使用。假设我们要统计一个 vector<int> 里有多少个元素大于 5,则要定义一个谓词函数 gt5: vector<int>::difference_type cnt = count_if(vec.begin(), vec.end(), gt5); 假设我们还要统计大于 8 的元素的数目,则还要定义一个 gt8。而如果还要统计大于 10、100、150……的元素的数目,则要定义更多的函数。这明显非常不便!使用...
2008-10-10 23:00 | 阅读 4287 次 | 评论 1 条

atexit函数的作用

function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,'));k...
2008-10-08 23:17 | 阅读 12168 次 | 评论 2 条

函数指针赋值方法

// 2008/10/7 VC6.0 #include<stdlib.h>#include<stdio.h>typedef int (*pFunc)(float a);int test(float a){ printf("test %f",a); return 0;}int main(){ pFunc pFunc1 = test; // 函数指针赋值 pFunc1(4.5); printf("\nhello"); getchar(); return 0;}
2008-10-07 23:33 | 阅读 9201 次 | 评论 2 条

SendMessage函数的常用消息及其应用

文本框控件通常用于输入和编辑文字。它属于标准 Windows 编辑控件的一个子类,所以它支持所有|;w*mH8r0编辑控件消息。这儿讲述的技术也适用于由其他厂商设计的,以Windows编辑控件类为基础的其他控件。Office中国社区门户+Zu!\ J:{?ArOffice中国社区门户n QA%H s%UB  函数原型:Office中国社区门户~ I dR-u!`Z8M8P?Ov"A IE:m\uI2U0Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwn...
2008-10-06 22:40 | 阅读 3913 次 | 评论 0 条

MFC的子类化技术

MFC的子类化技术 作者:laiyilingWindows是一个基于消息的系统,消息在Windows的对象之间进行着传递。子类化和Windows的钩子机制存在于消息系统之中,我们可以利用这些机制来操纵、修改甚至丢弃那些在操作系统或是进程中传递的消息,以求改变系统的一些行为。 子类化技术用来截取窗口或控件之间的消息,当然是消息在到达目的窗口之前完成的操作。这些被截获的消息既可以保留也可以修改它们的状态,之后就继续发送到目的地。子类化技术实现了一些正常情况下无法实现的功能,试想鼠标右键单击TextBox,系统默认弹出Undo、Cut、Copy、Paste等菜单,我们就可以利用子类化...
2008-10-05 23:05 | 阅读 7221 次 | 评论 2 条

GetModuleFileName 和 GetModuleFileNameEx 区别

The GetModuleFileName function retrieves the fully-qualified path for the file that contains the specified module that the current process owns.GetModuleFileName operates only on modules that the current process owns. To specify modules that belong to another process, use the GetModuleFileNameEx ...
2008-10-04 00:15 | 阅读 7071 次 | 评论 1 条

用C语言编写复杂的中断干扰处理器

当从外部的硬件或者处理器向CPU发出异常信号的时候,中断就会发生了。CPU通过传递执行流来响应中断服务程序,其中CPU响应的过程是这样的:首先对事件进行处理,处理之后再返回中断代码。ISR本质上是一个不设任何参数和不返回任何值得函数。但是,和一般的规则函数不一样,你几乎可以在任何情况下调用ISR函数,因此在调用的时候要特别小心,特别是登陆和退出ISR函数时,要严格按照特定的执行规则和执行顺序来执行。 一些编译器用#pragma或者不规则的关键字为中断提供了内置支持,这种内置支持会在相应的终端函数处,让编译器产生ISR登陆和退出代码的序列。如下面的例子所示:interrupt ...
2008-09-26 14:34 | 阅读 5261 次 | 评论 0 条

VC的高级使用方法之二--由C代码获得相应的汇编代码

主要如 附件中添加 /FA 选项即可在编译后的debug文件夹中生成对应的汇编代码.asm文件相关参数设定:/FA[c|s|u]/Fapathname 备注 参数控制源代码和机器码的生成以及清单文件的扩展名。 下表描述 /FA 的各种不同的值。可为 /FA 指定多个值。例如,可以指定 /FAsu。 选项 清单内容和文件扩展名 /FA 程序集代码;.asm /FAc 机器码和程序集代码;.cod /FAs...
2008-09-19 15:58 | 阅读 6599 次 | 评论 2 条

SendMessage 与 SendDlgItemMessage 的区别

在我的程序中,SendMessage的那种方法没有成功.1.C/C++ codeSendDlgItemMessage(hDlg,IDC_LIST,LB_ADDSTRING,0,(LPARAM)"ListBox");2.C/C++ codeSendMessage(hDlg,WM_COMMAND,MAKEWPARAM(IDC_LIST,LB_ADDSTRING),(LPARAM)"ListBox");原因:SendDlgItemMessage是向对话框中的指定控件发送消息。SendMessage是向指定窗口或者控件发送消息。SendDlgItemMessage(hDlg,IDC_LIST,L...
2008-09-17 19:20 | 阅读 11507 次 | 评论 1 条

VC 获取程序当前路径

//获取当前程序的完整路径,包括程序名 CString szPath; GetModuleFileName(NULL,szPath.GetBuffer(MAX_PATH),MAX_PATH); szPath.ReleaseBuffer(); //不包括程序名 ,可放在你的APP文件类里面 CString CXXXXXXApp::GetCurDir() { TCHAR sDrive[_MAX_DRIVE]; TCHAR sDir[_MAX_DIR]; ...
2008-09-04 10:48 | 阅读 26376 次 | 评论 1 条

gcc 下使用Makefile

载 http://dev.csdn.net/develop/article/17/17584.shtm1、编写Makefile UNIX系统上很多软件包都是使用make程序和Makefile文件来实现自动编译的,make程序的目的就是自动确定一个软件包的哪些部分需要重新编译,并用特定的明令去编译他们,准确的使用make可以大大减少编译程序所花费的时间,因为它可以消除不必要的再编译. 要使用make,必须编写一个makefile文件,他描述了软件包中各个文件之间的联系,提供了更新每个文件的命令.在一个软件包中,通常是可执行文件由连接目标文件而更新,而目标文件由编译源文件而更新. 当一...
2008-08-22 18:29 | 阅读 11889 次 | 评论 1 条

用DEF文件从DLL中导出C++类

编写dll导出类 (http://www.bloghome.cn/posts/9264) 用DEF从DLL导出一个函数,或用__declspec(dllexport)指令从DLL中导出一类,想必大家已经很熟悉了,也经常使用着。这里向大家介绍一种 用DEF文件从DLL导出一个类的方法。具体原理或为什么就不废话了,学会导出后,再慢慢回味吧。这里主要叙述操作步骤。 1。打开VC6.0,新建一个"Win32 Dynamic-Link Library"工程,假设叫DefClass,在“Dll kind”选择界面中选择“A simple dll project” 。 2。新建一个文件,...
2008-08-04 09:00 | 阅读 21597 次 | 评论 2 条

使用VC自带的profile分析程序效率

默认模式下,VC自带的profile不能工作,你点击build-->profile会出现附件所示的窗口:按照附件中描述进行设置遍即可以其分析程序中各个子函数的执行时间及效率对分析代码,优化程序非常有用设置方式提示窗口选择红色圈子选中部分的复选框即可
2008-08-03 21:23 | 阅读 11281 次 | 评论 0 条

Windows 文件过滤驱动经验总结

Windows 文件过滤驱动经验总结作者:ai3000本文转载自驱动开发网看了 ChuKuangRen 的第二版《文件过滤驱动开发教程》后,颇有感触。我想,交流都是建立在平等的基础上,在抱怨氛围和环境不好的同时应该先想一想自己究竟付出了多少?只知索取不愿付出的人也就不用抱怨了,要怪也只能怪自己。发自己心得的人无非是两种目的,一是引发一些讨论,好纠正自己错误的认识,以便从中获取更多的知识使自己进步的更快。二是做一份备忘,当自己遗忘的时候能够马上找到相关资料。我这里也总结了近几年做文件过滤驱动时所积累下来的一些小小经验,这分笔记也是看了 ChuKuangRen 的教程后,临时想到的一小部分而...
2008-07-29 23:31 | 阅读 15763 次 | 评论 3 条

统计matlab程序的预先时间

用tic和toc函数就可以了。在函数开始,放上tic在函数结尾,放上toctica=1;b=2;c=a+btoc运行结果c = 3Elapsed time is 0.000269 seconds.
2008-06-26 00:53 | 阅读 4470 次 | 评论 0 条

Win 32工程调试技巧

在MFC工程(包括单文档、多文档、基于对话框、MFC DLL等)调试程序时可以使用trace宏来输出相关变量的值,在Win 32工程(包括Win32 Application和Win 32DLL)只能使用OutputDebugString函数来输出相关变量值。但是我觉得OutputDebugString比起trace宏有很大的不足,OutputDebugString不能像trace宏一样格式化输出,只能输出字符串,而且糟糕的是Win 32工程不能使用MFC的CString类构造格式化输出字符串。为此我上网搜了一些资料,找到了在Win32格式化输出的方法,具体就是构造一个类似C语言的prin...
2008-06-22 18:13 | 阅读 4699 次 | 评论 0 条
浏览1942751次