C# Cobol.Net到C转换器

C# Cobol.Net到C转换器,c#,converter,microfocus,C#,Converter,Microfocus,我们在Micro Focus Cobol.Net中有一些系统,我们正在考虑将其转换为C 我们已经尝试在reflector中打开dll,但是我们只得到了C代码 有人建议怎么做吗 当我在reflector中选择C时,我得到如下代码: meminit(&(this._MF_OSBLOCK[0]), 0x20, 4); this._MF_OSBLOCK[4] = 0x30; this._MF_OSBLOCK[5] = 0x30; t

我们在Micro Focus Cobol.Net中有一些系统,我们正在考虑将其转换为C

我们已经尝试在reflector中打开dll,但是我们只得到了C代码

有人建议怎么做吗

当我在reflector中选择C时,我得到如下代码:

        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);

在Reflector中打开.NETDLL肯定不会显示C代码。它可能显示托管C++代码,但是可以通过在工具栏中的语言组合框中选择C来简单地改变。
考虑使用它,允许从程序集创建一个完整的项目。

在反射器中打开.NETDLL肯定不会显示C代码。它可能显示托管C++代码,但是可以通过在工具栏中的语言组合框中选择C来简单地改变。


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

< P>你可以安全地假设你正在看C代码,反射器没有C的代码转换器。你不能假设COBOL编译器正在生成健全的C代码。它没有义务这样做。它可以自由使用特定于编译器的运行时程序集中定义的辅助函数。与Microsoft.CSharp.dll不同

获得使用类似于C的名称的助手的代码并不意外,C语言已经成为RunAnywhere语言很长一段时间了。编译器通常是语言转换器,在本例中从Cobol到C,然后使用C编译器生成特定于平台的机器代码。把C想象成古代的IL


您当然可以编译和运行生成的C代码,一定要使用特定于Cobol的程序集引用。你可能得从GAC那里挖出来。就获得良好的C代码而言,这几乎是不可能的。两种语言之间的差异太大。

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

获得使用类似于C的名称的助手的代码并不意外,C语言已经成为RunAnywhere语言很长一段时间了。编译器通常是语言转换器,在本例中从Cobol到C,然后使用C编译器生成特定于平台的机器代码。把C想象成古代的IL


您当然可以编译和运行生成的C代码,一定要使用特定于Cobol的程序集引用。你可能得从GAC那里挖出来。就获得良好的C代码而言,这几乎是不可能的。两种语言之间的差异太大。

同意Daniel Hilgarth的观点-Reflector肯定能够显示C代码,但不会显示C代码。这看起来确实很奇怪,但这可能是Cobol.net根据Cobol语言规范和内部微焦点配方生成MSIL的方式。也许有一种方法可以微调microfocus Cobol.NET MSIL生成,使其更人性化?是的,使用Cobol类和.NET类型或具有.NET等效项的类型。。然后生成的代码将与使用Daniel Hilgarth的CAgree几乎相同-Reflector肯定能够显示C代码,而不会显示C代码。这看起来确实很奇怪,但可能是Cobol.net根据Cobol语言规范和内部微焦点配方生成MSIL的方式。也许有一种方法可以微调microfocus Cobol.NET MSIL生成,使其更人性化?是的,使用Cobol类和.NET类型或具有.NET等效项的类型。。然后生成的代码将与CThanks的答案几乎相同,我选择了C,我用代码更新了问题example@Shiraz:哇,看起来真奇怪。。。当你点击memcpy时会发生什么?你能看到这个方法的内容吗?它在你的程序集中吗?谢谢你的回答,我选择了C,我用代码更新了这个问题example@Shiraz:哇,看起来真奇怪。。。当你点击memcpy时会发生什么?你能看到这个方法的内容吗?它在你的装配中吗?