Je cherche actuellement =E0 cr=E9er une dll, celle ci contient une m=E9thod=
e
"test" qui sera appel=E9e par mon programme. Le probl=E8me est que la
m=E9thode "test" fait elle m=EAme appelle =E0 une m=E9thode "Func" contenue
dans mon programme.
func.h :
#pragma once
#include "stdafx.h"
#include <iostream>
> Visual Studio me dit que le symbole externe non résolu _Func n'est pas > référencé dans la fonction test
C'est normal, il n'y a pas le corps de la fonction Func().
La fonction Func se trouve dans mon programme et je veux y faire appel depuis ma dll (depuis "test")
Ce n'est pas possible, comme cela est posé.
Le compilateur est un outil qui a besoin de l'adresse de la fonction Func. Comme celle-ci lors de la compilation n'est pas connue, il ne sait pas comment faire.
Il faut de tu utilises à la place un pointeur de fonction. Ce pointeur devra est initialisé avec la bonne valeur avant de pouvoir l'utiliser dans ta DLL.
"Stealth" <delecr_j@epitech.net> a écrit dans le message de groupe de
discussion :
2891899b-292e-4c58-9e60-7b4874cd9aa5@k41g2000vbt.googlegroups.com...
On 8 oct, 13:19, marc <marc.tes...@caramail.com> wrote:
On 8 oct, 11:50, Stealth <delec...@epitech.net> wrote:
> Visual Studio me dit que le symbole externe non résolu _Func n'est pas
> référencé dans la fonction test
C'est normal, il n'y a pas le corps de la fonction Func().
La fonction Func se trouve dans mon programme et je veux y faire appel
depuis ma dll (depuis "test")
Ce n'est pas possible, comme cela est posé.
Le compilateur est un outil qui a besoin de l'adresse de la fonction Func.
Comme celle-ci lors de la compilation n'est pas connue, il ne sait pas
comment faire.
Il faut de tu utilises à la place un pointeur de fonction.
Ce pointeur devra est initialisé avec la bonne valeur avant de pouvoir
l'utiliser dans ta DLL.
> Visual Studio me dit que le symbole externe non résolu _Func n'est pas > référencé dans la fonction test
C'est normal, il n'y a pas le corps de la fonction Func().
La fonction Func se trouve dans mon programme et je veux y faire appel depuis ma dll (depuis "test")
Ce n'est pas possible, comme cela est posé.
Le compilateur est un outil qui a besoin de l'adresse de la fonction Func. Comme celle-ci lors de la compilation n'est pas connue, il ne sait pas comment faire.
Il faut de tu utilises à la place un pointeur de fonction. Ce pointeur devra est initialisé avec la bonne valeur avant de pouvoir l'utiliser dans ta DLL.
marc
On 8 oct, 13:49, Stealth wrote:
On 8 oct, 13:19, marc wrote:
> C'est normal, il n'y a pas le corps de la fonction Func().
C'est normal la fonction func se trouve dans mon programme, j'y fait appel depuis ma dll (depuis "test")
Comme a dit Senhon en-dessous, il faut passer par un pointeur de fonction
On 8 oct, 13:49, Stealth <delec...@epitech.net> wrote:
On 8 oct, 13:19, marc <marc.tes...@caramail.com> wrote:
> C'est normal, il n'y a pas le corps de la fonction Func().
C'est normal la fonction func se trouve dans mon programme, j'y fait
appel depuis ma dll (depuis "test")
Comme a dit Senhon en-dessous, il faut passer par un pointeur de
fonction
> C'est normal, il n'y a pas le corps de la fonction Func().
C'est normal la fonction func se trouve dans mon programme, j'y fait appel depuis ma dll (depuis "test")
Comme a dit Senhon en-dessous, il faut passer par un pointeur de fonction
Bertrand Lenoir-Welter
Ceci dit, une DLL qui a besoin d'une fonction présente dans le programme appelant, ça ressemble quand même un peu à une architecture en forme de plat de spaghettis. Si la DLL est partagée par plusieurs programmes, elle fait comment ?
Ceci dit, une DLL qui a besoin d'une fonction présente dans le programme
appelant, ça ressemble quand même un peu à une architecture en forme de
plat de spaghettis. Si la DLL est partagée par plusieurs programmes,
elle fait comment ?
Ceci dit, une DLL qui a besoin d'une fonction présente dans le programme appelant, ça ressemble quand même un peu à une architecture en forme de plat de spaghettis. Si la DLL est partagée par plusieurs programmes, elle fait comment ?