Jump to content
  • Advertisement
Sign in to follow this  
Skeezix

Please tell the differences

This topic is 3899 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

Well actually I was surfing the forums when suddenly I read this sort of stuffs... Umm..to make the story short,can you please tell me the difference between this terms or maybe just define to me what they really are: 1.MFC 2.C++\CLI 3.Managed/unmanaged (c++ or directx) 4.native codes 5.wrapper(is this just the use of oop to hide implementations) 6.JIT well thats as far as is can remember...i'll post again if i find more terms that i dont understand thanks for the help!

Share this post


Link to post
Share on other sites
Advertisement
1. A C++ GUI framework developed by Microsoft. Windows-only, fairly popular, but only available with Standard editions of Visual Studio and up.

2. C++ running on the Common Language Infrastructure - .NET.

3. Managed C++ is the precursor to C++/CLI and generally is not recommended for use in light of the latter's improvements.

4. Code compiled directly for a processor and not an intermediary such as the CLI.

5. Implementation hiding, generally, yes.

6. A compiler for an intermediate form (such as the CLI) into native processor code, generally giving a large performance speedup over a purely interpreted version.

Share this post


Link to post
Share on other sites
Just as a hint for the future: Things like these are easily findable on Google and/or Wikipedia. If, after browsing both of these you find that you lack a suitable answer, then come and post about it. Doing so saves the rest of the forum goers here a lot of time and trouble.

Share this post


Link to post
Share on other sites
5. a wrapper is a way of changing an interface. say you have a library written in C. It isn't object oriented at all. You want to use it in an object oriented way so you write classes that use the underlying library to make it appear object oriented.


The term is also used when talking about making a library available in a new language. If you want to use opengl in python you need an opengl wrapper.

Share this post


Link to post
Share on other sites
@Mike.Popoloski actually i googled this before i make this thread i've also read the things about my question in wikipedia,im not that kind of person that just creates thread you know...

@niteice can you expand your explanation about 2,3,4 if possible some examples regarding on its difference to the other

Share this post


Link to post
Share on other sites
I think of 'managed' as meaning 'managed' by the the clr runtime (ie offering memory management services [garbage collection] and whatever else goes on). likewise 'managed code' is code that can only run in a 'managed environment' - the clr runtime.

'native' is the opposite of 'managed'. 'native code' runs straight on the cpu and you have to manage your own memory.

The normal c++ that we traditionally know is native or generates native code (ie we get compilers that target the cpu) and so there has never been a need for these distinctions. microsoft with their new (NET) technologies have introduced variations or extensions (and in some case limitations) to the c++ language that allow it to generate 'managed code'. ie some things are sufficiently different that they are judged to warrant changes in the language (or at least microsoft's implmentation of c++).

The first iteration of this stuff was called MC++ or 'managed extensions' for c++. this was really clunky and tried to make some stuff which wasnt c++ look like c++ to ease transition for programmers. The next iteration with vs2005/08 is CLI or c++/CLI. So the relationship of c++/CLI with MC++ is that it replaces it - but both can be considered to do the same job and merely enable the programmer to write managed code from a c++ style lanaguage or interop between managed and native.

one example of the difference between mc++ and c++/cli --> MC++ used the '*' operator so as to appear to be the same as normal c++ pointer syntax, while c++/cli uses '^' which has no equivalent in c++ to indicate references to manged objects.

sorry i am a bit tired so dont think am expressing myself very well. anyway it took me forever to work out these distinctions as well - so i hope it helps.

Share this post


Link to post
Share on other sites
Quote:
Original post by Skeezix
@Mike.Popoloski actually i googled this before i make this thread i've also read the things about my question in wikipedia,im not that kind of person that just creates thread you know...

Then ask us to elaborate on what you don't understand about what you've read, rather than ask us to just regurgitate the same damn thing. You'd agree it'd be a waste of both our times if we ended up giving you the same answers as you already read, yes? On that note, I recommend reading this wonderful article which I've read time and time again myself.

Share this post


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

  • Advertisement
×

Important Information

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

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!