Que dois-je utiliser à la place de windows.h dans linux
Je suis en train de le port d'un programme de Windows à Linux. Je n'ai jamais programmé en Linux et n'ont que très peu d'idée de ce que je suis en train de faire. J'ai réussi à éliminer un grand nombre d'erreurs que j'ai obtenu dans le compilateur G++ sous Linux et ont tracé la plupart de ceux qui restent à inexistante types de variables.
J'ai pris la windows.h
fichier mais je ne sais que faire avec de la CALLBACK
, HANDLE
, DWORD
et HHOOK
variables. Apparemment, il n'y a pas d'équivalent à HANDLE
en Linux donc je pense que je peux avoir à réécrire certains de la structure.
Quelqu'un peut-il expliquer ce que je devrais faire ou m'indiquer quelques tutoriels qui m'enseigner comment faire ces choses dans Linux?
Mon programme exécute une boucle d'interrogation sur une interface RS-485 réseau si cela aide.
ConvertWindowsToLinux()
fonction. Ils sont différents OS es avec différentes Api. Afin de faire quelque chose à l'aide de Linux (Api POSIX, vraiment), vous aurez besoin de commencer par définir ce que vous voulez faire.Si vous voulez interface de programmation sous Linux, il est appelé "X" de la programmation, et c'est nulle part liées à Win32.
OriginalL'auteur Skeith | 2011-09-06
Vous devez vous connecter pour publier un commentaire.
Le manque typedefs (
HANDLE
etc.) ne sont pas votre problème. Votre problème est que Linux et Windows sont complètement différents Api, vous ne pouvez pas simplement l'espoir de port de l'un à l'autre par le remplacement de quelques définitions de type.La plate-forme complète dépendant de la partie du code doit être remplacé. Votre première étape est donc d'apprendre Linux API. La meilleure façon de le faire est de faire un livre sur Linux programmation.
En outre, Linux n'est pas un défaut de l'API pour la gestion de la fenêtre, comme le fait Windows donc si vous êtes à la programmation d'une application graphique ensuite, vous devez choisir un fenêtrage de la bibliothèque.
OriginalL'auteur
Il n'y a pas "équivalentes", pour ainsi dire, pour windows.h sous Linux, vous devez corriger vos erreurs au cas par cas, ou mieux, de réécrire votre code pour linux (si c'est pas trop compliqué).
Cependant, si nous ignorons windows Api spécifiques, vous pourriez être en mesure de fixer la définition de type d'erreurs (DWORD, POIGNÉE, ...):
typedef code source
OriginalL'auteur
windows.h signifie que votre application utilise l'API du système d'exploitation Windows, il n'y a pas 1-de-1 de la cartographie à l'autre des bibliothèques sur Linux.
Vous pouvez envisager de faire tourner votre application en vertu de Vin si vous ne voulez pas de port de l'application.
OriginalL'auteur
Vous avez 2 options.
Je doute que quelqu'un sera en mesure de vous dire ce que vous devriez faire avec le port, sans en connaître les particularités de chaque cas. La chose à propos de windows.h est qu'il s'appuie sur le système d'exploitation windows... vous aurez à modifier les fonctions que vous appelez de. Dans ce cas, vous ne pourrez plus utiliser les types que vous n'avez pas.
Fondamentalement, vous aurez à comprendre ce que l'API windows est utilisé pour et trouver l'équivalent des fonctions pour votre système d'exploitation.
OriginalL'auteur
Linux a tout à fait un modèle de programmation pour Windows. Si vous êtes l'intérêt de la programmation d'un port série (RS485 est similaire à RS232) ici est un tutoriel qui devrait vous montrer les bases.
OriginalL'auteur