如何将C#转换为C++

mak*_*ake 10 c# c++ mixing

有人可以帮我把C#转换成C++吗?这是一个例子:

using System;
using System.Net;
using System.Text;
using System.IO;
using System.Threading;
namespace read_website
{
    class Program
    {
        static void Main(string[] args)
        {
            while (true)
            {
                DownloadString("http://www.xxx.asp");
                Thread.Sleep(100);//update every 100 millisecoand 
            }
        }

        public static void DownloadString(string address)
        {           
            WebClient client = new WebClient();
            string website = client.DownloadString(address);
            get_Current_X1_value(website);
        }

        static void get_Current_X1_value(string web)
        {
            int x = web.IndexOf("Current X1 value:");
            string part1 = web.Substring(x, 100);
            string[] array = part1.Split('>', '<');
            for (int i = 0; i < array.Length; i++)
            {
                if (array[i].Contains("Current X1 value:"))
                    Console.Write(array[i]);
                if (array[i].Contains("W"))
                    Console.WriteLine(array[i]);
            }

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

实际上,因为在unix上混合C#和C++很复杂,我试图将C#转换为C++,所以,任何帮助都将非常感激

提前感谢您的回复,帮助和时间,

Dar*_*rov 22

实际上,因为在unix上混合C#和C++很复杂,我试图将C#转换为C++

你考虑过Mono吗?在开始学习C++之前,为了在Unix上转换和运行现有的.NET应用程序,这是值得检查的.它也是二进制兼容的,这意味着您甚至不需要重新编译现有的程序集.

  • @Cheeso,Mono项目开始的主要原因之一是为*nix系统提供CLR实现. (9认同)
  • @make,安装Mono所需的工作远远少于移植你发布到C++的代码. (3认同)

Ree*_*sey 8

将C#直接转换为C++几乎是不可能的,因此它可以在Unix机器上运行.

这主要是因为Unix机器上的.NET Framework不可用(来自C++).Mono将允许您运行许多C#/ .NET程序,但不支持C++/CLI(允许直接使用.NET Framework的C++扩展).

转换语言是可能的 - 虽然由于方法上的差异很困难(例如,C#中的垃圾收集),但框架调用将需要移植到不同的库,并且它通常不是直接翻译的良好候选者.

例如,在上面的代码中,您必须决定用于Web访问的C++库 - 一旦您做出了这个选择,它将决定调用该库来下载网站字符串所需的代码.


Try*_*ler 8

学习C#,学习C++,并花大量时间重写.

或者使用C#程序集中的PInvoke调用C++ DLL.

或者编写托管C++并使用/ clr开关进行编译.可以从C#项目中引用和使用生成的程序集.


igo*_*shi 5

我不时地使用C#到C++转换器.从c#到c ++或c ++/cli的代码段转换非常棒.