Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ajout de #ifdef _WIN32 sur legit tous les nouveaus fichiers pour que ça compile sur Linux #4

Open
wants to merge 5 commits into
base: console_interface
Choose a base branch
from

Conversation

philippewarren
Copy link
Collaborator

J'ai ajouté des #ifdef pour que ça compile sur Linux.
Dans le fichier Common/hdr/GeneralDefs.h, tu peux mettre des macros permettant de plus facilement faire abstraction de l'architecture dans certains cas (comme pour printf_s par exemple)
Pour le reste, essaie de grouper les parties qui sont propres à windows, et celles qui sont de la logique générique. Par exemple, c'est plus facile de mettre un #ifdef autour d'une fonction qu'en plein millieu d'une méthode pour 2 lignes. En plus, ça facilite la lisibilité par après. Donc, je propose de regrouper les HANDLE et les autres aspects propres à Windows dans une structure, avec un #ifdef et on la définit comme vide pour les autres, par exemple. Puis, on ajoute un membre à la classe de cette structure. Ou alors, dans une classe, avec des méthodes propres, et on fait la même classe sur les autres plateformes, avec des méthodes ajustées, et un #ifdef. Pareil, on ajoute une instance comme membre de Console.

Je pense que Console est une classe assez haut-niveau, avec une bonne partie de logique générique, et que ce découpage avec des #ifdef devrait être fait plus bas. (on ne veut pas avoir à réécrire de la logique générique et agnostique de la plate-forme dans une copie de la classe sous un autre #ifdef, ni avoir des tonnes de #ifdef aux 3-4 lignes dans chaque méthode)

…e pour laquelle dans les deux dimensions, le rapport des tailles est entier
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants