2 Stimmen

Wie gibt man eine Zeichenkette von nativem Code an verwalteten Code in Windows Azure zurück?

Ich fand dieses Tutorial über die Interoperabilität von C#-Code und nicht verwaltetem C++-Code auf Windows Azure sehr hilfreich http://msdn.microsoft.com/en-us/hh351534

Wenn ich sie jedoch ändere, stoße ich auf einige unvorhergesehene Fehler.

Anstelle der Rückgabe und Anzeige einer int aus nicht verwaltetem Code, möchte ich, dass es eine Zeichenfolge zurückgeben und diese Zeichenfolge in C#-Code anzeigen. In meinem Experiment habe ich also die Funktion AddNumbers() von

NATIVECALCULATOR_API int AddNumbers(int left, int right){
    return left+right;
}

in

NATIVECALCULATOR_API char *AddNumbers(int left, int right){
    return "a string";
}

so dass, wenn ich die Schaltfläche auf ASP.NET Seite drücken, wird es "eine Zeichenfolge" zurückgegeben.

In der Datei default.aspx.cs, der Codebehind-Datei der Webseite, heißt es jedoch, dass ich Folgendes nicht ändern kann

static extern int AddNumbers(int left, int right);

in

static extern char *AddNumbers(int left, int right);

weil "Zeiger nur in unsicherem Kontext verwendet werden können".

Und von dort aus habe ich viele Methoden ausprobiert, aber ich bin nicht in der Lage zu konvertieren AddNumbers() in eine anzuzeigende Zeichenkette.

Also im Grunde, kann mir jemand zeigen, wie man das Tutorial zu ändern, um eine Zeichenfolge anstelle eines int anzuzeigen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X