Developer's Blog
You've landed on the Piranha Designs blog page. You can find ideas, tips, tricks, articles, updates, and more straight from our designers and developers.
Latest Blog Entries...
The Javalin Project
Code - It's what we write. Here at Piranha Designs we code using the C/C++ and assembly languages. Being a predominently Windows shop we use Microsoft's Visual Studio to design, develop, and debug our applications. It's a great tool. However, support for the assembly language is dying.
In case you live under a rock Microsoft is changing the game. Everything is now .NET and support for native code is slowly being pushed to the grave. Let's begin with some of the issues involved.
Microsoft has removed the _asm keyword from VS and replaced it with intrinsics. This can be a good thing or a bad thing depending on your use of mixed assembler/C++ code. If you don't embed assembly directly into your source you probably don't care about this. However, if you've used the _asm keyword to define blocks of assembly code within your methods - as we have - now you're looking at a rewrite.
The easiest thing to do is take those functions out of your C++ source and create separate assembler modules. Of course, if you're like us, you have products that support 32-bit and 64-bit platforms so those modules need to be portable. Another factor is that calling conventions and stack alignment have changed from the 32-bit world to the 64-bit world. You need to write macros that handle this transparently within the assembler. Wouldn't it be so much easier if someone had written those macros already?
The Javalin project was created to handle exactly those sorts of programming problems. In addition to all the low level stuff that's required to support native binary code Javalin also provides a structure for Object Oriented Programming.
If your company has requirements similar to ours then head over to the Javalin website where you can start using open-source Object-Oriented assembly code within your own commercial programs.
Want to make a comment, suggestion, or have a question about this article? Please contact us and let us know what you're thoughts are. Till next time...
This article filed on 17 Jul 2010 at: The Javalin Project

