Accueil > Forum > > > > Utilisation d'une Librairie perso avec MASM32
Utilisation d'une Librairie perso avec MASM32
vendredi 9 mars 2007 à 19:41:54 |
Utilisation d'une Librairie perso avec MASM32

Micro_and_Macro
|
Bonsoir à tous, j'ai créé une librairie à partir d'une DLL BMP2JPG.dll(de vbfrance) à l'aide de cette url http://win32assembly.online.fr/importlib.html, selon la première methode permetant d'executer les fonctions avec "Call".
A la compilation, j'obtient cette erreur (error A2006: undefined symbol : BMP2JPGpourVBFrance) BMP2JPG etant l'une des fonctions de la lib.
Je précise que la lib est incluse dans le même répertoire que les autres libs comme ceci : includelib c:\masm32\lib\BMP2JPG.lib
Quelqu'un a-til déjà rencontré ce problème ? Faut-il un fichier .inc allant de paire pour la déclaration des fonctions? (j'en doute)
Voilà merci d'avance(l'enjeu est vraiment important pour moi :p)
PS: Enfin surtout Brunews
|
|
samedi 10 mars 2007 à 01:30:09 |
Re : Utilisation d'une Librairie perso avec MASM32

BruNews
|
Si tu mets l'import lib et dessous le proto de la fonction en haut du fichier asm, aucune raison que le call soit refusé.
ciao... BruNews, MVP VC++
|
|
samedi 10 mars 2007 à 10:53:58 |
Re : Utilisation d'une Librairie perso avec MASM32

Micro_and_Macro
|
BMP2JPGpourVBFrance PROTO :DWORD,:DWORD,:DWORD error LNK2001: unresolved external symbol _BMP2JPGpourVBFrance@12
Le problème étant que la fonction prend 3 paramètres en entrée qui n'apparaissent pas dans le.def dont voici un extrait ?SetFrame@CxImage@@QAEXJ@Z ?SetFrameDelay@CxImage@@QAEXK@Z ?SetJpegQuality@CxImage@@QAEXE@Z ?SetOffset@CxImage@@QAEXJJ@Z ?SetProgress@CxImage@@QAEXJ@Z ?SetTransColor@CxImage@@QAEXUtagRGBQUAD@@@Z ?SetTransIndex@CxImage@@QAEXJ@Z ?Size@CxIOFile@@UAEJXZ ?Stretch@CxImage@@QAEJPAUHDC__@@ABUtagRECT@@@Z ?Tell@CxIOFile@@UAEJXZ ?Write@CxIOFile@@UAEIPBXII@Z BMP2BMPAvecRedimpourVBFrance BMP2GIFAvecRedimpourVBFrance BMP2GIFpourVBFrance BMP2JPGAvecRedimpourVBFrance BMP2JPGpourVBFrance
Voilà,je vais essayer avec une autre dll pour voir si le problème persiste
|
|
samedi 10 mars 2007 à 11:12:17 |
Re : Utilisation d'une Librairie perso avec MASM32

BruNews
|
FICHIER ASM: .586 .model flat, stdcall option casemap :none option prologue:none option epilogue:none
;; LES include ICI
.code
LibMain PROC hInstDLL:DWORD, reason:DWORD, unused:DWORD mov eax, 1 ret 12 LibMain ENDP
BMP2JPGpourVBFrance PROC param1:DWORD,param2:DWORD,param2:DWORD ; TON CODE ICI ret 12 BMP2JPGpourVBFrance ENDP ------------------------- FICHIER DEF:
LIBRARY NomSeTaDll EXPORTS BMP2JPGpourVBFrance @1 ; AUTRES NOMS EXPORTES A SUIVRE
ciao... BruNews, MVP VC++
|
|
samedi 10 mars 2007 à 13:01:15 |
Re : Utilisation d'une Librairie perso avec MASM32

Micro_and_Macro
|
Ah? et heu.... que mettre dans la procédure si ce n'est :
BMP2JPGpourVBFrance PROC param1:DWORD,param2:DWORD,param2:DWORD
pushparam3 push param2 push param1 Call BMP2JPGpourVBFrance ret 12 BMP2JPGpourVBFrance ENDP
. Et a l'appel se pourrait être:
push 100 push path2 push path1 Call BMP2JPGpourVbfrance
|
|
samedi 10 mars 2007 à 14:06:17 |
Re : Utilisation d'une Librairie perso avec MASM32

BruNews
|
On verra la suite à mon retour de Seattle. Bonne semaine.
ciao... BruNews, MVP VC++
|
|
samedi 10 mars 2007 à 14:08:40 |
Re : Utilisation d'une Librairie perso avec MASM32

