社区
VC.NET
帖子详情
在C++.NET中如何定义具有输出参数的函数
飞花丝雨
2009-10-15 10:15:10
本人需要将标准C++程序封装成.net程序给C#调用,某个类成员函数有几个输出参数(C++引用),如果直接使用.net引用^, 不能将参数带出去(在C#中是普通参数,不是ref或out),在C++封装时应该如何指定呢?
...全文
329
2
打赏
收藏
在C++.NET中如何定义具有输出参数的函数
本人需要将标准C++程序封装成.net程序给C#调用,某个类成员函数有几个输出参数(C++引用),如果直接使用.net引用^, 不能将参数带出去(在C#中是普通参数,不是ref或out),在C++封装时应该如何指定呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
飞花丝雨
2009-10-15
打赏
举报
回复
用%指定一个引用参数,对应C#中的ref,即输入输出参数。
加上[out]限定,变为仅输出的参数,即C#中的out
[Runtime::InteropServices::Out]可以简写为[out],默认为[in, out]
飞花丝雨
2009-10-15
打赏
举报
回复
已解决,供大家参考,详见MSDN(VS2008)
此示例演示如何将函数参数指定为 out 参数,以及如何从 C# 程序中调用该函数。
在 Visual C++ 中使用 OutAttribute 指定输出参数。
此示例的第一部分是一个 Visual C++ DLL,其类型包含一个具有输出参数的函数。
// cpp_out_param.cpp
// compile with: /LD /clr:safe
using namespace System;
public value struct TestStruct {
static void Test([Runtime::InteropServices::Out] String^ %s) {
s = "a string";
}
};
这是一个 C# 客户端,它将使用前面示例中创建的 Visual C++ 组件。
// cpp_out_param_2.cs
// compile with: /reference:cpp_out_param.dll
using System;
class TestClass {
public static void Main() {
String t;
TestStruct.Test(out t);
System.Console.WriteLine(t);
}
}
C++
编程实例100篇
函数
是
C++
中
的可重用代码块,可以接受
参数
并返回值。理解
函数
的声明、
定义
、调用和重载是编程的关键。此外,文件输入
输出
(I/O)也是
C++
的重要部分,利用iostream库可以方便地进行文件读写。
C++
标准库提供了大量预...
C#调用C/
C++
Dll
中
函数
实例代码
在
.NET
框架
中
,C#作为高级编程语言,与C或
C++
编译的动态链接库(DLL)交互是常见的需求。这种交互主要通过平台调用服务(Platform Invoke, P/Invoke)来实现,使得托管代码(如C#)能够调用非托管代码(如C/
C++
的DLL)...
C++
在
函数
中
定义
函数
C++
实现在
函数
中
定义
“
函数
”的功能
Visual
C++
.NET
程序设计与实例详解
简介:本书《Visual
C++
精彩实例详解***程序设计 配套代码》重点介绍如何使用Microsoft Visual
C++
.NET
环境进行程序开发。内容从基础编程技巧到高级应用,通过丰富的实例涵盖
C++
编程的多个方面,如面向对象编程、...
托管
C++
函数
定义
输出
参数
(ref)
有时候我们为了调用系统底层的API,为UI(C#)提供服务,那么要以把这些方法...但有时候会有这么一个问题:在托管工程
中
的方法,如何声明
输出
参数
? 举个例子: 有这样一个
函数
: GetTimeStampFormat_r(UINT &Fo
VC.NET
7,539
社区成员
27,671
社区内容
发帖
与我相关
我的任务
VC.NET
.NET技术 VC.NET
复制链接
扫一扫
分享
社区描述
.NET技术 VC.NET
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章