自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(128)
  • 资源 (3)
  • 收藏
  • 关注

转载 六款小巧的HTTP Server[C语言]

六款小巧的HTTP Server[C语言]Submitted by keminar on 2010, February 5, 11:14 PM.开源软件1、micro_httpd - really small HTTP server特点:    支持安全的 .. 上级目录过滤    支持通用的MIME类型    支持简单的目录    支持目录列表   

2013-08-07 12:50:55 6688

转载 FatFs

FatFs FatFS是一个为小型嵌入式系统设计的通用FAT(File Allocation Table)文件系统模块。FatFs 的编写遵循ANSI C,并且完全与磁盘I/O层分开。因此,它独立(不依赖)于硬件架构。它可以被嵌入到低成本的微控制器中,如AVR, 8051, PIC, ARM, Z80, 68K 等等,而不需要做任何修改。[编辑]特点 Windo

2013-07-02 16:53:26 23529 7

转载 使用可重入函数进行更安全的信号处理

何时如何利用可重入性避免代码出现 bugDipak K. Jha ([email protected]), 软件工程师, IBM 简介: 如果要对函数进行并发访问,不管是通过线程还是通过进程,您都可能会遇到函数不可重入所导致的问题。在本文中,通过示例代码了解如果可重入性不能得到保证会产生何种异常,尤其要注意信号。引入了五条可取的编程经验,并对提出的编译器

2013-01-08 13:42:08 1040

转载 用source insight宏自动加入或去除C注释

用source insight宏自动加入或去除C注释 收藏 我们的项目是主要在linux下的存C开发,SI这个工具无疑是必须的。但是手工加入注释很不方便,网上都是C++的注释风格,自己写了一个C的,共享一下,有兴趣的拿去修改一下。/* the info like: by guixue 2009-8-19 */ macro getCommentInfo()

2012-10-30 15:02:00 1588

转载 MFC多线程编程注意事项

1.工作线程给主线程发消息使用的是SendMessage和PoseMessage函数。这两个函数的区别在于SendMessage函数是阻塞方式,而PoseMessage函数是非阻塞方式。如果不是严格要求工作线程与主线程必须同步执行,则推荐使用PoseMessage。     2.不要在线程函数体内操作MFC控件,因为每个线程都有自己的线程模块状态映射表,在一个线程中操作另一个线程中创建的M

2012-09-12 14:35:50 949

转载 html向swf传递参数的方法

本教程主要介绍HTML网页如何取得形如test.html?foo=mytest的foo参数,以及在HTML网页中如何向swf传递参数。一、在HTML网页中使用js获取参数。我们知道HTML页面是在客户端执行的,这样要获取参数必须使用客户端脚本(如JavaScript),在这点上不同于服务器端脚本获取参数方式。下面的这段js代码获取HTML网页形如"test.html?foo=myt

2012-08-11 18:28:14 5683 1

转载 以太网帧FCS校验码CRC32的三种实现方法

提供了三种实现方法。方法一:按位计算CRC32校验码。方法二:使用非翻转的查找表进行快速计算,按字节计算CRC32校验码。但计算过程中有位翻转操作,计算速度慢。方法三:使用翻转的查找表进行快速计算,按字节计算CRC校验码。速度极快。#include #include #include #define alt_8 char#defin

2012-08-08 15:32:58 6039 2

转载 BMP位图与调色板分析

调色板(color table)是单色、16色和256色图像文件所特有的,相对应的调色板大小是2、16和256,调色板以4字节为单位,每4个字节存放一个颜色值,图像的数据是指向调色板的索引。      可以将调色板想象成一个数组,每个数组元素的大小为4字节,假设有一256色的BMP图像的调色板数据为: 调色板[0]=黑、调色板[1]=白、调色板[2]=红、调色板[3]=

2012-07-30 10:56:57 20953

转载 STM32的GPIO口的8种配置模式

