🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #18723

Re: Una pregunta

#18723
From: Cymoril sin patas
Date: Mon, 26 Jul 1999 00:00
48 lines
2645 bytes
A 6 Jul 1999 23:59:28 GMT, fserrano@debian.linux.es (Hue-Bond)
escribiste:

>El Wed, 30 Jun 1999 15:42:59 +0200, Juanjo <jajs@retemail.es> nos contaba: 
>>
>>Aunque lo  compiles est�ticamente, un printf siempre
>>va a hacer la llamada al sistema write
>         Prrr! Ya  me he perdido. �Est�  eso en la Gu�a  del Programador
>     Linux? (s�, todav�a no me la he le�do :-DD).

A ver. Cuando tu llamas a printf, printf llama al c�digo de la
librer�a est�ndar para imprimir en pantalla, y es este el que har�
luego la escritura en pantalla o la llamada pertinente a quien tenga
que escribir en ella. Entonces considera esto:

hola.c

void main(void)
{
	printf("Hola mundo\n");
}

Si lo compilas para DOS, en el ejecutable obtenido printf llamar� al
c�digo de la librer�a est�ndar, ensamblador puro, que coger� la
memoria de video y le pondr� esa l�nea as� por la face. Si adem�s, la
escritura es sobre un fichero, entonces el tema se complica porque
llamar� al DOS para abrir el fichero, escribir en �l, etc y tendr� que
convertir \n en un retorno de carro y un avance de l�nea..

Si lo compilas bajo linux, el c�digo printf llamar� al kernel para
hacer un write en la terminal pertinente. Si la escritura es sobre un
fichero, llamar� al kernel para abrir el fichero, escribirlo, no
convertir� \n en CR+LF sino s�lo en CR (o eso creo), etc.

Es decir, el c�digo printf depende de la plataforma y S.O. en la que
est�s. hola.c se puede compilar para linux o DOS o lo que sea, pero lo
que no puedes hacer es un ejecutable universal, aunque s� un c�digo
fuente medianamente portable a otros sistemas.

Saludines.


-----------------------------------------------
Cymoril sin patas

"I believe this is heaven to no one else but me, and I'll defend it as long as I can be left alone to linger in my own silence." 

-----------------------------------------------
Technical Details
Message-ID: <37caba9c.14384000@news.mad.ttd.net>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <377b4741.11028810@news.mad.ttd.net> <37780663.AB0D749E@retemail.es> <slrn7nin1s.28g.fserrano@debian.linux.es> <377A1EE3.B4B4B009@retemail.es> <slrn7o5630.15g.fserrano@debian.linux.es>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,b041316f863877bc
X-Google-Attributes: gidf86c8,public
From: ceinalem@thegym.net (Cymoril sin patas)
Subject: Re: Una pregunta
Date: 1999/07/26
Message-ID: <37caba9c.14384000@news.mad.ttd.net>
X-Deja-AN: 505552952
Content-Transfer-Encoding: 8bit
References: <377b4741.11028810@news.mad.ttd.net> <37780663.AB0D749E@retemail.es> <slrn7nin1s.28g.fserrano@debian.linux.es> <377A1EE3.B4B4B009@retemail.es> <slrn7o5630.15g.fserrano@debian.linux.es>
Content-Type: text/plain; charset=ISO-8859-1
Organization: C.E.O.A.S.C.P.
Mime-Version: 1.0
Reply-To: jcelisa@nexo.es
Newsgroups: es.comp.os.linux.programacion