jmengelle
Messages postés21Date d'inscriptionvendredi 28 avril 2006StatutMembreDernière intervention20 janvier 2009
-
5 déc. 2008 à 15:42
jmengelle
Messages postés21Date d'inscriptionvendredi 28 avril 2006StatutMembreDernière intervention20 janvier 2009
-
11 déc. 2008 à 15:34
Bonjour,
bien que je ne sois pas du tout expérimenté dans ces langages, on m'a demandé depuis une application C# d'apeller des fonction C++ qui seront contenu dans une DLL.
A la base je suis plutôt Java, donc C# je m'en sort encore pour ce que j'ai eu à faire (webservice), mais le C++ on peut dire que j'y connais rien.
Alors j'ai 2 questions :
- Comment faire l'appel à ces fonctions ?
- Comment ça se passe pour les type de données pour les paramètres/retour ? Je peux utiliser des tableaux et structures ?
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 10 déc. 2008 à 16:23
D'un point de vue sécuritaire, "marshalling" ou context unsafe, ça ne change pas grand chose sauf qu'en mode unsafe, le runtime .NET ne verifie plus les dépassements de capacité par exemple ou la libération des objets etc... Disons que tous les langages .NET ne sont pas capablent d'utiliser les pointeurs d'ou l'importance du marshalling.
jmengelle
Messages postés21Date d'inscriptionvendredi 28 avril 2006StatutMembreDernière intervention20 janvier 2009 11 déc. 2008 à 15:34
Petite question pratique :
Mon programme C# est en faite un WebService.
J'ai placé la dll que j'utilise dans un répertoire que j'ai autorisé pour l'utilisateur ASP.NET
Donc pas de souci j'y accède.
par contre, ma dll utilise d'autre dll, je me posait donc la question de savoir où les placer ?
Si je les places dans le même repertoire que ma dll ça marchera ?
A noter que je n'ai aucune idée de comment les appels sont fait.
Je dis ça car avec la dernière dll qu'on m'a fourni (celle qui en utilise d'autre justement), ça plante.
Or c'est difficile de débugger ça (en tout cas je ne sais pas trop comment faire, et je ne vois rien dans les logs de mon webservice, quoi qu'il se passe d'ailleur.