Question

I am just curious to know if this can be done or not. I don't plan on doing it if it dosen't pack some significant performance benefits. I am a web and game developer but I usually don't develop games in c#.

Was it helpful?

Solution

Yes, it is possible - you can use ilasm (comes with .NET SDK) to compile your code. There's no IDE support for that in Visual Studio, however. There aren't any performance benefits that you can derive from this that you wouldn't be able to get by other means - specifically, C++/CLI covers all low-level CLR features that may provide some benefit and are inaccessible from C# or VB - most notably, no-copy (ref) unboxing, plain unbounded function pointers (as opposed to delegates) and the associated calli IL instruction, and ref (managed pointer in CLI parlance) local variables (as opposed to just parameters).

OTHER TIPS

Yes, you can; Microsoft's MSIL Assembler (ilasm.exe) from the .NET SDK will compile your IL to executable code. I can't see any reason to do this, except in very focused areas, where you've found a substantial performance benefit to be gained.

Here's a detailed, if dated, article describing how to do this.

Or you could emit a bit of CIL from your C#. Feeding an object literal to ILGenerator

The #Develop (Sharp Develop) IDE has a plugin for il projects. I haven't used it, so I'm not sure how much help it provides. http://www.icsharpcode.net/OpenSource/SD/

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top