Je développe actuellement une application pour Windows CE sur le processeur TI OMAP, qui est un processeur ARM. J'essaye simplement d'appeler une fonction dans un fichier DLL C++ de C# et j'ai toujours une valeur de 0, quel que soit le type de données que j'utilise. Est-ce probablement une sorte de désaccord de convention d'appel? Je compile la DLL et l'EXE principal à partir de la même solution Visual Studio.C++ DLL appelée à partir de C# sur Windows CE pour ARM Toujours renvoie 0
C# Code Snippet:
public partial class Form1 : Form
{
private void button1_Click(object sender, EventArgs e)
{
byte test = LibWrap.test_return();
MessageBox.Show(test.ToString());
}
}
public class LibWrap
{
[DllImport("Test_CE.dll")]
public static extern byte test_return();
}
C++ DLL Code Snippet:
extern "C" __declspec (dllexport) unsigned char test_return() {
return 95;
}
Juste testé sur l'émulateur Windows Mobile 2005 R2 et fonctionne parfaitement. –