一、 STM32的输入输出管脚有下面8种(4输入+2输出+2复用输出)可能的配置:    ① 浮空输入_IN_FLOATING    ② 带上拉输入_IPU      ③ 带下拉输入_IPD               ④ 模拟输入_AIN    ⑤ 开漏输出_OUT_OD         ⑥ 推挽输出_OUT_PP    ⑦ 复用功能的推挽

2012-07-14 14:37:44 12170

原创 CFileDialog改变文件路径导致的一系列问题(如无法安全删除u盘、访问相对路径失败)的解决方法

原创:qsycn默认的CFileDialog选取文件的行为会改变当前路径解决方法就是不让CFileDialog改变当前路径在CFileDialog构造函数中explicit CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = N

2012-07-09 13:05:53 1285

转载 USB启动过程

1. 从USB中断进入sudav_function。2. 进入Read_UsbSetupToken_Function,读取8个字节的request到setup_token_buffer.3. 读取request完毕后,进入UsbEP0_Request_Function。4. 在这里根据token_buffer和标准命令进入。下表列出了USB的11种标准命令

2012-06-18 12:55:47 2739

转载 STM32 USB Mass Storage 例程调试笔记

一、问题起因     近来有几个客户反映STM3210E的开发板的USB Mass Storage 例程有点问题,组长安排我来调试。Mass Storage例程在PC上实现两个U盘,一个是SD盘,一个是NAND Flash盘,把程序下载到开发板后,PC上能够检测到NAND Flash盘和SD盘,却提示磁盘要格式化,按照提示操作,格式化不成功,可用磁盘空间和已用磁盘空间都为0。调试前

2012-06-12 18:24:45 13845 2

转载 Dll分配的内存块,应用释放的问题

一个模块一个堆,一个线程一个栈。dll里malloc的内存,在exe里free会出错。CRT(C运行时期库)不是使用进程缺省的堆来实现malloc(new中调用malloc)的,而是使用一个全局句柄HANDLE _crtheap来分配内存的。这个_crtheap是在XXXCRTStartUp(CRT提供的进口点函数)中创建的。 由于CRT静态连接,则楼主的DLL里有也有一个CR

2012-05-14 10:30:23 1441

转载 C++多线程面向对象解决方案

相信很多人都读过《C++沉思录》这本经典著作,在我艰难地读完整本书后,留给我印象最深的只有一句话::“用类表示概念,用类解决问题”。关于多线程编程,如果不是特别需要,大多数开发人员都不会特意去触碰这个似乎神秘的领域。如果在某些场合能正确并灵活地运用,多线程带来的好处是不言而喻的。然而,任何事物都有两面性,如果程序中引入多线程,那么我们需要谨慎小心地处理许多与之相关的问题,其中最突出的就是:资源

2012-04-26 09:45:01 741

原创 DirectShow常见错误信息

