🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Una pregunta

#18648
From: *puntero_loco
Date: Wed, 28 Jul 1999 00:00
61 lines
3359 bytes
El Mon, 26 Jul 1999 22:41:58 GMT, Cymoril sin patas <ceinalem@thegym.net> escribi�:
|A Tue, 29 Jun 1999 01:33:55 +0200, *puntero_loco <jajs@retemail.es>
|escribiste:
|
|>Cristina Amor wrote:

|> Si quieres hacer
|>un programa que no contenga llamadas al sistema...pues no utilices la
|>librer�a est�ndar (aunque seguramente habr� cosas que puedas utilizar)
|>porque las librer�as (por ejemplo, el printf) hacen llamadas al sistema
|>y eso es lo que queremos evitar.
|Eso es una "bobada", ya que lo que interesa de un programa es que se
|pueda compilar bajo distintas arquitecturas, no que un solo ejecutable
|valga para todos los S.O. y plataformas. Usar printf es lo m�s
|recomendable.

Hombre, no es una bobada cuando lo que preguntaba era si pod�a hacerse
cross-compiling con el linux, es decir crear ejecutables m�s o menos
"gen�ricios", como el del n�cleo, que vayan a funcionar es otra historia m�s complicada.

Que un programa se puede compilar en diferentes arquitecturas lo sabemos todos
aqu�.

|>Una soluci�n para no tener que reinventar la rueda es utilizar las
|>librer�as del propio nucleo de linux (por ejemplo, para poder utilizar
|>printk) que no utilizan las llamadas al sistema.
|Entonces pierdes la portabilidad. De todas maneras, seg�n strace,
|printf hace una llamada write, y eso es tirar de n�cleo. 

�Pero printf no pertenece a las librer�as del n�cleo! . El n�cleo utiliza printk

|>Otra cosa es el formato del ejecutable. Eso si que te impedir�a que un
|>mismo programa compilado se pueda ejecutar en cualquier SO, pero hay una
|>versi�n del Gcc que puede act�al como "cross-compiler", (no suele venir
|>en las distribuciones), o sea, que te permite generar ejecutables para
|>distintas arquitecturas.
|Eso es otra cosa. De todos modos, las diferencias DOS/UNIX son lo
|bastante grandes como para tener problemas (e.g. conio.h vs ncurses)
|O tiras de #ifdef y #ifndef y #elif y compa��a, con compilaci�n
|condificonal por un tubo, o tu dir�s.

Ya, de hecho el gcc para cross-compiling te puede crear ejecutables para otras
m�quinas, que ejecuten Linux o Unix. Pero ah� est� lo interesante, en que
pueden compilar para M88K (por ejemplo), desde un Pc-i386

|-----------------------------------------------
|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." 
|
|-----------------------------------------------


-- 
 / -----------------------\
|      *puntero_loco       |  
|     Debian 2.1 Slink     |
| Usuario Linux Registrado |
|          130571          |
|     jajs@retemail.es     |
 \------------------------/
Technical Details
Message-ID: <26bmn7.op1.ln@JuAnJuX>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <377b4741.11028810@news.mad.ttd.net> <37780663.AB0D749E@retemail.es> <37c8b987.14106475@news.mad.ttd.net>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,b041316f863877bc
X-Google-Attributes: gidf86c8,public
From: jajs@retemail.es (*puntero_loco)
Subject: Re: Una pregunta
Date: 1999/07/28
Message-ID: <26bmn7.op1.ln@JuAnJuX>
X-Deja-AN: 506149086
Content-Transfer-Encoding: 8bit
References: <377b4741.11028810@news.mad.ttd.net> <37780663.AB0D749E@retemail.es> <37c8b987.14106475@news.mad.ttd.net>
Organization: Tarifa plana para todos YA!
Content-Type: text/plain; charset=iso-8859-1
User-Agent: slrn/0.9.5.3 (UNIX)
Mime-Version: 1.0
Newsgroups: es.comp.os.linux.programacion