Ich entwickle gerade eine Anwendung für Windows CE auf dem TI OMAP-Prozessor, der ein ARM-Prozessor ist. Ich versuche, einfach eine Funktion in einer C++ - DLL-Datei von C# aufzurufen, und ich bekomme immer einen Wert von 0 zurück, egal welchen Datentyp ich verwende. Ist das höchstwahrscheinlich eine Art Conversion-Mismatch? Ich kompiliere die DLL und die Haupt-EXE von derselben Visual Studio-Lösung.C++ - DLL, die von C# unter Windows CE für ARM aufgerufen wird, gibt immer 0 zurück
C# Codeschnipsel:
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;
}
Nur auf Windows Mobile 2005 R2 Emulator getestet und funktioniert perfekt. –