begin process at 2010 02 10 00:31:23
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

API

 > DLL C ET ASM POUR VB

DLL C ET ASM POUR VB


 Information sur la source

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :API Niveau :Débutant Date de création :22/02/2004 Date de mise à jour :02/05/2006 00:10:52 Vu / téléchargé :4 765 / 546

Auteur : BruNews

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (27)
Ajouter un commentaire et/ou une note


 Description

Suite question souvent posee sur forum.
bnAdd et bnDiv dans dll version C et ASM.
Differents dossiers dans zip pour chaque version.
Prog VB demo fait par EBArtSoft, merci pour lui.
bnDiv prend 1er param en Byref, autre en Byval.
Txt joint explique.



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   bnTest
    •   release
    • bnTest.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier276 octets
    • bnTest.defTélécharger ce fichier [Réservé aux membres club]59 octets
    • bnTest.ncbTélécharger ce fichier [Réservé aux membres club]27 648 octets
    • bnTest.slnTélécharger ce fichier [Réservé aux membres club]Voir ce fichier901 octets
    • bnTest.suoTélécharger ce fichier [Réservé aux membres club]8 704 octets
    • bnTest.vcprojTélécharger ce fichier [Réservé aux membres club]3 999 octets
  •   bnTestVb6
    •   DLL
      •   Asm
        • bnTest.asmTélécharger ce fichier [Réservé aux membres club]Voir ce fichier554 octets
        • bnTest.batTélécharger ce fichier [Réservé aux membres club]Voir ce fichier642 octets
        • bnTest.defTélécharger ce fichier [Réservé aux membres club]67 octets
        • bnTest.dllTélécharger ce fichier [Réservé aux membres club]2 560 octets
        • bnTest.libTélécharger ce fichier [Réservé aux membres club]2 458 octets
      •   C
        • bnTest.zipTélécharger ce fichier [Réservé aux membres club]18 056 octets
        • bnTest2.zipTélécharger ce fichier [Réservé aux membres club]13 125 octets
    •   Res
    • bnTest.dllTélécharger ce fichier [Réservé aux membres club]2 560 octets
    • bnTest.exeTélécharger ce fichier [Réservé aux membres club]65 536 octets
    • bnTest.vbpTélécharger ce fichier [Réservé aux membres club]Voir ce fichier897 octets
    • bnTest.vbwTélécharger ce fichier [Réservé aux membres club]Voir ce fichier52 octets
    • frmMain.frmTélécharger ce fichier [Réservé aux membres club]Voir ce fichier11 349 octets
    • frmMain.frxTélécharger ce fichier [Réservé aux membres club]22 498 octets

Télécharger le zip


 Historique

26 octobre 2005 19:30:08 :
site
02 mai 2006 00:10:52 :
commentaire

 Sources du même auteur

Source avec Zip Source avec une capture CALENDRIER (WIN64)
Source avec Zip COMMENTER CODE C <=> ASM (WIN64)
Source avec Zip CHANGEUR DATE FICHIER (WIN32)
Source avec Zip TESTS DE TRIS (WIN32)
Source avec Zip TXT SUPPRIMER LIGNES DOUBLONS (WIN32)

 Sources de la même categorie

Source avec Zip Source avec une capture CALENDRIER (WIN64) par BruNews
Source avec Zip Source avec une capture IMPRESSION EN WIN32 API AVEC OPTIONS par racpp
Source avec Zip Source avec une capture INFOTIP SHELL EXTENSION (BULLE DE L'EXPLORATEUR WINDOWS) (WI... par racpp
Source avec Zip Source avec une capture BROUILLAGE DES FICHIERS JAVASCRIPT ET CSS(WIN32) par gagah1
Source avec Zip Source avec une capture CHANGE CURSEUR par ganjarasta

Commentaires et avis

Commentaire de _Jonathan le 22/02/2004 16:17:32

utile ce genre de truc pour pouvoir creer un prog en vb qui a besoin de vitesse, genre jeux utilisant D3D.
Petites questions : Quel assembleur tu utilises?
Quel est le meilleur (gratuit ;) )?

