[C] Lancer un executable sous windows

Bonjour,

j'ai créé un programme en C sous xubuntu. Je compile en incluant bien toutes les librairies. Il fonctionne.
Seulement si je transfère les fichiers sous windows, je ne sais pas comment le lancer. J'ai tenter de nommer l'executable en .exe, mais sans succès.
Si je tente de le lancer depuis un terminal windows, j'ai une erreur comme quoi ce n'est pas une commande interne, externe, un programme éxecutable ou un fichier de commandes.

Comment faire pour lancer sous windows un executable compilé sous linux ?

Merci !

6 réponses

  1. https://pascal.developpez.com/telecharger/index/categorie/77/Compilateurs-et-IDE-Pascal

    et j'ai un compte vous pouvez le utilisez
    iso9999
    et le mdp : 123456789

    a++++++++++++++
    1. Contributeur
      C'est bien de faire de la pub, encore faut-il que cela ne soit pas à côté de la plaque ;-)))
    2. j'étais encore petit ^^ mtn j'ai 19 ans :p
  2. Le programme est en C, pas en pascal ! De plus j'ai une jolie erreur "Page Web inaccessible".
    1. Contributeur
      Bonjour,
      Un programme C compilé sous GNU/Linux ne pourra pas être exécuté sur Windows. La structure d'un binaire est différente d'un OS à l'autre.

      Plusieurs solutions s'offrent à vous :
      - Recompiler le programme sous Windows (d'où la nécessité de portabilité), c'est le plus propre
      - Emuler le programme (cela doit se trouver sur internet)
      - Faire de la compilation croisée
      1. D'accord merci, je vais utiliser LCC alors. Il s'utilise comme GCC ? Avec les mêmes options ?
        1. Contributeur
          Non c'est un compilateur différent. Perso, je te conseille plutôt d'utiliser GCC si tu connais GCC (avec Mingw). Tu peux même opter pour Code::Blocks (avec GCC) si tu as l'intention de coder souvent sur Windows.
      2. bonjour
        ce que tu dois faire c'est recompilé sous windows le c n'est pas un langage portable
        1. Contributeur
          Oui, c'est ce qui a été dit il y a 3 ans ;-).
        2. @medzeme
          Non le langage C et donc un langage de programmation est bien sûr portable sur toutes machines (suffit d'avoir le compilo adéquate).

          Ce sont les fonctions utiliser qui font le binaire qui ne sont pas portable, comme le header d'un programme, les appeles système, ...

          Le seul langage propre à la machine est l'asm, même si bien sûr ce ne sont que des termes mnémoniques (mot ascii) qui veulent dire des opcodes (commande binaire pilotant le CPU) et que chaque appellation de ces commandes sont de nature différente pour chaque constructeur (mov (intel) mov/ldr(arm), ect).

          Et que finalement il y ait différentes sortes de syntaxe pour l'asm.