Il s'agit d'un échantillon simple.Appelez le code natif à partir de la performance du code géré
CodeDLL.cpp fichier:
extern "C" {
__declspec(dllexport) int __cdecl SimulateGameDLL (int a, int b) {
return a*b; // Calculation in native code
}
}
GameSharp.cs fichier:
static class GameSharp
{
public static class UnsafeNativeMethods
{
const string _dllLocation = "CoreDLL.dll";
[DllImport(_dllLocation)]
public static extern int SimulateGameDLL(int a, int b);
}
}
ou
static class GameSharp
{
public static class GameSharpClass
{
public static int SimulateGameDLL(int a, int b) {
return a*b; //Calculation in managed code
}
}
}
Le premier: J'ai un fichier dll qui écrit en C++ natif code et j'essaie d'appeler la fonction dans le code managé. (wrapper)
Dans le second, je l'ai converti en code géré. Mon code n'est pas aussi simple que cela. Quel est le meilleur Convertir mon code natif C++ en Managed ou appeler le code managé du formulaire. Lequel est le plus rapide? Pourquoi?
Si ce n'est pas clair, s'il vous plaît dites-moi que je vais en discuter plus.Ne votez pas pour fermer avant de me dire. :) thanks
Je pense que vous avez oublié de mentionner la question – Constantinius
Créez une application console, enveloppez le code dans un chronomètre, exécutez-le sur plusieurs itérations et répétez le tout deux fois. Qu'est ce que tu obtiens? –
C'est au bas de son message ... "Pourquoi? Lequel est le plus rapide?" – gshauger