首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

printf函数是run-time library库函数吗?解决思路

2013-09-07 
printf函数是run-time library库函数吗?Charles Petzold的programming windows的第一章中有这样一句话:yes

printf函数是run-time library库函数吗?
Charles Petzold的programming windows的第一章中有这样一句话:
yes,once upon a time C programmers used C run-time library functionsiyang such as printf without declaring them first.

看不懂了。printf的代码不是链接时都从静态链接库中复制到执行文件中去了吗?那么和run-time library还有什么关系? printf
[解决办法]
c:\Windows\System32>dumpbin /EXPORTS msvcrt.dll 
[解决办法]
 find "printf"
        224   DF 0002D4D1 _cprintf
        232   E7 0002EB89 _cwprintf
        479  1DE 000308E7 _scprintf
        480  1DF 00030995 _scwprintf
        494  1ED 000309CD _snprintf
        496  1EF 00030A63 _snwprintf
        553  228 00030DFE _vscprintf
        554  229 00030EAA _vscwprintf
        555  22A 00030EE1 _vsnprintf
        556  22B 00030F3E _vsnwprintf
        684  2AB 00031D51 fprintf
        697  2B8 00032508 fwprintf
        754  2F1 000327C2 printf
        774  305 00030888 sprintf
        799  31E 0003091F swprintf
        813  32C 0003303E vfprintf
        814  32D 000330A0 vfwprintf
        815  32E 00033102 vprintf
        816  32F 00030DA0 vsprintf


        817  330 00030E35 vswprintf
        818  331 00033166 vwprintf
        841  348 000331CA wprintf
[解决办法]
crt可以静态链接,也可以动态链接。
[解决办法]
我估计这段讲的是函数原型的重要性。 
[解决办法]
链接选项里有md和mt之分
还有,你说的静态链接库不就是crt吗?
这句话确实是强调声明的重要性

[解决办法]
C运行库有三种:MSVCRT LIBC LIBCMT,他们的选择可以分别使用链接参数/MD /ML /MT来完成
一般用到的都是msvcrt.dll,所以printf的代码应该是引用自msvcrt
[解决办法]
yes,once upon a time C programmers used C run-time library functionsiyang such as printf without declaring them first.
是的,曾经有段时间,C程序员使用CRT库函数(例如printf),但并不事先声明。

热点排行