begin process at 2012 02 07 08:37:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

c, c++ et asm

 > 

Probleme de compilation flat binary ou plain binary sur windows


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme de compilation flat binary ou plain binary sur windows

mercredi 20 juillet 2005 à 18:21:32 | Probleme de compilation flat binary ou plain binary sur windows

hexanium

Salut,
j'essaye de compiler un fichier C en binaire plat, c'est a dire le bytecode pur sans entete ni ajout de library.
J'ai essayé sous Linux ca marche tres bien, j'ai essayez sous windows et la impossible !!!
je ne comprend pas tous , quelqu'un peut il m'aider ?

cliquez ici pour voir la procedure d'essais

Sous linux:


Sous windows


Message d'erreur:
undefined reference to '_alloca' -> _alloca non définis, bah c'est pas moi qui à mis ça dans le source !!!
undefined reference to '__main' -> _main non définis, bah c'est pas moi qui à mis ça dans le source !!!
 

Lorsqu'on essaye d'aller plus loin, linkage directement en binaire on a le message d'erreur :
ld: PE operations on non PE file. -> Bah je ne veux pas faire de PE moi justement !!!!
(Les PE sont les formats d'exécutables sur windows)

 

Je ne comprend pas cette différences entre les deux OS sur une même appli portée.

  • D'ou viennent ces underscore '_' ? Comment s'en débarrasser ?

  • D'ou vient ce __main ? Comment s'en débarrasser ?

  • D'ou vient ce __alloca ? Comment s'en débarrasser ?

  • Pourquoi dois je passer "_main"  au lieu de "main" comme point d'entrée ?

  • Bref comment compiler plain binary sous Windows  avec gcc et lg ?.

  • Pourquoi ces différences entre les versions portées gcc et ld ?

  • Quelqu'un a t'il déja réussi a faire ca sous windows ?


Quelqu'un peut il maider ?

Merci d'avance

Hexanium



jeudi 21 juillet 2005 à 13:25:48 | Re : Probleme de compilation flat binary ou plain binary sur windows

patatalo

Membre Club Administrateur CodeS-SourceS
salut,

déjà, je constate que les ligne de commande ld ne sont pas les memes:
"ld test.o -e main -o test_elf" et "ld test.o -e main"

c'est quoi l'option -o ?

avec gcc tu doit pouvoir sortir un fichier elf meme sous windows, il ne sera pas executable sur ce system d'exploitation et c'est tout.

@++
jeudi 21 juillet 2005 à 15:41:00 | Re : Probleme de compilation flat binary ou plain binary sur windows

hexanium

Salut Patatalo,

Bien en effet les lignes ne sont pas les memes, l'option -o permet de spécifier le nom du fichier de sortie si non il a un nom par defaut.En fait j'aimerais arriver a compiler un binaire plat, sans entete PE sans meme l'entete ELF tous ca, le byte code pur, comme quand on compile un noyau. Le truc c'est que ca marche sur linux, on a le bytecode direct, sous Windows, je n'y arrive pas !
Un peu relou ce truc,
pourtant j'arrive bien a compiler un exe (PE) sous gcc

Merci de m'aider

Hexanium

jeudi 21 juillet 2005 à 23:08:29 | Re : Probleme de compilation flat binary ou plain binary sur windows

hexanium

Réponse acceptée !
Salut,

Bien en postant sur plusieurs forum j'ai trouvé des reponces a mes questions:
la synthese est ici en bas de l'article:
[ Lien ]
Merci à vous pour le coup de main !

Hexanium



Cette discussion est classée dans : windows, main, pe, binary, plain


Répondre à ce message

Sujets en rapport avec ce message

interruption du bios et du dos sous windows [ par eedy31 ] eedy31Salut a tous est ce que quelqu'un pourait m'aider car je ne sais pascomment faire pour utiliser les interruption du dos et du bios sous windows! Problème de syles Windows XP [ par Nemesis ] Suite à une mauvaise manipulation (c toujours comme ça que ça arrive), j'ai perdu le style de Windows XP (fenètres bleues, etc...) et je retrouve la v EXE Infector [ par seboss ] Bonjour tout le monde,Je dois realiser un petit projet sympas utilisant le C++,VB et ASM... Mais l'ASm je ne connasi pas assez bien pour realiser ce q 512 bps port serial [ par abarbu ] est il possible sous Windows (9x ou XP) que je programme le 8253 timer pour obtenir 512 Hz e user ce frequence pour le port serialle (RS232) ?Sous DO La fonction API SendMessageA [ par douja ] Bonjour les amis J'utilise la fonction SendMessageA pour la justification à droite des mes zones de saisie avec les paramètres suivants: SendMessag Un ptit coup de main svp...c po difficile... [ par anosan ] Salut tout le monde,J'aurais besoin d'un coup de main en prog asm:J'ai besoin de traiter un caractère; Si sa valeur hexa >=22h, alors je lui enlève 22 API Windows [ par cowboy ] CowboyJ'aimerais savoir s'il existe un descriptif des commandes API pour windows en asm ( en francais si possible ) . J'aimerais trouv Ouvrir un fichier depuis l'explorer windows [ par Apinew ] ApinewSalut,J'ai cherché un peu partout et j'ai pas encore trouvé unmoyen de récupérer le chemin d'un fichier en faisant parexemple la commande ouvrir Passer en RING0 sous Windows XP ! [ par toto8966 ] Hello, Pour pouvoir placer du code en mode Ring0 jutilise jusqu'a présent le Driver TVicHW32. ( http://www.entechtaiwan.com/tvichw32.htm ) Ca fonction Registres windows [ par S2R ] Bonjour à tous, Est il possible de créer une clé dans la base de registre sans importer de dll?sinon comment fait-on pour importer une dll avec tasm?m


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,640 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales