【发布时间】:2011-08-17 07:19:07
【问题描述】:
我发现这篇关于如何在 Windows Azure 上互操作 C# 代码和非托管 C++ 代码的教程非常有用http://msdn.microsoft.com/en-us/hh351534
但是,当我修改它时,我遇到了一些无法预料的错误。
我希望它返回一个字符串并在 C# 代码中显示该字符串,而不是从非托管代码返回和显示 int。所以在我的实验中,我将函数AddNumbers()从
NATIVECALCULATOR_API int AddNumbers(int left, int right){
return left+right;
}
进入
NATIVECALCULATOR_API char *AddNumbers(int left, int right){
return "a string";
}
这样当我点击 ASP.NET 页面上的按钮时,它会返回“一个字符串”。
但是,在网页代码隐藏文件 default.aspx.cs 中,它告诉我无法更改
static extern int AddNumbers(int left, int right);
进入
static extern char *AddNumbers(int left, int right);
因为“指针只能在不安全的上下文中使用”
从那里我尝试了很多方法,但我无法将AddNumbers() 转换为要显示的字符串。
所以基本上,有人可以告诉我如何修改教程以显示字符串而不是 int。
【问题讨论】: