Code portability - .NET/Unix
-
Hi, We have an application coded in C++ that runs on Windows. We also have an API that can be used by third party Unix apps. So the current architecture (in simplified form) is: UI (in VC++) --> Functionality Dll (in C++) Third party Unix client --> API --> Functionality Dll (C++ code recompiled as shared object in Unix) We are now planning to redesign the UI in C#.Net. The question before us is how do we maintain the code base (of the Functionality Dll) common to both Unix API and Windows UI? If we just recompile the func dll with /clr switch and use it in .NET, will there be any loss in performance for the main app(func dll has a lot of math calculations involved)? Guys, please help. Hope I was clear. Thank you in advance.
-
Hi, We have an application coded in C++ that runs on Windows. We also have an API that can be used by third party Unix apps. So the current architecture (in simplified form) is: UI (in VC++) --> Functionality Dll (in C++) Third party Unix client --> API --> Functionality Dll (C++ code recompiled as shared object in Unix) We are now planning to redesign the UI in C#.Net. The question before us is how do we maintain the code base (of the Functionality Dll) common to both Unix API and Windows UI? If we just recompile the func dll with /clr switch and use it in .NET, will there be any loss in performance for the main app(func dll has a lot of math calculations involved)? Guys, please help. Hope I was clear. Thank you in advance.
Not sure if I understood your problem correctly, but perhaps this would help you: http://en.wikipedia.org/wiki/Mono_(software)[^]
The need to optimize rises from a bad design. My articles[^]
-
Not sure if I understood your problem correctly, but perhaps this would help you: http://en.wikipedia.org/wiki/Mono_(software)[^]
The need to optimize rises from a bad design. My articles[^]
-
Mika Wendelius wrote:
Not sure if I understood your problem correctly
Me either. However, I suspect he is looking for a two word book report on War and Piece. ;)
led mike
-
That's an excellent interpretation, why didn't I figure it out :-D
The need to optimize rises from a bad design. My articles[^]
Sorry for confusing you guys :) As you must have guessed by now, I m new to the interoperability stuff :confused:. The questions on my mind are: does compiling existing C++ code with /CLR switch automatically emit MSIL for all the unmanaged code written? Will we get to keep the existing C++ code same across Unix and .Net(Windows), just like the way it is now (just needing recompilation)? If yes, is there any performance loss to it? I know there is a chance that I am still not clear, but at least I added one more question to what I already asked. Perhaps you can have a clue where I m leading/misleading myself.
-
Sorry for confusing you guys :) As you must have guessed by now, I m new to the interoperability stuff :confused:. The questions on my mind are: does compiling existing C++ code with /CLR switch automatically emit MSIL for all the unmanaged code written? Will we get to keep the existing C++ code same across Unix and .Net(Windows), just like the way it is now (just needing recompilation)? If yes, is there any performance loss to it? I know there is a chance that I am still not clear, but at least I added one more question to what I already asked. Perhaps you can have a clue where I m leading/misleading myself.
-
Sorry for confusing you guys :) As you must have guessed by now, I m new to the interoperability stuff :confused:. The questions on my mind are: does compiling existing C++ code with /CLR switch automatically emit MSIL for all the unmanaged code written? Will we get to keep the existing C++ code same across Unix and .Net(Windows), just like the way it is now (just needing recompilation)? If yes, is there any performance loss to it? I know there is a chance that I am still not clear, but at least I added one more question to what I already asked. Perhaps you can have a clue where I m leading/misleading myself.
Would these links be any use to you: - Pure and Verifiable Code[^] - Port from UNIX to Win32[^]
The need to optimize rises from a bad design. My articles[^]
-
Btw, Mika, Mono seems a good option. But the API + func dll we have run in IBM AIX, SCO UnixWare, HP HP-UX, Sun Solaris apart from Linux. I dont find any mention of these on the Mono website.
The list for platforms isn't very long, see. http://www.mono-project.com/Supported_Platforms[^] Also have alook at http://mono-project.com/FAQ:_General#Availability[^]
The need to optimize rises from a bad design. My articles[^]