- 博客(16)
- 资源 (16)
- 收藏
- 关注
转载 c++标准库 及 命名空间std
c++标准库 及 命名空间std1、命名空间std C++标准中引入命名空间的概念,是为了解决不同模块或者函数库中相同标识符冲突的问题。有了命名空间的概念,标识符就被限制在特定的范围(函数)内,不会引起命名冲突。最典型的例子就是std命名空间,C++标准库中所有标识符都包含在该命名空间中。 如果确信在程序中引用某个或者某些程序库不会引起命名冲突(即库中的标识符不会在程序
2015-12-28 09:34:22 621
转载 Java中super的几种用法并与this的区别
1. 子类的构造函数如果要引用super的话,必须把super放在函数的首位.class Base { Base() { System.out.println("Base"); }} public class Checket extends Base { Checket() { super();//调用父类的
2015-03-01 19:20:24 387
转载 关于C语言的char类型是有符号还是无符号
Published by 荒野无灯 on 2011-06-24 15:53:04 underprogramming/c/c++ Tags:c/c++,char,cpp,signed,unsigned 5200 views这是C语言里面比较纠结的一个问题。有时候这个问题和平台或者编译器有关。貌似gcc和 Ms cl 都默认是signed12
2014-01-02 21:35:48 5145
转载 有符号数与无符号数之间运算问题
有符号数与无符号数之间运算问题以下实验均在virual c++6中运行通过这个问题测试是否懂得C语言中的整数自动转换原则,有些开发者懂得极少这些东西。当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类型。因此,从这个意义上讲,无符号数的运算优先级要高于有符号数,这一点对于应当频繁用到无符号数据类型的嵌入式系统来说是丰常重要的。首先进行一个实验,分别定义一个sig
2014-01-02 21:20:14 601
转载 vs2010 快捷键大全
vs2010 快捷键大全VS2010版快捷键Ctrl+E,D ----格式化全部代码 Ctrl+E,F ----格式化选中的代码 CTRL + SHIFT + B生成解决方案 CTRL + F7 生成编译 CTRL + O 打开文件 CTRL + SHIFT + O打开项目 CTRL + SHIFT + C显示类视图窗口 F4 显示属性窗口
2013-06-16 10:05:08 525
转载 fprintf 的封装(vsprintf,va_start(), va_arg(), va_end()可变参数列表)
首先我们来看一个封装的实例:
2013-06-13 21:01:05 614
转载 VC++6.0 之NEW调用的BUG
_heap_alloc_debug 会使程序崩溃调。所有版本的VC++6.0。new中调用了._malloc_dbg(), 和_heap_alloc_dbg().在_heap_alloc_dbg()中有个静态的long 型计数器, _lRequestCurr (Microsoft visual StudioVC98CrtSrcdbgheap.c),初始化为1。每次new()或 mall
2013-05-27 21:26:17 603
转载 OleInitialize、CoInitialize、CoInitializeEx和AfxOleInit()区别
CoInitialize CoInitializeEx 是用来初始化COM运行环境的。OleInitialize是初始化Ole的运行环境,Ole是在Com的基础上作的扩展,是ActiveX运行的基础,OleInitialize肯定会调用CoInitialize。CoInitialize、CoInitializeEx都是windows的API,主要是告诉windo
2013-05-27 21:21:40 2378
原创 vxworks end驱动的调试
1.修改confignet.h中的数组END_TBL_ENTRY endDevTbl [],在其中添加要加载的end驱动的一个表项,这个表项中包含:设备单元号、load装载函数、load buffer等等。如果需要加载多个则需要全部添加到表中。2.在usrRoot()中会对END_TBL_ENTRY endDevTbl []表中的end驱动进行初始化: for (count
2011-06-24 17:56:00 2194
原创 vxworks在shell下设置断点调试
第一步:进入shell模式Switch#mEnter into super shell mode!!BCM.0> shell ->第二步:反汇编要设置的断点所在的函数l fsFileValidCheck一直执行l进行反汇编,直到找到需要设置断点的位置为止。-> l fsFileValidCheck fsFileValid
2011-06-11 08:59:00 4878
原创 BootRom的生成过程
Vxworks5.5命令行方式编译config.rom过程中涉及到的文件的结构如下所示:Make_5980_28_52T_configrom.battovarsPPC_2.2.1.batBSP/makefile/mpc834x/makefi
2011-06-06 18:00:00 4776
原创 PPC E500内核寄存器
ABI手册中规定用户编程是需要注意的:1.r0 存放LR寄存器的值,即函数的返回地址。2.r1 PPC处理器没有在指令级别上支持堆栈,没有专门的堆栈类寄存器,ABI规定使用r1保存栈顶指针。3.r3-r4 存放程序的返回值。4.r3-r10 用来传递函数的参数,不够则使用堆栈进行传递,尽量控制在8个参数范围内这样可以提高函数的调用效率。5.r13 用来存放数据段的基地址。
2011-06-05 21:31:00 2614 1
原创 BOOTROM的连接
<br />bootrom的链接是通过文件link.dotbootrom完成的,文件的内容如下:<br />ENTRY(_start)<br />SECTIONS<br />{<br /> .text :<br /> {<br /> wrs_kernel_text_start = .; _wrs_kernel_text_start = .;<br /> *(.text) *(.text.*) *(.stub) *(.gnu.warning) *(.gnu.linkonce.t*)<
2011-05-21 21:11:00 1045
原创 CPU MPC8541和MPC8248启动过程的区别
<br />MPC8541:<br /> CPU上电后会在0xFFFFFFFC处取的第一条指令(这段可以称为reset区),然后在0xFFFFFFFC执行一跳跳转指令跳转到BOOT区(地址空间的最高4K),在BOOT区完成必要的初始化后,跳转到TEXT区开始执行。<br /> <br />MPC8248:<br /> CPU上电启动地址通过硬件配置字来进行选择,既可以从0x00000000开始也可以从0xFFF00000开始。因此,只需要把bootloader的代码段映射到地址空间的最高
2011-05-21 21:00:00 893
原创 strcmp与memcmp
今天需要做一个判断交换机的重启是冷启还是热启,经过讨论决定在高端内存存入一个字符串,因为高端内存是预留出来的,操作系统并不知道高端内存的存在,所以每次热重启高端内存并不会清掉,所以可以通过读取这一字符串进行比较,如果字符串正确则任务是热启动,否则认为是冷启动。 我填充的字符串是"/x00/x00/x00/x00/x00/xaa/xaa/xaa/xaa/xaa/x55/x55/x55/x55/x55/xff/xff/xff/xff/xff”,然后使用strcmp进行比较,结果发现总是返回
2010-11-08 22:34:00 500
VxWorks下设备驱动程序及BSP开发指南
2011-04-04
c常用宏定义,很全面
2009-09-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人