Micro_and_Macro
|
La capture au format BMP est bonne,mais rien ne se passe...
.386 .model flat, stdcall option casemap :none
include \masm32\include\windows.inc ; Contient les déclarations de constantes et structures de Win32 include c:\masm32\include\user32.inc ;Déclaration des fonctions de la l'api user32 include c:\masm32\include\wsock32.inc include c:\masm32\include\kernel32.inc include c:\masm32\include\gdi32.inc include c:\masm32\include\winmm.inc include c:\masm32\include\advapi32.inc include c:\masm32\include\shell32.inc include c:\masm32\include\wininet.inc include capture.inc
;Bibliothèques api includelib c:\masm32\lib\kernel32.lib;Support d'API de base pour les noyaux Windows 32 bits (mémoire, disques, processus, taches, modules). includelib c:\masm32\lib\shell32.lib ;Bibliothèque d'API Shell 32 bits. includelib c:\masm32\lib\user32.lib ;Bibliothèque pour routines d'interfaces utilisateur (fenêtres, menus, messages, ...). includelib c:\masm32\lib\gdi32.lib ;Bibliothèque d'API pour le périphérique à interface graphique. includelib c:\masm32\lib\winmm.lib ;Bibliothèque multimédia Windows (multimédia, son, midi, ...) includelib c:\masm32\lib\advapi32.lib;Start computer, acceder au registre,activer un service includelib c:\masm32\lib\wininet.lib includelib c:\masm32\lib\wsock32.lib ;api winsocket includelib c:\masm32\lib\BMP2JPG.lib ;librairie chantage ;--)))
.data path1 db ".\screenshot.bmp",0 path2 db ".\screenshot.jpg",0 .code
LibMain PROC hInstDLL:DWORD, reason:DWORD, unused:DWORD mov eax, 1 ret 12 LibMain ENDP
BMP2JPGpourVBFrance PROC param1:DWORD,param2:DWORD,param3:DWORD ;;(App.Path & "\image.bmp", App.Path & "\image.jpg", 50) push param3 ;'qualité réglable de 1 à 100 push param2;push offset path1 push param1 Call BMP2JPGpourVBFrance ret 12 BMP2JPGpourVBFrance ENDP start: invoke CapScreen,addr fichier push 100 push offset path2 push offset path1 Call BMP2JPGpourVBFrance invoke ExitProcess,0 end start
|
|
samedi 10 mars 2007 à 14:13:04 |
Re : Utilisation d'une Librairie perso avec MASM32

Micro_and_Macro
|
Raaaahhh le baaad,il me reste jusqu'à mercredi pour faire fonctionner cette lib!!!!! Reviens vite chat noir erudit !! :--)) Moins égoistement bonnes vacances, si tu pars pour le plaisir ^^
|
|
lundi 12 mars 2007 à 15:12:08 |
Re : Utilisation d'une Librairie perso avec MASM32

Guilou34
|
Ton appel au secours m'interpelle et je me demande s'il n'y pas quelque confusion dans la manière dont tu conçois le problème.
Si je comprends bien, tu désires modifier une DLL existante, à l'aide de LibMain, dans une application Msdos, mais alors pourquoi inclure un ensemble de fonctions, (API etc ) de Windows? Parce que cette DLL y fait appel? On conçoit bien qu'une DLL se contentant de convertir du BMP en JPG n'a nul besoin d'utiliser l'interface graphique.
Est-ce l'obligation d'employer Masm32 et Windows ?
Enfin, il me semble que BMP2JPGpourVBfrance est utilisé à la fois comme prototype et comme procédure interne à ton module avec un appel récursif. En outre, tu places toi-même les arguments sur la pile sans respecter le prototype et dans le mauvais ordre (le plus à gauche doit être empilé le premier).
En t'obligeant à mieux exposer ton problème, ce sera peut-être comme je l'ai souvent expérimenté, le moyen le plus simple de le résoudre par toi-même.
Amitiés
|
|
lundi 12 mars 2007 à 17:00:53 |
Re : Utilisation d'une Librairie perso avec MASM32

Micro_and_Macro
|
Oui alors.. je vais essayer d'être plus clair :) Est-il possible de ne pas appeler la DLL à chaque fois que je veux convertir une image? C'est à dire,en créant une libraire qui inclurait cela à la compilation?
|
|
Cette discussion est classée dans : fonctions, librairie, lib, masm32, bmp2jpg
Répondre à ce message
Sujets en rapport avec ce message
masm32, include [ par coockiesch ]
Hello!!!Plein de bonne volonté, j'ai dl un tuto pour ASM Win32... Voici mon code:.386.MODEL FLAT, STDCALLOPTION CASEMAP : NONEINCLUDE \masm32\in
MASM32 et Performances ???? [ par gor00 ]
Salut à tous, Je me posé une question à propos des programmes en assembleur réalisés à l'aide de MASM32. Cet outil propose plusieurs fonctions et libr
[Screenshot, capture d'écran] Comment l'enregistrer dans un Bitmap ? [ par kinkey_wizard ]
Bonjour tout le monde,Voici une source qui pour l'instant a pour effet de prendre une capture de l'écran (par simulation d'appui sur la touche PrintSc
[API] Fermer une fenêtre de navigateur ouverte avec une URL. [ par kinkey_wizard ]
Bonjour tout le monde, Je vous explique mon problème : je voudais ouvrir une page web (par exemple "http://www.google.fr") dans le navigateur par déf
Plantage incomprehensible [ par Luong ]
Bonjour tout le monde,Voila un petit bout de code qui genere un beau plantage sur mon ordi (memory could not be written) sans que je comprenne vraimen
Compiler un .lib sous VSC++ (librairie ASM) [ par epineurien ]
Bonjour !Je viens de finir (plus ou moins) la nouvelle version de ma librairie, hors je ne sais pas comment on compile un fichier '.lib' avec VSC+ 200
Masm32 - adressage direct - soucis ! [ par ouadji ]
Bonjour à tous,mov eax , [11223344h]cette instruction existe ! registre de segment utilisé ... DS ... par défaut !Code machine de cette instruction :
eclipse sous linux [ par dido44 ]
salut,j'espere que je trouve une reponse à ma question?en fait je suis en train de travail sur eclipse/linux , mais j'ai un pb de l'installation ( ecl
send db to bmp [ par vincent2795 ]
bonjour, j' ai un bmp que j' ai mais dans ma source sous forme "DB" je veux le sortir de ma source et le mettre dans un bmp. j' arrive a y sortire du
Impossible d'executer mon programme aprés la compilation (réussite) [ par kepon72 ]
Bonjour, Alors voila j'ai coder en asm un programme avec boite de dialogue je l'est compiler avec MASM32 en utilisant ce fichier .bat: [code=autre]@ec
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|