回 帖 发 新 帖 刷新版面

主题:codeblock开发的dll,在c#下面找不到函数入口,为什么?

在cvf下面就可以用,一样样的代码,为什么?难道是codeblock的配置有问题吗?

回复列表 (共6个回复)

沙发

You know Codeblock is only a IDE, not a compiler.

板凳

用的是C::B加上gfortran么?
如果是。
那么原因很简单,因为函数名字不一样了:)
原来你在C#里如果是:
__sub123
那么在用gfortran编译出来的就是:
sub123_

3 楼

[quote]用的是C::B加上gfortran么?
如果是。
那么原因很简单,因为函数名字不一样了:)
原来你在C#里如果是:
__sub123
那么在用gfortran编译出来的就是:
sub123_[/quote]
用f2003的C_BINDING想编译出来啥就是啥

4 楼

[quote]用的是C::B加上gfortran么?
如果是。
那么原因很简单,因为函数名字不一样了:)
原来你在C#里如果是:
__sub123
那么在用gfortran编译出来的就是:
sub123_[/quote]
哪怎么办呢?

5 楼

[quote]You know Codeblock is only a IDE, not a compiler.[/quote]
恩,加了gfortran

6 楼

[quote]用的是C::B加上gfortran么?
如果是。
那么原因很简单,因为函数名字不一样了:)
原来你在C#里如果是:
__sub123
那么在用gfortran编译出来的就是:
sub123_[/quote]
是的,我找到了dll的函数入口,修改后可以进去了,但是运行的结果很夸张:10+10=1212324 。代码没有问题,难道是编译器编码跟C#不一样吗?很奇怪!

我来回复

您尚未登录,请登录后再回复。点此登录或注册