Je suis un stagiaire qui a hérité d'un problème avec un programme de test à l'endroit où je travaille. Après avoir cherché un peu sur un peu je peux traverser une personne avec mon même problème. Après avoir demandé un peu ici, j'ai découvert que le gars qui a posté cela fonctionne toujours ici, et je reçois son aide avec cela aussi, mais je pense qu'il explique le problème un peu plus sussinctement que moi.Java/Ada Big Endian à Linux Little Endian problèmes
Voici le jist de celui-ci pour ceux d'entre vous qui ne veulent pas lire toutes ces ordures. Nous avons une interface graphique qui s'exécute du côté client et effectue des appels à distance à une application de test écrite dans Ada qui s'exécute sur une machine SPARC Unix. Quand tout le monde dans le bâtiment a utilisé des machines Unix pour tout faire, l'application de test et le gui ont bien fonctionné, mais récemment tout le monde a eu des machines linux x86 plus récentes. Tous ceux qui ont obtenu la mise à niveau ne sont pas en mesure d'exécuter l'application de test en raison de l'incompatibilité Big/Little Endian entre l'application de test et l'interface graphique.
Maintenant, c'est mon travail de trouver une solution. Maintenant, je sais qu'il va y avoir une grosse réécriture d'application ici, et je vais probablement devoir redéfinir la façon dont l'interface graphique et l'application de test se parlent, mais comment puis-je faire cela sans désassembler complètement le programme?
Quelques-unes des options que je suis venu avec moi-même sont les suivantes: Java RMI XML/RPC SOAP données de cuisson? Gardez à l'esprit, je suis un total de programmation réseau et même si ces "solutions" peuvent me sembler valables, je peux être complètement hors de la base. S'il vous plaît aider!
Comment avez-vous vérifié que l'endianness était, en fait, le problème? – Eddie
@Eddie - Je ne l'ai pas encore vérifié moi-même. Je vais sur la parole du dernier gars qui a travaillé sur le programme. Je suppose qu'ils continuent à amener les gens à travailler dessus, mais en les attirant vers d'autres projets. –
@Eddie: Si ce n'est pas * le * problème, c'est un * problème *. Ces deux systèmes avaient une endianness différente. L'ordre des octets * sera * erroné si vous transmettez des données entre eux et ne les prenez pas en compte. –