- 博客(4)
- 收藏
- 关注
原创 对C/C++可变参数表的深层探索3
运行机制探索 通过第2节我们学会了可变参数表的使用方法,相信喜欢抛根问底的读者还不甘心,必然想知道如下问题: (1)为什么按照第2节的做法就可以获得可变参数并对其进行操作? (2)C/C++在底层究竟是依靠什么来对这一语法进行支持的,为什么其它语言就不能提供可变参数表呢? 我们带着这些疑问来一步步进行摸索。 3.1 调用机制反汇编 反汇编是研究语法深层特性的终极良策,先来看看2.2节例
2005-12-21 15:35:00 564
原创 对C/C++可变参数表的深层探索1
引言 C/C++语言有一个不同于其它语言的特性,即其支持可变参数,典型的函数如printf、scanf等可以接受数量不定的参数。如:printf ( "I love you" ); printf ( "%d", a );printf ( "%d,%d", a, b ); 第一、二、三个printf分别接受1、2、3个参数,让我们看看printf函数的原型:int printf ( const
2005-12-21 15:33:00 508
原创 对C/C++可变参数表的深层探索2
高级应用 下面这个程序是我们为某嵌入式系统(该系统中CPU的字长为16位)编写的在屏幕上显示格式字符串的函数DrawText,它的用法类似于int printf ( const char *format, ... )函数,但其输出的目标为嵌入式系统的液晶显示屏幕(LED)。//////////////////////////////////////////////////////////////
2005-12-21 15:33:00 514
原创 C语言中可变参数宏的深入讨论
C语言中可变参数宏的深入讨论aero 发表于 2004年10月13日18时11分 C语言中可变参数宏的深入讨论C语言中的可变参数是用va_list等几个宏来实现的。其原理就是获取参数进栈的地址,然后分析出各个参数。具体的用法不在赘述,其实也很简单。看下面的例子应该就可以掌握。VC中IX86平台的:#ifndef _VA_LIST_DEFINED#ifdef _M_ALPHAtypedef stru
2005-12-21 15:07:00 1022
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人