We don’t allow questions seeking recommendations for software libraries, tutorials, tools, books, or other off-site resources. You can edit the question so it can be answered with facts and citations.
Closed 9 years ago.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
我的理解是,有一些很好的混淆器,尽管我没有足够的经验来判断它们有多好。我听说过有关 Dotfuscator 的好消息。他们确实有评估版本。
如果您要编写 .NET 代码,我建议您在 .NET 中尽可能地进行操作。我编写新的本机代码的唯一原因是我是否确实需要性能(.NET 代码对于繁重的计算会变慢),或者本机代码正在执行 .NET 中无法执行的操作。也就是说,如果不需要的话,我不建议将现有的本机代码转换为 .NET。使用 Platform Invoke 从 .NET 调用本机代码非常简单。
但我会用托管 C++ 或其他托管语言之一编写新代码。它让事情变得更容易。此外,您可以利用 .NET 运行时库,这可能会节省您的编码时间。您将使用与 GUI 代码相同的运行时环境,这意味着您可以使用它们所使用的相同数据结构。这将简化编码并减少在 GUI 代码和处理代码之间编组数据时遇到的问题。
My understanding is that there are good obfuscators, although I don't have enough experience with them to say just how good they are. I've heard good things about Dotfuscator. They do have an evaluation version.
If you're going to write .NET code, I would suggest doing everything that you can in .NET. The only reason I'd write new native code is if I really needed the performance (.NET code will be slower for heavy computation), or if the native code is doing something that you just can't do in .NET. That said, I wouldn't suggest converting your existing native code to .NET if you don't have to. It's pretty easy, using Platform Invoke, to call native code from .NET.
But I would write new code in managed C++, or one of the other managed languages. It makes things easier. In addition, you can leverage the .NET runtime libraries, which will probably save you coding time. You'll be using the same runtime environment as the GUI code, which means that you can use the same data structures that they use. That will simplify coding and reduce the number of problems you have marshaling data between the GUI code and your processing code.