首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cobol.Net到C#的转换器

Cobol.Net到C#的转换器
EN

Stack Overflow用户
提问于 2011-04-04 19:40:47
回答 2查看 2.1K关注 0票数 1

我们正在考虑将Micro Focus Cobol.Net中的一些系统转换为C#。

我们已经尝试打开反射器中的dll,但是我们只得到了C代码。

有没有人能推荐一下怎么做?

当我在反射器中选择C#时,我得到的代码如下所示:

代码语言:javascript
复制
        meminit(&(this._MF_OSBLOCK[0]), 0x20, 4);
        this._MF_OSBLOCK[4] = 0x30;
        this._MF_OSBLOCK[5] = 0x30;
        this._MF_OSBLOCK[6] = 0x30;
        this._MF_OSBLOCK[7] = 0x30;
        meminit(&(this._MF_OSBLOCK[8]), 0x20, 30);
        memcpy(&(this._MF_OSBLOCK[0x26]), &(_MF_LITBLOCK[0]), 2);
        int num2 = 0;
        do
        {
            memcpy(&(this._MF_OSBLOCK[40 + num2]), &(_MF_LITBLOCK[0]), 2);
        }
        while ((num2 += 2) < 0xc6);
        memcpy(&(this._MF_OSBLOCK[240]), &(_MF_LITBLOCK[2]), 4);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-04 20:14:46

您可以安全地假设您正在查看C#代码,Reflector没有用于C的代码转换器。您不能假定Cobol编译器正在生成正常的C#代码。它没有义务这样做。它可以自由地使用在特定于编译器的运行时程序集中定义的助手函数。和Microsoft.CSharp.dll没什么不同。

获得使用具有类似C的名称的帮助器的代码并不是意外的,C已经是run-anywhere语言很长一段时间了。编译器经常是语言翻译器,在这种情况下从Cobol到C,然后使用C编译器生成特定于平台的机器码。可以把C看作是过去的IL。

您一定可以编译和运行生成的C#代码,一定要使用Cobol特定的程序集引用。您可能需要从GAC中挖掘出来。就获得像样的C#代码而言,很难。两种语言之间的差异太大了。

票数 4
EN

Stack Overflow用户

发布于 2011-04-04 19:42:40

在Reflector中打开.NET动态链接库肯定不会显示C代码。它可能会显示托管C++代码,但只需在工具栏的语言组合框中选择C#即可更改。

考虑使用FileDisassembler add in,它允许从程序集创建一个完整的项目。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5537930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档