a+

Commentaire de BruNews le 22/02/2004 16:22:08 administrateur CS

MASM32 se touve ici:
http://www.movsd.com/
C'est celui que j'utilise toujours.

Commentaire de _Jonathan le 22/02/2004 16:24:10

Merci bien.
Autre question : Quel est l'avantage d'un language tel que l'assembleur face au C?
Y a t-il vraiment une difference de vitesse?

Commentaire de GoldenEye le 22/02/2004 16:32:42

Oui BruNews ça pourrait être intéréssant de monter un comparatif ASM/C à travers un profil d'exécution

Commentaire de BruNews le 22/02/2004 16:35:12 administrateur CS

Vaste sujet qu'il est impensable de traiter ici.
Bien en tendu on peut gagner en vitesse ecrit direct en asm mais il faut une longue pratique parce que produire plus mal qu'un compilo moderne arrive tres vite.

Commentaire de _Jonathan le 22/02/2004 16:40:18

Tu pourrais mesurer le temps que met la DLL C/ASM a , par exemple, incrementer une variable 4294967296 fois pour pouvoir comparer la vitesse des 2 language.

Commentaire de BruNews le 22/02/2004 16:50:26 administrateur CS

A moins d'un compilo plus que exotique, increm une variable doit se faire idem en C ou en asm.
Je pense qu'il y a deja des mesures dans mes sources si je me souviens bien.

Commentaire de EBArtSoft le 22/02/2004 17:42:31 administrateur CS

Bonjour,

Un comparatif de la dll asm et c ne serait que pure perte de temps
car les routines ne represente respectivement que 4 et 15 lignes
pour des actions qui n'ont pas du tout besoin d'optimisation !
en effet on perd bcp plus de cycle lorsque vb appel la fonction
de la dll que dans la fonction elle même !

Pour ce qui est de tester l'incrementation d'une variable pour reprendre ce que disait _Jonathan c'est aussi en pure perte !
l'optimisation se fait toujours au cas par cas et l'emploi de
l'asm se fait souvent sur de petite portion de code. Et l'on
se rend souvent compte que le compilateur a deja pensé
à la meilleur solution !

Pour l'avoir testé je peut affirmer que l'addition d'une
variable de type long se fait exactement de la même
maniere une fois compilé en C/ASM/VB(Code Natif) !
Cela ne signifie pas que tout les language ce valent,
loin de la !

@+

Commentaire de _Jonathan le 22/02/2004 19:52:58

En tout cas, l'avantage de l'ASM, c'est qu'il permet de compiler une DLL presque 10 fois plus petite que celle faite en C(++)
Reste a savoir ce que VC++ rajoute a sa DLL.
On a tous une idée...

a+

Commentaire de BruNews le 22/02/2004 19:55:19 administrateur CS

On a tous une idée... ???

Commentaire de _Jonathan le 22/02/2004 20:21:31

Bien sur.
Dans un premier temps, edite au bloc note les 2 DLL.
Tu verras apparaitre dans celle faite avec VC++ le mot runtime assez souvent(la DLL gere les erreurs)
Puis en dessous, on peut voir plein de fonctions de l'api windows(kernel32.dll)
bref, VC++ blinde juste la DLL pour bien montrer qu'elle a été faite avec un truc de microsoft...
voila, alors que la DLL ASM indique juste que la DLL ne peut pas s'executer en mode MS-DOS...

a+

Commentaire de BruNews le 22/02/2004 20:32:07 administrateur CS

DLL C ne gere rien du tout. Les imports inutiles sont dus simplement au fait qu'on ne les enleve pas, faisable dans options linker.
Si tu compares des executables en les editant au notepad, t'es bon pour garder idees et croyances erronees un moment encore.
Desassemble et tu verras ce qu'il y a, de simples segments prepares mais restes vides.

Commentaire de _Jonathan le 22/02/2004 20:36:29

tu connais Dependency Walker for Win32 (Intel x86) ?
j'ai ouvert la DLL C avec,et sa m'indique qu'elle integre des fonctions de kernel32 (ou qu'elle en fait appel).

