使用arsd.com

1002 篇文章 1 订阅
461 篇文章 0 订阅
import arsd.com;

interface CsharpTest {
	int test();
	int test2(int a);
	string hi(string s);
}

void main() {
	auto obj = createComObject!CsharpTest("Cool.Test"); // early-bind dynamic version
	//auto obj = createComObject("Cool.Test"); // late-bind dynamic version

	import std.stdio;
	writeln(obj.test()); // early-bind already knows the signature
	writeln(obj.test2(12));
	writeln(obj.hi("D"));
	//writeln(obj.test!int()); // late-bind needs help
	//writeln(obj.opDispatch!("test", int)());
}

代码如下.但是编译时很有问题.正确的命令是这样:
!rdmd --build-only -m32mscoff %,用ldc2与dmd都是报有找不到的未定义符号,可能还要编译.但我编译出来的
结果是个900b的空东西.用!rdmd --build-only -m32mscoff %"就没问题了.
然后编译出来的与你上面的a.dll在同一目录,所以就运行成功了.不然直接用rdmd %等等,是不成功的.
或者dmd -i -m32mscoff %,这样也成功了.不折腾.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值