switch (errorCode){case 0x80040200: //VFW_E_INVALIDMEDIATYPEerrorMsg = "An invalid media type was specified";break;case 0x80040201: //VFW_E_INVALIDSUBTYPEerrorMsg = "An invalid media subty

2012-04-12 10:55:55 4402

转载 WinPcap文档翻译之《Filtering expression syntax》

注释:此文档是在 TcpDump(ps:知名嗅探工具)上的文档基础上改写而成,源文档可以在www.tcpdump.org上找到(ps:http://www.tcpdump.org/tcpdump_man.html) Wpcap过滤器是基于描述性而制定的语法规则,过滤规则是一个包含过滤表达式的ASCII码字符串,此规则表达式在程序中作为pcap_compile()函数的参数被编译,并用于内核

2012-03-21 14:56:14 1409

转载 Gamma校正

问题:什么是Gamma曲线矫正?Gamma曲线矫正是什么意思?       Gamma曲线是一种特殊的色调曲线,当Gamma值等于1的时候,曲线为与坐标轴成45°的直线,这个时候表示输入和输出密度相同。高于1的Gamma值将会造成输出亮化,低于1的Gamma值将会造成输出暗化。总之,我们的要求是输入和输出比率尽可能地接近于1。在显示器、扫描仪、打印机等输入、输出设备中这是一个相当常见并且比较重

2012-03-19 15:15:00 1383

转载 IMediaEventEx 转帖

How Event Notification WorksWhile a DirectShow application is running, events can occur within the filter graph. For example, a filter might encounter a streaming error. Filters alert the Filter Gra

2012-03-16 11:42:05 838

原创 关于#pragma message(), #pragma comment()等编译开关的介绍

在#Pragma是预处理指令它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C ++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。其格式一般为: #Pragma Para其中Para 为参数,下面来看一些常用的参数。(1)message

2012-02-08 10:11:27 5924

转载 STM32 RCC基本原理和配置流程

总是在其他外设的说明里看到HCLK,PCLK类似的字眼,但没有一个清晰的逻辑概念。对系统时钟不了解的情况下,前两天试了下sysTick,情况并不理想,更不要说RTC和TIM了。于是开始看RCC。逻辑框图芯片运行所需的时钟源分为四种,HSE (High Speed External),HSI,LSE,LSI (Low Speed Internal)。系统时钟频率可以通过软件进行控制,

2012-01-04 13:52:53 1188

转载 STM32固件库详解

最近考试较多,教材编写暂停了一下,之前写了很多,只是每一章都感觉不是特别完整,最近把其中的部分内容贴出来一下,欢迎指正。本文内容基于我对固件库的理解,按照便于理解的顺序进行整理介绍,部分参考了固件库的说明,但是也基本上重新表述并按照我理解的顺序进行重新编写。我的目的很简单,很多人写教程只是告诉你怎么做,不会告诉你为什么这么做,我就尽量吧前因后果都说清楚,这是我的出发点,水平所限,难免有很大的局限性

2012-01-03 16:38:11 6040 1

原创 VS2008 sp1 菜单和工具栏修改了而显示却没有改变的解决方法

原因:默认情况下,当MFC应用程序退出时,在注册表中自动保存所有菜单以及工具条的状态(CWinAppEx::SaveState),并在启动时读取这些状态(CWinAppEx::LoadState)。解决方法:1. 彻底的方法重写虚函数CWinAppEx

2011-09-15 11:43:32 1543

转载 Serial Communications in Win32

Serial   Communications   in   Win32Allen   seldom   eats   breakfast,   but   if   he   had   to   pick   a   favorite,   Win32   ser

2011-08-18 17:01:35 945

转载 CArchive的版本控制功能

CArchive的版本控制功能1 引言Visual C++ 6.0语言开发环境在MFC中以CArchive类为中心提供输入输出的串行化和数据版本控制功能。一般来说,随着软件的升级,对应的输入输出也会发生改变,如何保证多个版本的软件与多种输入输出数据之间的亲和性

2011-08-04 16:33:43 740

转载 通用 Thunk

作者:OwnWaterloohttp://www.codeproject.com/KB/cpp/GenericThunks.aspx本文同时发表在 codeproject 网站:参见:Generic Thunk with 5 combinations of Calling Con

2011-07-28 13:44:20 902

转载 FromHandle临时对象一探究竟

我们在调用CWnd::GetDlgItem()函数时,MSDN告诉我们:The returned pointer may be temporary and should not be stored for later use.中文意思就是:返回的指针可能是临时的并且最好不要保存起来放到以后用。猜测:返回的指针既然可能是临时的,那么可能是非临时的(永久的),最好不要保存起来放到以后用(有时候可以保存起来)源码面前,了无秘密。让我们深入MFC源代码去看个究竟。<br />先随便建立一个Dialog程序,然后在窗

2011-05-31 16:49:00 5063

转载 “应用程序配置不正确,程序无法启动”详细举例(vc2008 sp1)

<br /> http://hi.baidu.com/fairysky/blog/item/130dda13db7b050a5aaf53be.html<br />内容我就不copy了,大家可以自己去看,总来说产生这个问题的原因可以归结如下:<br />vc2005/vc2008采用了新的程序部署技术(manifest清单文件),manifest清单文件实际上类似于我们常用的makefile文件,它定义了程序运行的依赖关系(程序运行所需要的dll库的名称、版本等)。<br />程序运行,首先根据manifes

2011-05-31 14:34:00 1266

转载 sscanf函数的高级用法

<br />sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源。<br />函数原型:<br />int scanf( const char *format [,argument]... );<br />其中的format可以是一个或多个:<br />{%[*] [width] [{h|l|I64|L}]  type|'_'|'/t'|'/n'|非%符号},<br />注:{a|b|c}表示a,b,c中选一,[d],表示可以有d也可以没有d。<br

2011-04-16 14:48:00 589

转载 dm9000x.c注释

<br />//头文件省略,感觉DM9000的代码写的比较简单<br />//放在u-boot里看比较合适,和上层的接口较少,且没有虚实地址转换,较容易理解<br />enum DM9000_PHY_mode { DM9000_10MHD = 0, DM9000_100MHD =<br />     1, DM9000_10MFD = 4, DM9000_100MFD = 5, DM9000_AUTO =<br />     8, DM9000_1M_HPNA = 0x10<br />};<br />enu

2010-12-10 13:47:00 1530

原创 objcopy参数

objcopy把一种目标文件中的内容复制到另一种类型的目标文件中. (1)将图像编译到可执行文件内Q: 如何将一个二进制文件,比如图片,词典一类的东西做为.o文件,直接链接到可执行文件内部呢?A: $ objcopy -I binary -O elf32-i386 -B i386 14_95_13.jpg image.o $ gcc image.o tt.o -o tt $ nm tt | grep 14_95 0805d6c7 D _binary_14_95_13_jpg_end 00014213 A _

2010-12-08 10:58:00 6023

原创 MFC中设置静态文本的字体颜色、背景透明以及解决字体重叠

原创:qsycn改变static的颜色和设为背景透明可以在父窗口的WM_CTLCOLOR中实现(即HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor))将static设为背景透明时,改变该控件的文本将会出现文字重叠的现象。其实设置为透明背景也就是在static重画背景时返回一个空的刷子而已,所以你改变文本并没有改变上次残留的背景,从而导致重叠现象。为了解决这个问题,我们可以让父窗口重绘此区域。以下是我的解决方法:1. 从CStatic继承一个类CSt

2010-11-10 10:42:00 15065 12

转载 跟我一起写 Makefile

<br />原文地址没有找到,特此向原作者表示歉意及感谢<br /> <br />陈皓<br />概述<br />——<br />什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和 professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解 HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写

2010-11-08 17:05:00 706

转载 对.lds连接脚本文件的分析

<br />本文由Jacky原创,来自http://blog.chinaunix.net/u1/58780/showart.php?id=462971<br />对于.lds文件,它定义了整个程序编译之后的连接过程,决定了一个可执行程序的各个段的存储位置。虽然现在我还没怎么用它,但感觉还是挺重要的,有必要了解一下。<br />先看一下GNU官方网站上对.lds文件形式的完整描述:<br /><br />SECTIONS {<br />...<br />secname start BLOCK(align)(N

2010-11-01 14:26:00 540

转载 MFC程序逆向-消息篇

<br />标 题: 【原创】MFC程序逆向 – 消息篇(上)+(下) 11楼<br />作 者: szdbg<br />时 间: 2007-10-31,06:26<br />链 接: http://bbs.pediy.com/showthread.php?t=54150<br /><br />前言:<br />记得前一段时间,我刚接触软件破解和逆向这一行时,对于一些软件不知从何处跟踪按钮消息,试了好多方法,就是断不下来,在系统模块中经常转得晕头转向,而一无所获。<br /><br />MFC程序是一种常见

2010-08-25 09:32:00 1269

转载 一个简单的显示驱动

<br />理论:<br /><br />本篇我们将介绍下如何写一个简单的显示驱动。显示驱动是一种特殊类型的驱动,必须要满足一个框架,它不像我们前面讲的那些驱动。<br /><br />示例程序演示了如何写一个简单的显示驱动,这个驱动无需关联任何硬件。它能实现图形到内存,然后由一个应用程序来显示这些图形。<br />显示驱动的体系结构<br />首先介绍的是windows NT下显示驱动的体系结构。在这里要特别说明的是windows vista使用了一种新的显示驱动模型,叫做LDDM.它是vista最新桌面

2010-08-04 09:00:00 2102

转载 在c++->code generation中的Runtime Library有以下几种选项

<br />在c++->code generation中的Runtime Library有以下几种选项/MD[d]/MT[d]/LD[d]<br />选项<br />说明<br />/MD<br />使应用程序使用运行时库的多线程并特定于 DLL 的版本。定义 _MT 和 _DLL,并使编译器将库名 MSVCRT.lib 放入 .obj 文件中。<br />用此选项编译的应用程序静态链接到 MSVCRT.lib。该库提供允许链接器解析外部引用的代码层。实际工作代码包含在 MSVCR90.DLL, 中

2010-06-12 11:57:00 3035

转载 DLL的显示链接

<br />DLL的显式链接在某些时候比隐式链接具有更大的灵活性。比如,如果在运行时发现DLL无法找到,程序可以显示一个错误信息并能继续运行。当你想为你的程序提供插件服务时,显式链接也很有用处。 <br />显式链接到全局C/C++函数非常简单。假设你想调用DLL中的一个函数ExportedFn,你可以像这样很简单地导出它:<br />extern "C" _declspec(dllexport) <br /> void ExportedFn(int Param1, char* param2);<br />

2010-06-11 13:38:00 630

转载 运行未安装VS2005的机器上C++程序

<br />1. 问题描述:<br /><br />最近在VS2005下用C++写了一个Console程序,在一台未安装VS2005的机器上不能正常运行。<br />用命令行方式运行,提示:<br />“系统无法执行指定的程序”<br />直接双击运行,提示:<br />“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题”<br /><br />用VC6和VS2003也有这个问题,只不过会提示说找不到“***.dll”,把需要的dll拷贝到目标机器就可以正常运行了。而VS200

2010-06-10 13:58:00 1171

转载 vc实现多语言资源

<br />用VC5.0实现:软件中的多种语言支持<br /><br />  MS Windows操作系统是一个世界上广泛使用的操作系统,对于不同语种的国家MS Windows有相应语种的版本。在不同语种的Windows平台上应该运行相应语种的应用程序。也就是说程序的用户界面(如菜单、对话框、状态条)中的提示文字应该使用和Windows操作系统所使用的语种一致。当然英语用户界面的程序可以运行在其它语言平台上,但比较复杂的程序或多或少都有问题,如对话框的尺寸不对,特殊的ASCII字符显示为文字,输入字符串可能

2010-06-07 15:09:00 1771

转载 枚举串口四法

串口作为最基本的电脑通信 I/O 接口,其使用虽然在 PC 上越来越少,但是在工业仪器领域仍然用的相当普遍,由于笔者工作中需要用到串口,而且发现枚举串口至今仍未搞得很清楚,为此自己先整理下,希望大侠和同行们对我不懂和错误的地方指点一下。   1 、查询注册表 查询注册表的方法是网上见到的比较常见的方法,该方法就是使用编程方法读取注册表内信息,相当于用户通过在运行框内输入 ”rege

2010-05-19 13:29:00 979

openPOWERLINK_V2.2.2.tar.gz

openPOWERLINK是一个开源的工业以太网协议栈,实现了管理节点(MN, POWERLINK主站)和受控节点(CN, POWERLINK从站)的POWERLINK协议。 它实现了现代POWERLINK设备所需的所有重要功能,例如标准、复用和PRC的操作模式,动态和静态的PDO映射,通过ASnd实现的SDO和通过UDP实现的SDO,以及通过虚拟以太网接口实现的异步通信。 最新稳定版本:2.2.2

2015-12-18

SD卡中文手册及在S3C2410中的应用

SD卡概述,命令及回复描述,时序,卡状态及其寄存器,最后讲在S3C2410中的应用

2012-09-03

空空如也

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

TA关注的人

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