Comment utiliser une DLL de Windows avec Java sous Mac OS X?
J'ai vu certains projets Java à l'aide de taucs.dll
, TAUCS—une bibliothèque C de éparses solveurs linéaires, à travers la JNI dans Windows. Je suppose que je peux atteindre le même système d'exploitation Mac OS X par la compilation de TAUCS en quelque chose comme libTaucs.jnilib
. J'ai accès à la bibliothèque de code, mais aucune idée de la façon de les compiler dans une DLL, le laissez seul un JNI de la bibliothèque. Jusqu'à présent, je peux compiler uniquement à une bibliothèque statique.
Est-il un moyen de convertir une DLL pour un JNI bibliothèque pour Mac? Si je dois compiler le code, comment faire? Va enrouler une bibliothèque statique dans une dynamique de travail de la bibliothèque avec JNI, en particulier pour les TAUCS si quelqu'un a une expérience?
OriginalL'auteur puri | 2011-10-26
Vous devez vous connecter pour publier un commentaire.
Enfin Microsoft a publié .NET de Base qui est complètement indépendant de la plateforme. Lorsque vous créez une DLL à l'aide .NET framework, vous pouvez exécuter le fichier avec la commande suivante.
Aussi, maintenant .NET applications peuvent être développées sur un Mac ou Linux de la machine à l'aide de l'léger IDE Le Code De Visual Studio et Visual Studio pour Mac IDE a été libéré où Mono sur MacOS X est intégré.
OriginalL'auteur Shahdat
De nombreux systèmes d'exploitation, le concept de bibliothèques partagées, mais bien sûr, le format etc. de ces bibliothèques est différent sur différents systèmes d'exploitation.
Dll (Liée de façon dynamique les Bibliothèques) sont la version Windows de bibliothèques partagées. Vous ne pouvez pas simplement utiliser une DLL à partir d'une machine Windows, sur Mac OS, exactement comme vous ne pouvez pas exécuter une application Windows sur Mac OS (ou tout autre système d'exploitation).
Au lieu d'essayer d'utiliser une DLL de Windows sur Mac OS, vous avez besoin de trouver un Mac OS version de la bibliothèque native de ce que vous essayez d'utiliser. Ou si vous avez le code source, les compiler dans un système d'exploitation Mac OS natif de la bibliothèque partagée. Bibliothèques partagées sur Mac OS X ont l'extension .donc (au lieu de .dll), qui signifie "objets partagés".
Le chargement à l'aide seulement de Java n'est pas possible.
Merci pour votre réponse. En fait je le savais, mais formé à la question de cette façon parce que j'ai secrètement espéré qu'il y aurait une étape magique pour le faire. Par la manière, le Vin sera à l'encontre de l'idée de faire mon lourd fonctions plus rapide.
Dans l'intérêt de la précision. Dire qu'il n'est pas possible avec Java n'est pas exacte. Bien sûr, il est possible, il n'est tout simplement pas facile et il y a (à ma connaissance) prêt des installations. En principe, tout ce que nous devons faire est d'écrire du code qui peut lire .les fichiers dll et d'analyser les points d'entrée et ensuite utiliser par exemple JNA à les appeler par l'intermédiaire de ces points d'entrée. Une complication supplémentaire est que si l' .dll appelle WinAPI (beaucoup de/la plupart), et c'est là une solution de Vin. Si possible, mais pas facile et très laborieux.
Aussi dans l'intérêt de précision en utilisant le VIN n'est pas nécessairement lent. Installer et commencer le VIN prend du temps, mais en fonction de comment le .les fonctions de dll sont appelés de leur exécution pourrait être rapide.
OriginalL'auteur Sumit Singh