programmation multi plateforme

Simphusband

Membre actif
10 Octobre 2008
128
2
Bonjour à tous...

J'explique très rapidement ma situation....

Ca fait plusieurs mois que suis sur un hackintoch (pas bien.....:siffle::siffle:), et j'attend demain pour m'acheter mon premier mac (un macbook... faute de budget pour le pro)

Je suis en M2 (ex-DEA) en évolution/écologie et je vais devoir pour mon stage de 6 mois coder un petit programme en C++ (modélisation de processus ,évolution, dans des populations).

J'ai des petites (très petites) notion en programmation sous R (programme de stat).

Ma question concerne presque plus le monde de la programmation que de l'univers mac....

Notre cluster tourne sous linux, c'est sans doute lui qui va faire tourné le programme, ma question: cela pose t il des problème que je développe sous mac et fasse tourné le programme sous linux???

Je vais utiliser des fichier txt pour faire les inputs et les outputs, .. le truc qui m'inquiète c'est les chemin d'accès pour ces fichier... les syntaxe sont elle différentes entre OsX/Linux ????

En espérant avoir été clair....
 
Salut,

Il faudra attendre confirmation des experts, mais du haut de ma petite expérience :

Si c'est juste pour lire/écrire dans des fichiers, alors c'est bon, il n'y aura pas de problème de compatibilité. Tu devras toutefois recompiler, cela va de soit.

Si par contre tu dois utiliser des librairies plus spécialisées (comme OpenGL par exemple), alors tu risques de rencontrer des problèmes. Mais ce n'est sûrement pas le cas pour ton logiciel.

Donc normalement tu pourras programmer en C++, compiler sur Mac et tester ton programme sur Mac. Tu pourras aussi compiler pour ton Linux et lancer ton programme sur le cluster. En revanche, en fonction de ton programme, le fichier de compilation pourrait être légèrement différent. Si tu n'utilises que les librairies standard du C++ tu n'auras certainement aucune différence. En particulier, il n'y a pas de différence avec les chemins de fichiers, et dans le pire des cas (i.e. si ton application doit tourner sous Windows aussi), alors tu pourras très simplement prendre en compte les chemins de Windows en regardant les variables d'environnement par exemple, ou en faisant deux versions légèrement différentes. Ca ne change pas grand chose en tout cas.

Méfie-toi quand tu parles de "processus" ^^. Un informaticien ne le comprendra très certainement pas comme toi.

J'espère t'avoir été utile.
Bon courage !
 
Bonjour à tous...

J'explique très rapidement ma situation....

Ca fait plusieurs mois que suis sur un hackintoch (pas bien.....:siffle::siffle:), et j'attend demain pour m'acheter mon premier mac (un macbook... faute de budget pour le pro)

Je suis en M2 (ex-DEA) en évolution/écologie et je vais devoir pour mon stage de 6 mois coder un petit programme en C++ (modélisation de processus ,évolution, dans des populations).

J'ai des petites (très petites) notion en programmation sous R (programme de stat).

Ma question concerne presque plus le monde de la programmation que de l'univers mac....

Notre cluster tourne sous linux, c'est sans doute lui qui va faire tourné le programme, ma question: cela pose t il des problème que je développe sous mac et fasse tourné le programme sous linux???

Je vais utiliser des fichier txt pour faire les inputs et les outputs, .. le truc qui m'inquiète c'est les chemin d'accès pour ces fichier... les syntaxe sont elle différentes entre OsX/Linux ????

En espérant avoir été clair....
Tu devrais pas avoir de problème en particulier. Ton application ne tournera évidemment pas telle quelle sur la machine linux, il faudra au moins la recompiler. Si tu as une partie graphique tu peux bosser avec des outils multi-plateforme comme QT. Pour tout le reste, il y a très peu de choses qui changent entre mac os x et Linux, les library dispo sont quasiment toutes identiques (à quelques exceptions prêt et relativement rares liées aux aspects BSD de mac os x). Bref, l'appli compilée sera différente, mais le programme sera recompilable pour les deux plateformes à priori sans soucis. Faut juste que tu puisses tester à différentes étapes du développement pour en être sur et pas te faire piéger au dernier moment.

(note : ce que je dis est surtout valable pour du c/c++ bien sûr, pour du R aussi à la limite ;) si t'utilises d'autres technos il faut voir au cas par cas)
 
Pas de soucis pour faire un programme en C++ qui tourne sur MacOSX et Linux, ils font partie de la grande famille des Unix. Par contre faire du C++ sans une grande pratique du C et de la POO, accroche toi et prévois des nuits blanches :D