本文介绍了printf()如何工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道printf(stdio库函数)是如何工作的?是不是
这个depand在编译器上(我在Linix上使用gcc)


它是否使用一些缓冲区来存储所需的所有内容

打印并在程序结束时打印或其他内容。

解决方案



嗯。这取决于实现(所以库不是编译器

本身)。



你最好抓住glibc源并找到这个实现。

-

Tomasz bla Fortuna

jid:bla(at)af.gliwice.pl

pgp:0x90746E79 @ pgp.mit.edu

www:


- ----开始PGP SIGNATURE -----

版本:GnuPG v2.0.7(GNU / Linux)

iD8DBQFH5PKhT6wvGJB0bnkRAucXAJ9MXo8HWUUBIAenKRAWW0 FKCHrW5ACgnzXR

2PyUKHQKgpmKh83NlFQjHKM =

= 2kU +

----- END PGP SIGNATURE -----




嗯。这取决于实现(所以库不是编译器

本身)。



它取决于库和编译器。例如,

编译器可以选择转换

(void)printf(Hello,world!\ n);

进入

(void)puts(Hello,world!);

表现相同,但工作方式不同。




嗯。这取决于实现(所以库不是编译器

本身)。



你最好抓住glibc源并找到这个实现。


-

Tomasz bla Fortuna

jid:bla(at)af.gliwice.pl

pgp:0x90746E79 @ pgp.mit.edu

www:


signature.asc

1K下载



我已经这样做了..但没有太多描述

I want to know how does printf (stdio library function) works? Does
this depand on complier (I am using gcc on Linix)

Does it uses some buffer in which it stores all what needed to be
printed and in end of program it prints that or something else.

解决方案

Uhm. It depends on implementation (so on the library not the compiler
itself).

You''ll best just grab the glibc source and find this implementation.
--
Tomasz bla Fortuna
jid: bla(at)af.gliwice.pl
pgp: 0x90746E79 @ pgp.mit.edu
www: http://bla.thera.be

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.7 (GNU/Linux)

iD8DBQFH5PKhT6wvGJB0bnkRAucXAJ9MXo8HWUUBIAenKRAWW0 FKCHrW5ACgnzXR
2PyUKHQKgpmKh83NlFQjHKM=
=2kU+
-----END PGP SIGNATURE-----


Uhm. It depends on implementation (so on the library not the compiler
itself).

It depends on both the library and the compiler. For example, the
compiler may choose to transform
(void) printf("Hello, world!\n");
into
(void) puts("Hello, world!");
which behaves the same, but works differently.



Uhm. It depends on implementation (so on the library not the compiler
itself).


You''ll best just grab the glibc source and find this implementation.

--
Tomasz bla Fortuna
jid: bla(at)af.gliwice.pl
pgp: 0x90746E79 @ pgp.mit.edu
www:http://bla.thera.be

signature.asc
1KDownload

I have done that already.. but there is not much description


这篇关于printf()如何工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-29 01:44