Need to reuse your old C-code?

Do you ever have a need to reuse your old c-code on Microsoft Windows environment? Your old code is working, so why rewrite it if it isn’t broken.

This is true, but if you need a modern facelift for your application, it may not be obvious how to best do it. For example, if you have an application with a lot of C-code, you are stuck in using old user interface technologies like MFC, right?

Not exactly. You can actually, and quite easily, use the best of the both worlds, continue using your legacy code and still use newest user interface tools and languages like Microsoft Visual Studio, .NET Framework and C# language.

An other situation, where you may need to combine .NET CLR code with native C-code, is the one I have been working a lot with: maybe you are working with embedded application written in C, but also need to run some of your embedded code on your PC for evaluation, testing and debugging.

Many people seem to think that new programing tools and languages like Microsoft Visual Studio and C#, are not suitable for developing user interfaces on top of native C-code. This is not actually true.

Also, there is a misunderstanding, that even it the combination works, the resulting code is cumbersome and unreliable. True, there are some caveats you need to learn how to master.  But once you do, the results can be excellent mixture of old and new.

1 - dotNetWin32

But were to start?

Very often it is an advantage, if you can learn from an expert how this is achieved in the most effective and reliable way. It you have any needs discussed in this articled,  not not hesitate to contact Tikkabit. We can help in integrating legacy Windows code with modern technologies, using native code in complex, maybe multithreaded environments, combined with modern user interface technologies.

Using an expert is not expensive, but wasting time can be.

 

Timo Ylhäinen
Software Architect/ Co-Founder
timo.ylhainen@tikkabit.com
http://www.linkedin.com/in/timoylhainen

 


Leave a Reply

Your email address will not be published. Required fields are marked *