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

Visual C++ Discussion :

Linker une fonction d'un .lib


Sujet :

Visual C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    925
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Mai 2011
    Messages : 925
    Par défaut Linker une fonction d'un .lib
    Bonjour,

    Dans Visual Studio Je voudrais dans un .lib (librarie statique ) appeler (ou equivalent de linker) une fonction d'une autre .lib , mais en mode
    inline c'est à dire faire l'équivalence de "__forceinline", c'est à dire le compilateur
    incorpore à répetition le contenue de la fonction de l'autre .lib autant de fois que je l'appelle.

    Est - ce possible ?
    J'en aie besoin.

    Info : Les fonctions déclaré en inline definit dans une librarie statique ne sont pas exportable.

    Merci beaucoup

  2. #2
    Membre Expert Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 366
    Par défaut
    salut

    comme tu le dis toi-même : inline est lié au compilateur.
    je ne vois pas comment le linker pourrait faire ce boulot.

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 487
    Par défaut
    C'est théoriquement réalisable avec des outils dédiés ou en traficotant les outils d'optimisation globale de VS, mais c'est éminemment complexe et vraiment fragile comme approche.

    Je suis très circonspect sur le bien fondé d'une telle approche.

    Normalement, les fonctions "inlinables" systématiquement sont facilement convertible en MACRO et cela ne pose pas de problème dans ce cas de les mettre directement dans les fichiers d'header de la lib.

  4. #4
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    925
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Mai 2011
    Messages : 925
    Par défaut
    J'ai un projet (a.lib) qui met 5 minutes à compiler ,
    cl.exe met enorme de temps à compiler car c'est un projet spéciale ,
    et je voudrais dans un autre (b.lib) que le compilateur recopie les code d'une fonction nommé "mafuncdea" du projet (a.lib) autant de fois que j'appelle la fonction "mafuncdea" dans le projet (b.lib) definit dans le projet (a.lib).

    voilà ;

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 487
    Par défaut
    J'ai un projet (a.lib) qui met 5 minutes à compiler ,
    cl.exe met enorme de temps à compiler car c'est un projet spéciale ,
    J'ai travaillé sur des projets dont la compilation complète du projet prenait 8 heures sur un octo-pro et de la RAM à foisons et 1h30 au minimum, avant que je ne fasse un découpage par Dll, cela relative votre " enorme de temps".

    Pourquoi ne pas en faire une MACRO ?
    Pourquoi ne pas faire un projet de lib spécifique ?
    Pourquoi le code source de cette fonction n'est pas transférer du projet a.lin au projet b.lib ?

    Vous ne donnez pas assez de détails pour justifier d'une approche aussi peu orthodoxe.

  6. #6
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    925
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Mai 2011
    Messages : 925
    Par défaut
    Citation Envoyé par bacelar Voir le message
    J'ai travaillé sur des projets dont la compilation complète du projet prenait 8 heures sur un octo-pro et de la RAM à foisons et 1h30 au minimum, avant que je ne fasse un découpage par Dll, cela relative votre " enorme de temps".

    Pourquoi ne pas en faire une MACRO ?
    Pourquoi ne pas faire un projet de lib spécifique ?
    Pourquoi le code source de cette fonction n'est pas transférer du projet a.lin au projet b.lib ?

    Vous ne donnez pas assez de détails pour justifier d'une approche aussi peu orthodoxe.
    En faites , il s'agit de licences numérique pour mes applications / utilitaires que je vend ,et je fais en sorte pour décourager le crackeur( pirate).

    Mon idée :
    un .lib (a.lib) qui gére le decodage de mes licence qui met un plomb à compiler
    un .lib (b.lib) qui gére l'affichage d'information utilisateur et les droits d'utilisation de telle fonction(s) de mes applications.

    Pour gagner du temps à chaque modification de la lib b.lib ,c'est inliner la fonction de decodage de licence depuis le lib "a.lib" ,c'est la meilleur solution car si pas inliner il suffit que le crackeur remplace l'instruction d'appelle "CALL" par une autre fonction et le tour est jouer.

    Pour le moment tout est dans le même .lib.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/06/2011, 15h24
  2. Réponses: 5
    Dernier message: 11/05/2011, 09h27
  3. Réponses: 4
    Dernier message: 22/07/2010, 17h55
  4. Réponses: 1
    Dernier message: 30/01/2010, 22h51
  5. [Turbo Pascal] Allocation et désallocation de pointeurs dans une fonction
    Par neird dans le forum Turbo Pascal
    Réponses: 13
    Dernier message: 17/11/2002, 20h14

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