Java到VB转换器(Java到VB.NET)
常见问题
1、问:原始的C ++文件是否有任何更改?
您现有的代码完全保留。新的C#文件将输出到您指定的新位置。
2、问:转换精度是多少?
我们的准确性非常高,但是除了最琐碎的转换之外,所有其他转换都需要进行重大调整。C ++的某些方面没有直接等效的方法。阅读常见问题解答的其余部分,以了解一些未转换的内容。C ++到C#转换器旨在减少将代码转换为C#所要做的工作量,但这只是第一步。
您不应该尝试转换严重依赖于指针算术或模板元编程的代码,因为这些功能仅在C ++中可用。
3、问:函数指针呢?
C ++至C#转换器将函数指针typedef转换为委托。
4、问:STL容器怎么样?
C ++到C#转换器将引用转换为大多数STL容器类型,例如std :: vector。这些容器中没有等效方法的一些方法不会转换。
5、问:C ++ / CLI代码是否已转换?
没有。
6、问:C ++ UI代码如何?
由于这些类型与.NET UI类型之间缺乏对应关系,因此转换器无法转换C ++ UI类型。
7、问:转换后最需要进行哪些最常见的调整?
大多数C / C ++库函数调用不会转换。但是,我们确实会转换基于C的字符串,键盘I / O,数学和实用程序函数调用的子集,以及某些C ++键盘I / O方法,基于STL的字符串类方法和大多数STL容器。
指针算法在C#中没有很好的等效项。
某些指针和地址操作可能保留在转换后的代码中。
多重继承不会转换,因为它在C#中不可用。
C ++模板将转换为C#泛型,但仅大致等同于C#泛型。这些可能需要进一步关注。
模板元编程在C#中没有很好的等效项。
通过赋值运算符逐位复制对象不是C#中的默认设置。我们尝试检测这些情况,并将赋值转换为对复制构造函数的调用(如果在变量初始化中使用)或转换后的赋值运算符重载(将其转换为“ CopyFrom”方法),并提供“警告”评论。
C#不允许嵌入汇编指令。这些都带有注释。
C#中没有等效的朋友函数或朋友类。这些都带有注释。
联合和位字段在C#中没有优雅的等效项。工会带有“待办事项”注释。
一些可以在C ++中重载的运算符不能在C#中重载。这些都带有注释。