CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Bocoudekestions

SuperDindon
SuperDindon
Niveau 8
10 avril 2003 à 11:48:19

Salut à tout le forum!

J´ai qq questions:

-J´ai un petit problème avec l´asm. J´utilise MAsm32 et voici mon code:

HelloWorld proc arg1 : DWORD,
arg2 : DWORD

mov eax,0
add eax, arg1
add eax, arg2
ret

HelloWorld endp

Je compile tout ça et j´ajoute le fichier obj aux références du linker dans Dev-C++. Dans un en-tête je déclare la fonction " int HelloWorld(int, int)", mais à la compilation, le linker m´indique que cette fonction n´a pas été définie. J´ai essayé avec pas mal de types de 4 octects(mais pas tous), mais il me renvoie toujours la même erreur

-Est-ce que quelquun connait une page ou une doc sur le source de GCC?

-Existe-t-il un compilo(dérivé de GCC si possible) capable de générer des objets que l´on pourrait lire à la manièere d´une DLL? Pour quon puisse par exemple faire:

void ( *NoFuture)(int PunkCount);
. ..//Copie du fichier en mémoire à l´adresse FFunc
NoFuture = FFunc;
NoFuture(500);

-Est-ce que , si on applique 2 textures à plusieurs objets 3D et 1 seule aux autres, l´affichage sera plus rapide ou autant que si on avait appliqué 2 textures à tous les objets à l´écran?

-Est-ce que quand un jeu passe à l´état d´abandonware, a-t-on le droit d´utiliser ses graphiques et sons?

JeanYvesYves
JeanYvesYves
Niveau 10
10 avril 2003 à 12:53:53

Pour l´assembleur, essaie de définir ta fonction sous forme
unsigned long HelloWorld(unsigned long a,unsigned long b);

je ne garantis pas que ça marche, mais en tout cas DWORD n´est pas signé alors que int l´est, ça vient peut etre de la : tient moi au courant !

- pour gérer des DLL, c´est sous Windows, essaie BCC32.EXE sous Windows ( fourni avec Borland C++) ou celui de visual : dans les rep BIN, tu as les compileurs du langage ( pareil, je ne te garantis rien)

- connais pas la source de GCC

- 2 textures, je n´en sais rien...

- abandonware, tu peux copier le programme, mais je ne pense pas que tu puisses faire ce que tu veux avec les sources : masi si tu les as : modifie les un peu, et elles ne seront plus considérées comme les memes : inspire t´en.

arnaud81
arnaud81
Niveau 7
10 avril 2003 à 16:04:19

Perso, l´assembleur je prefere lemettre dans un programme en C en inline : )

SuperDindon
SuperDindon
Niveau 8
11 avril 2003 à 16:24:55

Perso, l´assembleur je prefere lemettre dans un programme en C en inline : )

Sauf quand la norme est supernaze et te propose de taper 2 fois plus de caractères que pour un Visual C++(pour ne citer que lui), avec en bonus une prise de tête pour trouver où placer la bonne dizaine de caractères spéciaux à connaître, et un compilateur à la hauteur de la norme(cf. Dev-C++).

Bon, même avec le dernier, ce n´est pas supergrave, c´est juste ultrachiant(instruction la plus simple: __asm__("movl %eax, tmp\n");)
J´ai pas tenu longtemps quand il a fallu convertir des unités à moitié en assembleur conçues pour VC++.

JeanYvesYves

Ca y est, j´ai essayé tous les types 32 bits, aucun ne fonctionne. Ca commence à être léger relou.

Si tu veux, voici mon code assembly au complet, mais bon, il st spécifique à MAsm32:

. 386 ; minimum processor needed for 32 bit
. model flat, stdcall ; FLAT memory model & STDCALL calling
option casemap : none ; set code to case sensitive

;

    1. ###############################################
    2. ####################

; ---------------------------------------------
; main include file with equates and structures
; ---------------------------------------------
include \masm32\include\windows.inc

;
--------------------------------------------------
-----------
; In MASM32, each include file created by the L2INC.EXE utility
; has a matching library file. If you need functions from a
; specific library, you use BOTH the include file and library
; file for that library.
;
--------------------------------------------------
-----------

include \masm32\include\user32.inc
include \masm32\include\kernel32.inc

includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib

HelloWorld PROTO : DWORD,:DWORD

. code

start:

HelloWorld proc arg1 : DWORD,
arg2 : DWORD

mov eax,0
add eax, arg1
add eax, arg2
ret

HelloWorld endp

end start

SuperDindon
SuperDindon
Niveau 8
11 avril 2003 à 16:36:12

Petite erreur de frappe, excuse-me

Pour les Dlls, je crois que tu ne m´as pas compris. Je les prenais juste comme exemple. Si tu veux, voilà ce que je ne veux pas avoir:

void ( *proc)(int);
dll = LoadLibrary(...);
proc = GetProcAddress(dll,...);
proc(0);

mais:

void ( *proc)(int);
lib = CreateFile(...);
ReadFile(lib,...,proc,...);
proc(0);

Existe-t-il un compilo capable de générer des ficiers comme ça?

Sinon, pour les abandonware, c´est valable aussi pour le reste des " données"?

ZhanShiQi
ZhanShiQi
Niveau 2
11 avril 2003 à 17:10:55

" L´incompréhension le plus souvent ne vient pas d´un manque d´intelligence mais d´un manque de sens. " ( Friedrich von Schlegel)

Zhan Shi Qi
戦士氣

kookii
kookii
Niveau 4
11 avril 2003 à 21:23:56

essaye de declarer ds ton fichier c, la fonction en extern

extern int helloworld(int,int);

DJFullGore
DJFullGore
Niveau 8
11 avril 2003 à 22:56:24

Putain c´est compliqué tout ça!J´aimerai créer mes propre jeux sans à avoir à utiliser la programmation car pour l´instant mon niveau de prog est assez faible!Remarque j´ai 14 ans!Par contre je fais 1M85 68 Kg de muscle!Alors...

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment