Jump to content
  • Advertisement
Sign in to follow this  
azherdev

[C++] Advise on whether to go pure c++, c++/cli, or c++ and c#

This topic is 3829 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

My software is a back end system for an online game server. RakNet is used for the networking layer (required) and the environment is Win32. It needs to run as a service and multiple instances can be fired up on the same system. I am very happy with Cpp, CLI, and C#. I like .NET's ADO.NET and this system relies on a database heavily. So, my options are: 1: Pure Cpp - Everything is created in C++ language. - SQLAPI++ would be used for the database access but requires connection pooling to be developed in-house - Creating a service in native c++ I've heard is not as easy as .net world and I have never done that. 2: Cpp and CLI - Everything is created in C++ language except: - Database access is done through ado.net in cli - The project itself is a service so the service architecture is already provided by .net 3: Cpp and C# - Raknet is wrapped by C++/CLI application and only provides specific function access - (i.e. No streams, very specific such as "Login", "Move", "JoinRoom", etc.) - Everything else is done within C# world (logic, db access, etc) #1 Requires no coping of data from native heap to managed heap and vice-versa. It keeps everything in the same language, source file, context, etc. for easier code maintenance. #2 and #3 Would require coping of data. Which would add to latency but make it easier to implement logic and database access. Am I worried too much at the memory (overhead and fragmentation) or cpu cycles or network latency in the #2 or #3 scenario? I'm looking for long term support, evolution, and maintainability of the created software.

Share this post


Link to post
Share on other sites
Advertisement
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!