Ce serait l'équivalent de l'API Win32 linux?
Je ne veux pas savoir si il y a un un-à-un à l'équivalence entre les fonctions de l'API windows et linux, ni voulez savoir à chaque fonction de l'API.
Je veux juste savoir ce pour deux choses de base:
- Je veux comprendre pourquoi Qt indépendant de la plateforme
- Je veux savoir ce que l'API dois-je utiliser linux au port d'une application programmée avec l'API Win32, ou en d'autres termes, à l'API Win32.
Je sais que ce n'est pas pratique, mais je veux savoir ce équivalence.
Mainsoft fournit une possibilité (quoique, à une sérieuse des prix).
Qt est une couche d'abstraction. Il a de la plate-forme de mises en carte Qt commandes sous-jacent au fonctionnement natif. Cela dépend de l'api win32 appel que vous voulez de port. Certaines sont spécifiques à windows qu'ils ont peu de chances de travailler n'importe où ailleurs.
Win32 est une massive gamme de semi-bibliothèques pour tout, des éléments d'interface graphique de graphiques 3D de prise de manipulation. Linux est beaucoup plus modulaire, et vous aurez probablement envie de choisir, plusieurs bibliothèques à utiliser dans votre projet de portage.
Comment est-ce que Linux 'beaucoup plus modulaire", alors?
Mon plus grand point est que personne ne peut vous recommander un bibliothèque pour le port de votre application contre qui fournit toutes les fonctionnalités dont vous avez être à l'aide de l'API Win32. Win32 est censé être le seul point d'interaction entre votre application et le système d'exploitation, et il peut fournir ce que parce que chaque aspect du système d'exploitation est fixé à un certain niveau. Il y a trop de variable composants d'un système Linux pour qu'il y ait un générique "bien Sûr, l'utilisation de ce bibliothèque" réponse. La réponse à "Quel serait l'équivalent de l'API Win32 linux?" est-il n'est pas.
Qt est une couche d'abstraction. Il a de la plate-forme de mises en carte Qt commandes sous-jacent au fonctionnement natif. Cela dépend de l'api win32 appel que vous voulez de port. Certaines sont spécifiques à windows qu'ils ont peu de chances de travailler n'importe où ailleurs.
Win32 est une massive gamme de semi-bibliothèques pour tout, des éléments d'interface graphique de graphiques 3D de prise de manipulation. Linux est beaucoup plus modulaire, et vous aurez probablement envie de choisir, plusieurs bibliothèques à utiliser dans votre projet de portage.
Comment est-ce que Linux 'beaucoup plus modulaire", alors?
Mon plus grand point est que personne ne peut vous recommander un bibliothèque pour le port de votre application contre qui fournit toutes les fonctionnalités dont vous avez être à l'aide de l'API Win32. Win32 est censé être le seul point d'interaction entre votre application et le système d'exploitation, et il peut fournir ce que parce que chaque aspect du système d'exploitation est fixé à un certain niveau. Il y a trop de variable composants d'un système Linux pour qu'il y ait un générique "bien Sûr, l'utilisation de ce bibliothèque" réponse. La réponse à "Quel serait l'équivalent de l'API Win32 linux?" est-il n'est pas.
OriginalL'auteur m4l490n | 2013-01-04
Vous devez vous connecter pour publier un commentaire.
Vous devez comprendre ce que syscalls sont. Sur Linux, ils sont le plus bas possible l'utilisateur terres de l'API (en revanche API Win32 probablement mélanges véritable noyau syscalls avec certaines bibliothèques de fonctions.
libc
également fait un tel mélange sur Linux). fork(2), execve(2), open(2), pipe(2), mmap(2), read(2), poll(2), close(2), dup2(2), sigaction(2) sont importants syscalls (mais il y a environ 300 d'entre eux).Ne pas s'attendre à ce que les fonctionnalités de windows sera disponible sur Linux (et vice versa). Ne pensez même pas à un tel équivalent. Obtenir un autre état d'esprit sur Linux. (En particulier, les processus de sont très différents sur Linux et sur Windows).
N'oubliez pas que Linux est logiciel libre, et vous pouvez plonger dans le code source de toutes les fonctions que vous utilisez sur Linux. La lire, de la recherche, de l'améliorer.....
Lire la intro(2) page de manuel de première, et de plusieurs autres pages de man (notamment syscalls(2), intro(3) etc...). À lire aussi, par exemple, Advanced Linux Programmation et Avancée De La Programmation Unix.
Certaines bibliothèques essayer de factoriser et fournir une abstraction pour les deux Posix (par exemple Linux) et Windows. En particulier Qt (et aussi Gtk).
Si vous êtes intéressé à propos de l'interface graphique, de comprendre le rôle important de X11 (notez que le serveur X11 est le plus proche de l'écran & clavier; la plupart des applications graphiques sont les clients X11). En 2016, X11 ont tendance à être remplacées par des Wayland (mais vous ne remarquerez pas que la mise en œuvre de "détail" - une très importante - si vous code avec Qt ou GTK)
Si vous écrivez une application utilisant seulement Qt appels (ceux qui ne sont pas documentés comme étant spécifiques à Linux ou Windows) en plus de la norme C++ fonctions, il devrait être source de portable de Linux à Windows et vice versa.
OriginalL'auteur Basile Starynkevitch
Si vous souhaitez porter une application qui utilise des appels Win32, votre meilleur pari pourrait être d'utiliser WineLib. Il utilise les bibliothèques sous-tendent le Vin, mais ce n'est pas la même que la simple exécution d'une application à l'aide du Vin -- vous de re-compiler votre application comme une application Linux, en utilisant seulement la WineLib bibliothèques partagées. Il sera toujours ressembler à une application Windows, sauf si vous modifiez ensuite la couche d'INTERFACE utilisateur.
Comme il a été dit ailleurs dans les réponses, il n'y a pas d'équivalent direct pour Win32, Linux -- différents bits de Win32 sont fournis par différents éléments, et parfois vous avez un choix de composants. Cela est possible parce que certains équivalents de pièces de Win32 sont implémentées nativement à un niveau inférieur, par exemple, Win32 fournit des composants d'INTERFACE utilisateur, les équivalents qui sont disponibles en GTK, Qt ou n'importe quel nombre d'autres boîtes à outils (comme WineLib), qui eux-mêmes interagir avec X. comme vous le feriez habituellement d'utiliser des composants à partir de Win32, plutôt que de dessiner votre propre en utilisant des API de bas niveau des appels, de sorte que vous auriez normalement d'utiliser les composants de votre haut niveau de l'INTERFACE utilisateur trousse à outils plutôt que d'utiliser X directement.
OriginalL'auteur Andrew Aylett