Bonjour,
Je rencontre actuellement un problème intrigant, après plusieurs recherches je fini par croire à un lien direct avec Windows. Contexte: pour un stage dans un laboratoire de recherche je dois programmer une GUI sur un algorithme jusque là lancé en mode console. L'algo est composé de plusieurs scripts shell finissant par exécuter du FORTRAN, avec une grosse consommation de RAM.
Le problème:
Je lance manuellement le launcher.sh dans cmd.exe, tout se passe bien.
Je demande à mon programme de lancer le launcher.sh dans cmd.exe, un des algorithmes fait une erreur d'allocation mémoire.
J'ai essayé plusieurs façons d'exécuter la ligne de commande, de system() à ShellExecute en passant par CreateProcess, QProcess, QThread, la création d'un .bat intermédiaire et peut-être d'autres solutions oubliées depuis. J'ai l'impression que c'est le simple fait d'encapsuler l'appel à la ligne de commande dans un process père qui provoque une limitation de la mémoire pour la suite du script.
Je commence à tomber à court de solutions, je me retourne donc vers les experts Windows pour savoir s'il y a un paramétrage système permettant de by-passer cette limitation mémoire ou à tout le moins m'indiquer de possibles sources à ce problèmes.
Je vous remercie d'avance
Partager