IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces de programmation Oracle Discussion :

Bizarrerie de mémoire


Sujet :

Interfaces de programmation Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 136
    Par défaut Bizarrerie de mémoire
    Bonjour,
    je pose la question suivante par pure curiosité:

    Je viens de me rendre compte d'un truc que je ne comprends pas avec les OCI.
    Initialement quand j'ai commencé mon projet, j'ai posé à coté de mon executable, oci.dll, ociw32.dll et oraociei11.dll.

    Juste après démarrage, mon éxecutable faisait 33Megas.

    Suite à des crash systématique au démarrage de mon appli au fin fond d'oraociei11, j'ai viré les deux autres petites dll, puisque mon programme linke directement avec oraociei11.

    Suite à cette suppression, non seulement je n'ai plus de crash au lancement, mais en plus mon éxecutable ne fait plus que 13 megas !

    Quelqu'un à une explication à ce phénomène ?

  2. #2
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 136
    Par défaut
    Je pense avoir un partie de la réponse: vu qu'il ne trouve pas les dlls, il doit utiliser celle de l'install de mon client complet.
    Donc aussi bizarre que cela paraisse, avec l'oci.Dll de l'instant client 11, j'ai un crash au fin fond de oraociei11, soit sur un HandleAlloc soit sur un free, alors que je ne l'ai pas avec l'oci.dll de mon client 9i.

  3. #3
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    Tu utilises quel compilo ?

    Tu ne doit pas linker directement oraociei11.dll !!!

    tu dois linker uniquement avec oci.dll (qui s'occupe de charge en dynamique oraociei11.dll, mais ca c'est sa popote à lui !)

    De plus, on ne linke pas une dll mais une librairie d'import (.*lib).

    Donc tu dois linker oci.lib uniquement
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  4. #4
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 136
    Par défaut
    J'utilise gcc et ne link qu'avec oci.lib.

    En fait j'ai mal interprété ce qui se passait.

    Quand j'enlève oci.dll et ociw32.dll de mon répertoire de binaire, il utilise en fait le oci.dll de mon install client 9i, qui lui va chercher les dlls dans l'install 9i, donc en fait j'utilise pas du tout la dll de la 11g.
    J'avais pas compris qu'oci.dll était le point d'entrée, et non pas oraociei11.

    J'ai installé un client 11g complet, et je reproduis le même problème à un détail près:

    mon appli sort toujours, avec un message d'erreur ORA-24550 une fois sur trois (je pense que je ne le vois pas s'afficher mais il doit etre toujours là), mais par contre elle ne crash plus comme elle le faisait avant.

Discussions similaires

  1. fichier mappé en mémoire
    Par WinBernardo dans le forum Delphi
    Réponses: 7
    Dernier message: 01/12/2006, 09h38
  2. Accéder à un espace mémoire sous XP
    Par keny dans le forum x86 32-bits / 64-bits
    Réponses: 4
    Dernier message: 02/08/2002, 12h37
  3. Déterminer l'adresse d'une application en mémoire
    Par Gib dans le forum x86 32-bits / 64-bits
    Réponses: 9
    Dernier message: 11/06/2002, 14h27
  4. Vitesse de la mémoire vidéo
    Par Anonymous dans le forum x86 16-bits
    Réponses: 3
    Dernier message: 06/06/2002, 20h20
  5. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo