- 博客(41)
- 资源 (34)
- 问答 (1)
- 收藏
- 关注
转载 c++中const关键字使用详解
一 const基础下面四个定义语句是大多数书籍讲解const关键字都会用到的,[1]const int* a = &b;[2]int const *a = &b;[3]int* const a = &b;[4]const int* const a = &b; 如果你能区分出上述四种情况,证明你基础不错,不过也不要高兴太早,这个只是最基础的部分了。不知道也很容易:如果const位于星号的左
2008-01-28 11:45:00 835
转载 使用const提高函数的健壮性
11.1 使用const提高函数的健壮性看到const关键字,C++程序员首先想到的可能是const常量。这可不是良好的条件反射。如果只知道用const定义常量,那么相当于把火药仅用于制作鞭炮。const更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。const是constant的缩写,“恒定不变”的意思。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。所
2008-01-28 11:39:00 859
转载 超强的指针 *一辈子都找不到的牛B贴
C语言所有复杂的指针声明,都是由各种声明嵌套构成的。如何解读复杂指针声明呢?右左法则是一个既著名又常用的方法。不过,右左法则其实并不是C标准里面的内容,它是从C标准的声明规定中归纳出来的方法。C标准的声明规则,是用来解决如何创建声明的,而右左法则是用来解决如何辩识一个声明的,两者可以说是相反的。右左法则的英文原文是这样说的:The right-left rule: Start reading
2008-01-28 00:19:00 1303 2
原创 VC下的INI文件操作
在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下: 一.将信息写入.INI文件中. 1.所用的WINAPI函数原型为: BOOL WritePrivateProfileString( LPCTSTR lpAppName,
2008-01-30 23:19:00 720
转载 程序配置信息的保存(Borland C++ Builder环境)
案例说明在我们编写的每一个程序中,我们都要保存一些有用的信息,如何保存这些信息呢?比较常用的有三种方法,一种是使用注册表,一种是使用Ini文件,还有就是使用文件。采用哪种方法保存配置信息,不同的人可能有不同的习惯,这三种方法哪种最适合你的程序呢,究竟哪个最方便呢?本例知识点:注册表、ini文件。注册表是windows的命根,里面储存着大量的系统信息,是一个庞大的数据库。注册表里面所有的
2008-01-30 22:53:00 3067 3
转载 关于DLL解释得比较好的文章
在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字——动态链接库。现在就让我们走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧! 初窥门径:Windows的基石 随便打开一个系统目录,一眼望去就能看到很多扩展名DLL的文件,这些就是经常说的“动态链接库”,DLL是Dynamic Link Library(即“动态链接库”)的缩写。从Microsoft公司推出首个版
2008-01-30 14:31:00 786
转载 DLL(Dynamic Link Libraries)专题
目录 引言 调用方式 MFC中的DLL DLL入口函数 关于约定 关于DLL的函数 模块定义文件(.DEF) DLL程序和调用其输出函数的程序的关系 作者 引言比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。可
2008-01-30 14:29:00 541
转载 __cdecl __fastcall与 __stdcall
调用约定: __cdecl __fastcall与 __stdcall,三者都是调用约定(Calling convention),它决定以下内容:1)函数参数的压栈顺序,2)由调用者还是被调用者把参数弹出栈,3)以及产生函数修饰名的方法。 1、__stdcall调用约定:函数的参数自右向左通过栈传递,被调用的函数在返回前清理传送参数的内存栈, 2、_cdecl是C和C++程序的缺省调用方式。每一个
2008-01-30 14:21:00 437
转载 this指针探秘
参考网址:http://www.cpper.net.ru/Content.asp?ID=27http://topic.csdn.net/u/20070205/11/3a054c39-29e5-4b2b-a830-37e0eea8533a.html 深度探索C++对象模型对this的描述是,this是一个函数参数 float manitude3d(const Point3
2008-01-30 12:26:00 818
原创 VC++中的bool与BOOL的区别联系
bool是C++中的一种变量类型(布尔类型),只可以写bool x;x = true;x = false;在VC++中BOOL是这样说明的:typedef int BOOL;也就是说BOOL是当int用的。BOOL x;x = 1;x = 0;当然为了方便,VC++已经定义了#define TRUE 0#define FALSE 1
2008-01-29 17:55:00 1394
原创 句柄和指针的区别
这是初学者最常问及的问题,一些面试官也很喜欢问这个问题 。当把硬盘上的资源调入内存以后,将有一个句柄指向它,但是句柄只能指向一个资源。而且句柄知道所指的内存有多大。还有指针,指针指向地址,它不知道分配的内存有多大。 但是如果你定义一个句柄,然后在VC里面右击鼠标,选择"go to definition of handle”,你会发现它的本质就是一个指针,但是它的作用不同于指针。它和通常
2008-01-29 17:50:00 794
转载 谈谈父窗口和所有者窗口
一、概念和区别 在windows系统中,每个窗口对象都对应有一个数据结构,形成一个list链表。系统的窗口管理器通过这个list来获取窗口信息和管理每个窗口。这个数据结构中有四个数据用来构建list,即child、sibling、parent、owner四个域。 所以我们可以看到,窗口之间的关系有两种:owner-owned 关系和 parent-child关系。前者称之为
2008-01-28 13:36:00 652 1
转载 Visual C++/MFC入门教程
VC开发指南1.1 如何学好VC 这个问题很多朋友都问过我,当然流汗是必须的,但同时如果按照某种思路进行有计划的学习就会起到更好的效果。万事开头难,为了帮助朋友们更快的掌握VC开发,下面我将自己的一点体会讲一下: 1、需要有好的C/C++基础。正所谓“磨刀不误砍柴工”,最开始接触VC时不要急于开始Windows程序开发,而是应该进行一些字符界面程序的编写。这样做的目的主要是增加对语
2008-01-28 12:38:00 3935
转载 20种VC++编译错误信息
1、fatal error C1010: unexpected end of file while looking for precompiled header directive。寻找预编译头文件路径时遇到了不该遇到的文件尾。(一般是没有#include "stdafx.h") 2、fatal error C1083: Cannot open include file: R…….h:
2008-01-28 12:36:00 844
转载 Visual C++编程技巧汇总
这些问题可能经常被人问到,现在列出来供大家参考,欢迎大家一起来完善之。1.如何获取应用程序的实例句柄? 应用程序的 实例句柄保存在CWinAppIm_hInstance 中,可以这么调用AfxGetInstancdHandle获得句柄.Example: HANDLE hInstance=AfxGetInstanceHandle();2.如何通过代码获得应用程序主窗口的指针?
2008-01-28 12:28:00 957
原创 VC++中的Win32 Application和Win32 Console Application区别
Win32 Application和Win32 Console Application 都是工作在32位Windows环境的程序。 其中Win32 Application 就是普通的常见的窗口应用程序,当然有的界面做得比较个性化,比如圆形的、不规则形状的…… 它们都是所谓的GUI(Graphics User Interface图形用户接口),我们可以通过鼠标点击来完成控制。 Win32 A
2008-01-28 11:58:00 1209
原创 介绍VC6.0的18个实用小技巧
1.检测程序中的括号是否匹配把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号2.查看一个宏(或变量、函数)的宏定义把光标移动到你想知道的一个宏上,就比如说最常见的DECLARE_MAP_MESSAGE上按一下F12(或右键菜单中的Go To Defition Of …),如果没有建立Browse files,会出现提示对话框,确定,然后就会跳到定义那些东西的地方。相当可喜的
2008-01-28 11:17:00 710
转载 DDX/DDV工作内幕
DDX(动态数据交换)和DDV(动态数据验证)看起来好象是在对话框中某控件和某成员变量之间建立连接,自动实现控件和变量之间的数据转移.但这只是一个幻觉.它的实际工作方式是这样的:当你用ClassWizard把某变量和控件连接起来时(通过Member Variables选项卡),它在数据映射中创建一个入口.实际上也就是在对话框的DoDataExchange函数中添加一个入口函数(DoDataEx
2008-01-28 11:05:00 1806
转载 利用MFC的CFileDialog生成Windows2000文件对话框
自Windows2000推出以后,其新的用户界面使我们有了一次大换口味的机会。比如,其淡入浅出的动画菜单、透明的窗口,另外一个变化就是其文件对话框外观的改变,在程序中打开保存文件时出现的对话框就要比原来在Windows98下面的要“亲热”得多:先看看以下两幅图片: 图1图2 图一是我们最常见的文件对话框(本文称之为老式的文件对话框),图二是在Windows2000中用得普遍的
2008-01-28 10:58:00 1202
转载 Visual C++ MFC 中常用宏的含义
AND_CATCHAND_CATCH AND_CATCH(exception_class,exception _object_point_name) 说明:定义一个代码块,它用于获取废除当前TRY块中的附加异常类型。使用CATCH宏以获得一个异常类型,然后使用AND_CATCH宏获得随后的异常处理代码可以访问异常对象(若合适的话)已得到关于异常的特别原因的更多消息。在AND_CATCH块中调用TH
2008-01-28 00:18:00 655
转载 MFC消息映射的实现
消息映射的实现 Windows消息概述 Windows应用程序的输入由Windows系统以消息的形式发送给应用程序的窗口。这些窗口通过窗口过程来接收和处理消息,然后把控制返还给Windows。
2008-01-24 11:13:00 993
转载 Visual C++开发工具与调试技巧整理
Visual C++开发工具与调试技巧整理自己总是用VC平台来开发东西,但是有时候总是出这样那样的问题,呵呵,总是需要上网查资料来解决,在这里把自己用到上网查的一些技巧摘录如下,希望对大家有用,省去大家再去搜索的烦恼。1.如何在Release状态下进行调试Project->Setting=>ProjectSetting对话框,选择Release状态。C/C++标签中的Categor
2008-01-23 23:20:00 525
原创 C++中的重载、覆盖(override,改写)与隐藏(遮蔽)
稍微懂得点oop的人都知道重载,那是多态性的重要体现!可是在c++中你能分清成员函数的重载、覆盖吗?这个好像也不难,重载存在与同一个类中,而覆盖存在于派生类于基类中!可是如果再加上隐藏呢?说实话,以前我从来没有听说过这个概念!也不知道自己曾经捏造的程序,出了多少问题!看看林锐在《高质量c++编程指南》中的解释。 成员函数的重载、覆盖(override)与隐藏很容易混淆,C++程序员必须要搞清
2008-01-23 15:50:00 1837 1
原创 一个类的实例化对象所占空间的大小?
注意不要说类的大小,是类的对象的大小. 相关帖子:http://topic.csdn.net/t/20040819/14/3290020.htmlhttp://topic.csdn.net/u/20080123/01/8b0c2a5a-a4da-469f-9700-1854a2f29ae5.html首先,类的大小是什么?确切的说,类只是一个类型定义,它是没有大小可言的。 用size
2008-01-23 12:43:00 793
转载 透过宏定义了解MFC的消息响应机制
消息系统是MFC的重要组成部分。MFC的消息响应机制并不复杂,而且MFC的开发环境 Visual Studio来供了非常好的自动化工具,自动生成代码。MFC也定义了丰富的宏来简化消息响应的代码。这使得很多初学者都能快速开发出基于消息响应机制的应用程序。然后也正是这些带来方便的宏,使很多人摸不着头脑。当不小心的代码操作使自动化工具不好用的时候,看着那一组更像是一堆的宏,很多人只好一头雾水。要想真正了
2008-01-23 00:03:00 592
原创 int *a;和int* a;有区别吗?
看书的时候遇见过int *a;和int* a;这两种定义方式,不明白后一种是啥意思,还有两者之间的区别,网上搜了下,收集了这方面的意见: 没区别,但是当定义多个指针变量时,int *a,*b;比int* a,*b;要好看一些语句int* a;和int *a;都是定义一个指向int类型变量的指针 有人提议用int* a;这样在分析类型的时候就直接去掉变量,
2008-01-21 23:38:00 2040
转载 利用VC访问INI文件和系统注册表
INI文件(Initialization file ,又称为初始化文件)是用来保存应用程序设置和选项的一种特殊的ASCII文件,以“.ini”作为文件扩展名,也被称做配置文件或概要文件(Profile)。除了各个应用程序可以拥有自己私有的初始化文件外,Windows系统还提供有一个系统的初始化文件Win.ini,并由此对当前的Windows系统进行配置,同时也可以在其内记录系统内其他应用程序在运
2008-01-21 00:22:00 555
转载 uClinux移植概述
1.建立开发环境 作为uClinux系统的移植和开发的主机最好使用Linux操作系统,如果选择Windows平台作为开发平台则需要Cygwin软件包的支持。在这里我们选用的开发平台是Fedora Core 2,内核版本为2.4.x。在进行uClinux的移植和开发之前,我们需要建立系统的交叉编译环境,因为做为主机我们使用的是IA32体系结构的处理器,而开发板我们才用的是ARM体系结构的处理
2008-01-17 13:42:00 699
转载 U-Boot在44B0X开发板上的移植以及代码分析
1. u-boot 介绍u-boot 是一个open source 的bootloader,目前版本是1.1.2。u-boot 是在ppcboot 以及armboot 的基础上发展而来,相当的成熟和稳定,已经在许多嵌入式系统开发过程中被采用。由于其开发源代码,其支持的开发板众多。。为什么我们需要u-boot?显然可以将uClinux 直接烧入flash,从而不需要额外的引导装载程序(bootloa
2008-01-17 13:39:00 1074
转载 Linux下开启nfs服务
1.什么是NFS(Network FileSystem) NFS 就是 Network FileSystem 的缩写,最早之前是由 Sun 所发展出来的。他最大的功能就是可以透过网络,让不同的机器、不 同的操作系统、可以彼此分享个别的档案 ( share file ),所以,也可以简单的将他看做是一个 file server 呢!这个 NFS Server 可以让你的 PC 来将网络远程
2008-01-16 10:46:00 22232
转载 使用ADS1.2进行嵌入式软件开发
概述 嵌入式应用程序通常都是在样机环境下调试与开发的,这种环境与最终产品之间并不完全相同。因此,在系统调试阶段就考虑应用程序在最终目标硬件中的运行情况是非常重要的。 本文旨在讨论如何将一个开发/调试环境下的嵌入式应用程序转移到最终独立运行的目标系统中去,并提到了ARM ADS1.2开发工具包的一些功能特性及其在这个过程中所起到的作用。 使用ADS开发嵌入式程序时,需要着重考
2008-01-10 19:17:00 1200
转载 uc/OS II移植中软件中断的理解与应用
1. 软件中断SWISWI(software interrupt)软件中断,由用户定义的中断指令.可以用于用户模式下的程序调用特权操作指令.在实时操作系统中可以通过该机制实现系统调用.一个 SWI 所做的一切就是把模式改变成超级用户并设置 PC 来执行在地址 &08 处的下一个指令!编程异常通常叫做软中断.软中断是通讯进程之间用来模拟硬中断的一种信号通讯方式。中断源发中断请求或软中
2008-01-09 10:41:00 1245
转载 UCOS-II移植ARM的读书笔记(12.11--12.25)
以下内容转自http://blog.ednchina.com/embedtek/UCOS-II移植ARM的读书笔记(12.11) 真是很郁闷,昨天晚上边看移植代码边记下来的笔记不知道怎么回事在保存的时候竟然不见了。。。5555。。。一个晚上工作的结果啊,关键是我是第一次也是正式开始移植的学习之路啊。。。真是够倒霉的。。。。今天在工作之前先把昨天的笔记重新回顾一下,其实后来想想也许是
2008-01-09 10:38:00 5349 2
转载 arm开发经验!(适合初学者入门)
注:这个连载的版权属于自控所158所有。转载的时候请注明。转载需要通过作者本人同意。/* ********************************************************************************************************* *
2008-01-07 18:53:00 6103
转载 44B0XINIT注释
******************************************************* ; * NAME : 44BINIT.S * ; * Version : 10.JAn.2003 * ; * Description: * ; * C start up codes * ; * Configure memory, Initialize ISR ,stacks * ; *
2008-01-07 18:45:00 687
转载 OS_CPU.h,OS_CPU_A.s,OS_CPU.c
µC/OS-Ⅱ的移植集中在OS_CPU.h,OS_CPU_A.s,OS_CPU.c这三个文件上,下面分别详细介绍三个文件中的函数和需要修改或者编写的代码。 3.2.1 OS_CPU.h的移植 该文件定义了和处理器及编译器相关的定义及一些全局函数声明。由于ARM7 处理器字长为32位,半字长为16位,字节为8位,因此在OS_CPU.h文件修改与编译器相关的定义如下: typed
2008-01-07 18:44:00 1721
转载 UC/OS-II的详细移植笔记 两种处理器的移植比较(S1C33209和S3C44B0X)
关于UC/OS-II的移植网上介绍的已经很多了,比较流行的几款处理器(例如ARM)在网上都可以直接下载移植好的代码。由于最近选修了一门嵌入式系统的课,用的处理器是EPSON公司的S1C33系列,做实验的时候要进行操作系统的移植,这个周末花了一天半的时间学习了一下,因为毕业设计的时候做过ARM上的移植,于是将两者比较了一下,给出一般的移植要点。由于将来实验还要设计到GUI的移植以及文件系统的移植和网
2008-01-06 23:34:00 2091 1
转载 uClinux启动过程
uCinux的启动主要经历三个阶段。首先,必须完成CPU和存储器的硬件初始化,在系统RAM中建立程序堆栈和数据段,建立程序的运行时的环境。初始化完成之后,uClinux内核就取得了CPU的控制权,开始操作系统自身的初始化,这包括建立RAM中断矢量表、加载设备驱动程序、内存管理模块等等。这一切完成后,uClinux启动一个最初的init线程,进入到第三阶段,这时内核已经正常运行,外围模块也都就绪,开
2008-01-04 16:30:00 1124
原创 嵌入式词汇
ASIC(专用集成电路) Application-Specific Integrated Circuit. A piece of custom-designed hardware in a chip. 专用集成电路。一个在一个芯片上定制设计的硬件。address bus (地址总线) A set of electrical lines connected to the processor
2008-01-02 12:48:00 568
FPGA应用开发入门与典型实例(第二部分)
2010-03-22
High-Speed Digital System Design—A Handbook of Interconnect Theory and Design Practices
2008-11-05
DSP集成开发环境:CCS及DSP_BIOS的原理2
2008-06-24
DSP集成开发环境:CCS及DSP_BIOS的原理1
2008-06-24
【推荐】GNU make中文手册
2008-03-27
基于三星44b0的ucos-II移植代码
2008-03-17
跪求linux实时性能统计工具
2016-05-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人