#135 Evidentemente el software que utilice las extensiones de GNU solo se puede enlanzar contra glibc. No es el caso de por ejemplo busybox, xfce.
Como ejemplo esta Alpine Linux.
La incompatibilidad de la que usted habla solo ocurre si se utilizan las extensiones de GNU.
Ejemplo sencillo.
DYNAMIC SYMBOL TABLE:
0000000000000000 DF UND 0000000000000000 puts
0000000000000000 DF UND 0000000000000000 __libc_start_main
0000000000601030 g D .data 0000000000000000 _edata
0000000000601038 g D .bss … » ver todo el comentario
#2 Por Dennis Ritchie, que en paz se recompile. A mí se me declaran con ese chorizo de código y huyo despavorido. Ni punto de comparación con la elegancia de:
public PPPSOE()
{
Form form = new Form("Espero no gobierne más el PPPSOE en España");
form.append("Espero no gobierne más el PPPSOE en España");
Display.getDisplay(this).setCurrent(form);
}
#40: Yo en la universidad hice uno del método Martingala de los casinos (apostar siempre al rojo y doblar la apuesta si se pierde). No recuerdo bien cómo funciona, pero bueno aquí lo dejo (licencia de dominio público), el autor de la página web está invitado a cogerlo si le interesa:
main(){
int i, n, aleatorio, P, U;
char cadena[31];
int contador, contadortotal;
long int topeganado, topeperdido, topejugando, dinero, jugando;
contadortotal=0;
dinero=0;
topeperdido=0;
topeganado=0;
jugando=1;
topejugando=1;
printf("Numero de tiradas: ");
scanf("%s",cadena);
contador=atoi(cadena);
while(contador){
srand((int)contadortotal*3);
aleatorio = (int… » ver todo el comentario
INT MAIN (VOID)
{
....CHAR EXABRUPTO[EXABRUPTO_MAXLENGTH]
....WHILE (VENAENFRENTEQUETEEXPLOTA)
....{
........FFLUSH(STDIN);
........SCANF("%S", EXABRUPTO);
........PRINTF("%SN", ANDARGRITANDO(EXABRUPTO));
....}
....RETURN 0;
}
$> gcc CUÑAOLOCO.c EXPULSABILIS.OUT
$> chmod u+x EXPULSABILIS.OUT
$> ./EXPULSABILIS.OUT
$>
en españa estamos en nivel de alerta 4 antiterrorista.
nivel 5 es el ejercito en las calles.
esto no es el gta5, es la vida real. y es en paris y ahora.
Si tu me pone Boost, pues bueno, yo no tendré problemas en ponerte una capa más idónea para usar C en el siglo XXI, y que no lastre tanto. surf.suckless.org/
Este el navegador que te dije. Pude meter WebGL en una línea, y no, no fué ni con #DEFINE WEBGL 1 ni con #include's
No lo proveían por defecto, no te digo más. Y tampoco daban instrucciones.
char* miscosas;
int main(){
while(miscosas=malloc(1000*1000*100))
printf("Ñam\n");
while(1){
sleep(60);
sprintf(miscosas, "Jueeego, con mi melocotoneeeeero");
}
}
Es un programa pequeñito y funciona automágicamente sin tener que configurar nada. Así me aseguro de que no desperdicie RAM mi ordenador.
Ah, y por supuesto, aprovecha su nuevo meloco... digo... la RAM que usa.
Siempre he disfrutado de estructuras o diseños informáticos realmente soberbios. De algoritmos sublimes o frameworks que llevan la abstracción a su máximo extremo.
El problema es que lleva demasiado tiempo y preparación disfrutar de esas genialidades. Además de que es complicado encontrar lo realmente bueno dentro de millones de lineas de código. Muchas veces no es accesible por motivos de copyright.
En mi modesta opinión, la programación es una artesanía mental que tiene momentos de puro arte, pero sólo al alcance de unos pocos.
Como ejemplo esta Alpine Linux.
La incompatibilidad de la que usted habla solo ocurre si se utilizan las extensiones de GNU.
Ejemplo sencillo.
====== hola.c =====
#include <stdio.h>
int main(void)
{
printf("Hola Mundo");
return 0;
}
=================
$ musl-gcc -o hola_musl hola.c
$ ./hola_musl
Hola Mundo
$ objdump -T hola_musl
hola_musl: formato del fichero elf64-x86-64
DYNAMIC SYMBOL TABLE:
0000000000000000 DF UND 0000000000000000 puts
0000000000000000 DF UND 0000000000000000 __libc_start_main
0000000000601030 g D .data 0000000000000000 _edata
0000000000601038 g D .bss … » ver todo el comentario