`
yaojingguo
  • 浏览: 208124 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Possible Implementation of ANSI C stdarg.h on IA-32

阅读更多

#include <stdio.h>

typedef char* vay_list;

#define vay_rounded_size(type) \
  (((sizeof (type) + sizeof (int) - 1) / sizeof (int)) * sizeof (int))

#define vay_start(ap, v) \
  ((void) (ap = (vay_list) &v + vay_rounded_size (v)))

#define vay_arg(ap, type) \
  (ap += vay_rounded_size (type), *((type *)(ap - vay_rounded_size (type))))

#define vay_end(ap) ((void) (ap = 0))


void PrintFloats (int amount, ...)
{
  int i;
  double vayl;
  printf ("Floats passed: ");
  vay_list vl;

  vay_start(vl,amount);

  for (i=0;i<amount;i++)
  {
    vayl=vay_arg(vl,double);
    printf ("\t%.2f",vayl);
  }

  vay_end(vl);

  printf ("\n");
}

int main ()
{
  PrintFloats (3,3.14159,2.71828,1.41421);
  return 0;
}
 
分享到:
评论

相关推荐

    printf-stdarg.c

    资源中的串口打印,可用于所有TI系列功能安全类芯片,只需更改串口寄存器的地址即可使用。可用于串口调试。如何配置串口在本人博客中已经讲解,可以参考。

    可变参数stdarg.h使用方法(例题)

    可变参数stdarg.h使用方法(例题) va_list用法 va_start已经 va_end

    stdarg.h中三个宏va_start ,va_arg和va_end的应用

    为了支持这种功能,C语言提供了一个特殊的头文件`stdarg.h`,其中包含了三个重要的宏:`va_start`、`va_arg`和`va_end`。通过这些宏,程序员可以创建出能够处理不定数量参数的函数。 #### 1. 宏的基本介绍 - **`va...

    _mingw_stdarg.h

    _mingw_stdarg.h

    ANSI-C标准函数库(中文)

    ANSI-C标准函数库是一套用于支持C语言编程的标准库集合,旨在提供一系列通用且标准化的功能,帮助开发者更高效地进行程序设计与实现。该标准库并非C语言的核心组成部分,但却是开发C程序不可或缺的一部分。它由多个...

    C函数库 C语言库下载

    C函数库,也被称为C语言库,是C编程语言中不可或缺的一部分。这些库包含了大量预定义的函数,供程序员在编写程序时调用,以实现特定的功能,如输入输出操作、数学运算、字符串处理、内存管理等。C语言库不仅提高了...

    免费的单片机C语言常用头文件.pdf

    免费的单片机C语言常用头文件 单片机C语言是一种常用的嵌入式系统编程语言,需要使用各种头文件来提供函数和宏定义。本文将对免费的单片机C语言常用头文件进行详细的解释和分析。 1. assert.h - 断言头文件 ...

    Portable C standard library.zip

    在C语言中,"portable" 通常意味着代码遵循ANSI C或C99、C11等标准,并且不依赖于特定的硬件特性或操作系统接口。因此,这个库可能包含了一些跨平台的解决方案,如文件操作、内存管理、输入/输出以及线程支持等功能...

    c语言基于stdarg.h的可变参数函数的用法

    C语言基于stdarg.h的可变参数函数的用法 在C语言中,函数的参数个数通常是在函数声明时指定的,但是在某些情况下,我们需要使用可变参数函数,即函数的参数个数可以根据实际情况而定。这种函数的实现是基于stdarg.h...

    C标准库文档,包括标准库中12个头文件的描述

    * &lt;stdarg.h&gt; : Variable Argument Lists * &lt;stddef.h&gt; : Definitions of General Use * &lt;stdio.h&gt; : Input and Output * &lt;stdlib.h&gt; : Utility functions * &lt;string.h&gt; : String functions * &lt;time.h&gt; : Time...

    stdio.h的下载,安装dev里面也有

    c的头文件stdio.h

    The C programming Language(chm格式完整版)

    Variable Argument Lists: &lt;stdarg.h&gt; Non-local Jumps: &lt;setjmp.h&gt; Signals: &lt;signal.h&gt; Date and Time Functions: &lt;time.h&gt; Implementation-defined Limits: &lt;limits.h&gt; and &lt;float.h&gt; Appendix C: Summary ...

    C语言库函数

    C语言库主要分为标准库(如ANSI C或C99规定的库)和其他第三方库。标准库中最常用的部分包括: 1. **stdio.h** - 输入输出函数:`printf()` 用于格式化输出,`scanf()` 用于格式化输入,`fopen()` 和 `fclose()` ...

    C语言库函数归纳

    ### C语言库函数归纳 #### 1. vsscanf() - **定义**: `#include &lt;stdio.h&gt;` - **函数原型**: `int vsscanf(const char *str, const char *format, va_list ap);` - **功能描述**: `vsscanf()` 函数用于根据指定的...

    绿色版PocketDOS 和 绿色版TC3.0

    FILES ON DISKS -------------- DISK 1 ------ INSTALL EXE - Install program UNZIP EXE - Decompress .ZIP files README COM - Reads this README CLASSDBL ZIP - BIDSDBL PRJ - Project file for building ...

    关于C语言函数库 很全面

    C语言函数库是C编程中的核心组成部分,它包含了大量的预定义函数,这些函数为程序员提供了丰富的功能,使得在编写程序时能够高效、便捷地处理各种任务。C语言库函数主要分为标准库(如stdio.h、stdlib.h等)和其他库...

    在RedHat9下安装SimpleScalar

    - 将protoize.c文件的第60行中的`#include &lt;varargs.h&gt;`更改为`#include &lt;stdarg.h&gt;`。 - 修改obstack.h文件的第341行。 - 执行以下命令以避免出现`parser error stdio.h`的错误。 ```bash cp ./patched/sys/...

    c语言库函数

    C语言库函数是C编程中的重要组成部分,它们提供了一系列预定义的功能,可以帮助程序员高效地完成各种任务,如输入输出操作、字符串处理、数学计算、内存管理等。在C语言中,库函数是通过链接到标准库来使用的,这些...

    C 语言和C语言头文件大全..docx

    20. **`STDARG.H`** - **功能**: 定义了处理可变参数列表的宏。 - **示例**: `va_start()`, `va_end()` 21. **`STDLIB.H`** - **功能**: 提供了一组常用的函数,如字符串转换、排序等。 - **示例**: `atoi()`, ...

Global site tag (gtag.js) - Google Analytics