C++ compatibilité windows unix

salut a tous

voila je viens de faire un programme en C++ sous windows mais mon programme doit être transportable sur les machines unix aussi !!

je voulais donc savoir si la fonction ShellExecute marche sur les machines unix !! je ne pense pas mais ca m’arrangerait bien !! et si c’est pas transportable, est-ce que il y a un équivalent ?? ou comment je pourrais faire pour que ca compile quand même sous unix ??

même chose pour system ("cls") !!

merci de votre aide !!!

Pour ShellExecute, tu as les fonctions de types exec ( execl, execcle, execlp …)
Pour le system, ça devrait aussi fonctionner sous unix.

oki

exec marche sous unix et windows ou fo que je fasse un truc séparé ??

et sinon pour imprimer et pour afficher un fichier il faut utiliser lequel de exec ??? comprend po grand chose au lien que tu m’as filé lol … ou meme un petit exemple :stuck_out_tongue:

exec fonctionne aussi sous windows mais il est plus logique d’utiliser les fonctions propres à chaque OS par soucis d’efficacité (et ça réduit la taille de l’éxécutable).
Pour imprimer sous unix, je pense que ça pourra t’être utile.
Pour l’afficher, la par contre, tout dépend de ce que tu veux faire : tu peux l’afficher dans une console via ncurses, dans un widget tout zoli via GTK Print ou encore avec wxWidget.

merci de préciser le langage dans le titre de ton topic :jap:

mais en faite je dois faire un programme mais je sais pas sur quelle machine il va marcher donc il doit tourner sur windows et sur unix !

et pareil pour l’afficher, en faite je veux qu’un fichier txt apparaisse quand l’utilisateur va le demander!!

Bé, essaye avec GTK via le widget GtkTextView, au pire si tu n’es pas sure que les libs sont installées, tu les fileras avec ton application, ca sera plus gros mais bon, tu seras sur que ca marchera partout.

Humpf

Pour les fonctions systèmes, les seules fonctions sûres (ie "portables") que je connaisse :

read
write
open (avec _O_BINARY sous Win)
send
recv
close
accept
bind
select
socket

Pour le reste tu va devoir jouer entre les types d’applications. Personnellement, vu comme le CreateProcess fonctionne, et vu la non existance des tubes, j’ai complétement abandonné de faire un fork sous win pour un projet de système (Linux) où j’avais envie de faire du portable.

by the way, fuck CreateProcess!

La non existance des tubes ? Et CreatePipe, ca sert à koi ? :wink:

trop chiant alors :slight_smile:

pipe powa!