Muy a groso modo, el concepto de libreria, de funcion, de clases...son todos conceptos que C/C++ monta encima del ensamblador para que sea mas sencillo programar. Ignoro cuales son los detalles que diferencian gcc2 de gcc4, pero si simplemente han cambiado el mecanismo por el que se llama a una funcion, ya no funcionara nada. Por ejemplo, ahora mismo, cuando una funcion retorna un entero, lo que se hace es dejar este en el registro EAX antes de terminar. Si se trata de un numero flotante se deja en la pila de la FPU, ST0. Imaginate que ahora, por la razon que sea, gcc4 decide que las funciones retornaran los enteros a traves de ECX. El codigo compilado con gcc2 no leera correctamente el retorno de funciones compiladas en gcc4. Esto es solo un ejemplo, como ya te he comentado antes, a ciencia cierta no se donde puede estar el problema, pero vamos, que sirva para visualizar como con una misma arquitectura (x86-32) no funcionarian. Un saludo El día 24/03/09, Skar Cat <skarmiglione.sk4r@xxxxxxxxx> escribió: > > quiero saber que es lo que hace que gcc 2.9 pueda ejecutar los programas de > beos 5(si tal vez no todos fueron compilados con este) y por que entonces > una libreria gcc4 no puede ejecutar estos binarios...desde mi ignorancia > supondria que esto deberia ser posible puesto que gcc 4 deberia tener mas > opciones...¿no? a profundidad no entiendo por que, por ejemplo en el caso de > las librerias de 64 bits y de 32 en linux x64 entiendo por que el nucleo no > estaria adecuado para las funciones del hardware moderno(osea con las nuevas > instrucciones y quedaria limitado), si fuese de 32bits. > se agradece infinitamente una explicacion con amor, dedicacion y sugerencia > de lectura(bibliografia, en español preferimblemente que estos temas ya de > por si parecen chino pero en ingles tambien se acepta). > > no en serio muchas gracias por la atencion. >