Need some opinions and answers about C++

Hello everybody,

I am advanced in programming (I think.). I have got experience in C#.NET, VB.NET and GML. I started to learn C++ about week ago. Reason that why I started is I have wanted to develop a game in other language except from GML. I have searched documents for the idea of "What is the best language for developing games". Actually I have known there has been no such a thing like "The best language for games". I know languages have both cons and pros. Finally, I have dediced to continue with C++. Also I have always wanted to learn C++.

I got some (primarily a lot) problems about C++. First of all, I have chosen Visual Studio 2010 for my C++ Compiler. After some practising is done, I have sent one of my projects to a friend of mine. And he said that He could not run the application because of one of the DLL is missing. The DLL was msvcr100.dll . I searched a lot about this DLL instead of searching the ways for fixing the problem (because I know it can easly done with replacing a DLL on my friends OS). I have found the documents about C-Run time DLL things.

http://msdn.microsoft.com/en-us/library/abx4dbyh%28v=vs.80%29.aspx

I have changed my option to /MT and tried to build in that mode but a lot of errors have appeared. Then I dediced to change my compiler with DevC++. I have compiled my project in DevC++ and sent to my friend. He said that It worked.

The main thing is why microsoft's compiler requires a DLL and DevC++ not? Why ms wants us to use their own DLLs?

And another simple question: How can I simulate the "Console.ReadKey()" (this is in C#) in C++?


Thanks a lot :)
closed account (3hM2Nwbp)
It's likely that the additional DLL was required because you were compiling managed code. If you're writing native C++, try switching the CLR setting to "No Common Language Runtime Support".

Edit - Keep in mind however that the .NET framework is inaccessible in native C++.
Last edited on
Thanks for reply

What happens if I do not use these DLLs and what happns if I do?

What is these DLLs for?

EDIT: By the way it is already set to "No Common Language Runtime Support". And what it means by Common language support?
Last edited on
closed account (3hM2Nwbp)
Well, if you write C++/CLI code without including the DLLs then your application won't run. The DLLs shouldn't be required for native C++, but only for Microsoft's spin-off. I couldn't honestly say what the DLL does exactly though, sorry.

*Common language support is for Microsoft's C++/CLI language. It's a sort of garbage collected "C++ish" language. Does your program use any third party libraries or DLLs, by any chance?

*To answer your question about a Console.ReadKey-like method
1
2
3
4
5
char ReadKey(void)
{
    char c = std::getchar();
    return c;
}
Last edited on
If you mean program as my project, then it is not i think, it is not because I have not created any one of them. (I dont know what happens at background)
closed account (3hM2Nwbp)
I may be mistaken about the previous postings.

Try referring to this site in order to resolve your issue. The best way that seems to fit your requirements would be statically linking in the DLL.

http://www.rhyous.com/2010/09/16/avoiding-the-msvcr100-dll-or-msvcr100d-dll/
Thanks for your help.

Actually, One of the reasons that why I have started learning C++ is because it seems more uncommitted language under the MS's OS. (It maybe wrong I dont know much about it) What I mean with that is for example C#.NET and VB.NET uses .NET framework library and applications at least slow. I want to dominate the whole application. In addition I wanted to learn Assembly language for that reasons but I discarded start to learning because it is both low level and hard to learn. I am really confused.
Last edited on
Topic archived. No new replies allowed.