Portabilité d'un programme ?

chtitpierre78 Messages postés 30 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 29 décembre 2008 - 16 déc. 2008 à 15:08
cs_exar Messages postés 286 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 22 avril 2012 - 29 déc. 2008 à 12:43
Bonjour,

Je me pose une question vis à vis de la portabilité d'une application développée en C (ici, en mode console).
Je dois en fait coder un programme qui va devoir fonctionner sur tous types d'OS : XP / 2000 / NT / M$ Embended / ...
J'utilise dans ce programme différentes API Windows, qui me permettent d'obtenir des informations à propos des HDD / Partition / Espace libre ... de ma machine. Suite à un test rapide sur XP et 2000, je vois que tout fonctionne. Je vais donc, confiant, tester mon programme sur un Microsoft Embended .... et là, rien ne se passe. J'ai une fenêtre qui apaprait au lancement de mon EXE, m'indiquant que l'application n'a pus etre executée.

Ma question est donc la suivante : Qu'est ce qui peut empecher mon programme de fonctionner sur tel ou tel systéme d'exploitation (je ne parle que de Windows ici, pas de Linux ...) ? Je suis intrigué par cela, à la fois pour mon application, mais aussi de maniere plus generale.

Cordialement
P. KOCH

4 réponses

fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
16 déc. 2008 à 16:41
Salut,

Je n'y connais pas grand chose, mais je dirais : le compilo
As-tu compilé ton programme pour pocket PC ? (et pas en Win32)

Sur un de mes projets, un mec développait pour Pocket, il avait une version spécifique de Visual C++.
0
chtitpierre78 Messages postés 30 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 29 décembre 2008
16 déc. 2008 à 17:16
Et bien nan, j'ai compilé ça de manière classique, avec mon VC++ habituel. Sans rien modifié.
C'est peut être une piste effectivement ... ! Windows Embended reste tout de même très proche d'un windows classique, c'est cet OS qui est utilisée par exemple dans les bornes de developpement photos des grandes surfaces.

Je me demande, est ce que ca ne serait pas plutot un probléme de librairies. Peut etre que certaines librairies ne sont pas installé, ce qui fait que mon programme perd les pedales ... nan ?
0
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
16 déc. 2008 à 17:29
Ah oui, excuse-moi, j'ai mélangé (ou lu trop vite) Embended et Mobile (Pocket).

C'est Widows XP Embended ? Si c'est le cas, en effet c'est louche.
Vu que tu attaques des drivers, c'est peut-être aux le souci.
J'ai déjà essayer de mettre un programme en mode console sur un XP Embended qui avait été proalablement configuré par une personne connaissant bien la bête (l'OS) .
On n'a pas rencontré de sous par rapport à un PC normal, mise à part que c'était très lent (OS sur CompactFlash).

Oui il peut manquer des librairies. Il faudrait que tu fasse un "depends" pour voir toutes les dépendances de ton exe sous Windows. voire même exécuter depends sur Embended.
0
cs_exar Messages postés 286 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 22 avril 2012 1
29 déc. 2008 à 12:43
A l'époque où j'utilisais Delphi (il y a de nombreuse années...  On se fait vieux ), je sais que j'utilisais NT 4.0.  A cette époque, certains appels aux API ne fonctionnaient que sur NT, pas 95 ou 98.  Je ne saurais te dire si c'est encore le cas, mais tu devrais trouver cette info sur MSDN.
0
Rejoignez-nous