Commentaire de BruNews le 22/02/2004 20:40:56 administrateur CS

Pour cela, voir reponse juste au dessus.

Commentaire de EBArtSoft le 22/02/2004 20:43:39 administrateur CS

_Jonathan&gt; as tu regardé les fonctions d'un peu plus pres ?
c'est juste des fonctions de verification de version et d'allocation
de memoire qui s'execute lors de l'appel de DLLMain.

Cela vient du fait que le compilateur prepare d'eventuel appel a
GetCommandLine, de creation de classe d'objet ou de gestion d'erreur
comme dit BruNews c'est entierement parametrable à partir de visual studio !

Personnellement j'ai vue aucun mot ressemblant a mircrosoft ou windows ou zone51 ! qui sait peut être il y a t'il des instructions caché
dans les mots ?

@+

Commentaire de _Jonathan le 22/02/2004 21:12:07

c'est peut etre possible avec vs.net, mais avec vs6.0, je trouve pas, vous pouvez m'aider?

Commentaire de _Jonathan le 22/02/2004 21:45:21

C ou kon parametre VC++ pour reduire la taille d'un prog ou d'une DLL?

Commentaire de BruNews le 22/02/2004 21:53:02 administrateur CS

Je n'ai plus de VS 6 depuis longtemps alors...
Devait y avoir un menu sur les options du projet ou tu trouves differents onglets, compilo, linker etc...

Commentaire de jockos le 23/02/2004 16:44:09

Menu - Project --&gt; Settings... ou Alt+F7

Commentaire de xarier le 25/07/2004 21:36:36

DITE J'ai une question je trouve que visual c++7 creé des prog plus gros(espace) que ceux de vc++6 car j'ai compiler le meme prog et c tjr la meme chose exe vc7>vc6 pourtant j'ai mis les deux compilateur en realised :)

Commentaire de BruNews le 25/07/2004 21:46:50 administrateur CS

faut aussi regler les options du compilo.
Clic droit sur le nom du proj dans l'explor de solutions et clic 'proprietes'.
A l'inverse c'est VS 2003 qui peut creer EXEs plus petits.
Par contre toujours privilegier vitesse a la taille.

Commentaire de xarier le 25/07/2004 22:14:22

Merci mais javait deja tester ca et ca marche pas autre chose l'exe realiser sous vc++6 marche sous win95 et +

prog realiser sous vc++7 marche que sous win200 plus ou il donne certain erreur
certe ca doit venenir des options mais j'ai tous changé et c le meme prob ;( ah pour l'info je utilise vc++7 2002

Commentaire de BruNews le 25/07/2004 22:28:51 administrateur CS

bah si je me souviens bien, la difference etait pas enorme avec la version 2002 mais peut-etre que taille d'exe n'etait pas aussi bonne qu'avec la 2003, faudrait te le procurer.

Commentaire de BruNews le 25/07/2004 22:29:54 administrateur CS

au fait j'y pense, tu peux compiler avec les kits gratos en version 2003 telechargeables chez MS.

Commentaire de xarier le 25/07/2004 22:33:09

Merci je l'ai deja mais le prob c que il faut compiler sous line de command alors pourun porjet qui conteint plusieur fichier .h et .cpp et .rc c deficile (j'ai jamais essayre)

Commentaire de jockos le 26/07/2004 09:31:11

Il faut dans ce cas faire un fichier Makefile (documente toi sur Internet si tu ne connaissais pas) et posséder dans son kit de développement l'outils make (c'est un programme qui va interpréter le contenu de ton fichier Make et effectuer diverses actions).

Ainsi, quand tu voudras recompiler tout ton projet, tu n'auras qu'à tapper "make" et si ton fichier MakeFile est bien écrit, tout ton projet sera recompiler (en réalité, uniquement les fichiers qui ont été mis à jour depuis la dernière compilation)...

Bref, document toi un peu sur Make et les fichiers "makefile" si tu ne connaissais pas...

++

Commentaire de xarier le 26/07/2004 16:04:51

OKi Merci :)

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

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,593 sec (4)

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