none
vprintf函数如何定义 RRS feed

  • 问题

  •  

    网上看到printf函数的定义是:

    #include <stdarg.h>
    #include <stdio.h>

    int printf( char * format , ...)
    {
        va_list ap;
        int n;
        va_start (ap,format);
        n=vprintf(format ,ap);
        va_end(ap);
        return n;
    }

    也就是调用了vprintf函数,但是我一直没有找到 vprintf函数的定义!
    不知道这个函数的定义是否开源呢 ?
    2008年12月19日 11:12

答案

  • VS一直提供CRT的源码的。下面是eula.txt中的相关版权说明:

    · MFCs, ATLs and CRTs.  You may modify the source code form of Microsoft Foundation Classes (MFCs), Active Template Libraries (ATLs), and C runtimes (CRTs) to design, develop and test your programs, and copy and distribute the object code form of your modified files under a new name.

     

    如果你希望阅读CRT的源码,可以使用第三方的代码阅读软件,譬如Source Insight

    2008年12月21日 13:43

全部回复

  • 如果安装VS的时候选择了安装CRT源码的话,你可以在安装目录找到:Microsoft Visual Studio 9.0\VC\crt\src\vprintf.c

    2008年12月19日 11:51
  • 哇,真的,现在的VS怎么提供源代码了 ??
     
    2008年12月20日 14:07
  • vprintf_helper函数中的 outfn(stream, format, plocinfo, ap );还是不知道!!
    我想使用基本的C语言实现这个函数
    看来还真的有点困难呀!!
    2008年12月20日 14:14
  • VS一直提供CRT的源码的。下面是eula.txt中的相关版权说明:

    · MFCs, ATLs and CRTs.  You may modify the source code form of Microsoft Foundation Classes (MFCs), Active Template Libraries (ATLs), and C runtimes (CRTs) to design, develop and test your programs, and copy and distribute the object code form of your modified files under a new name.

     

    如果你希望阅读CRT的源码,可以使用第三方的代码阅读软件,譬如Source Insight

    2008年12月21日 13:43