Change the compiler of c++ 11
#2 Members - Reputation: 2047
Posted 23 November 2012 - 05:18 AM
If you are still taking your first steps in C++ any modern compiler will do, if you're facing any problems they're most likely due to your own setup, not because of compiler issues.
Learning C++ can be a huge mindf*ck in itself, don't make things even worse for yourself by trying to mess with custom build settings.
#3 Crossbones+ - Reputation: 3558
Posted 23 November 2012 - 05:21 AM
Edited by Bacterius, 23 November 2012 - 05:22 AM.
#4 Members - Reputation: 150
Posted 23 November 2012 - 06:03 AM
I am 14 and made 1 year in game developing..xD
Currently learning c++ to make games with OpenGL and also rigging. :-]
#6 Members - Reputation: 150
Posted 23 November 2012 - 06:27 AM
#include <iostream>
using namespace std;
int main()
{
//Chapter 2 : Additon code
//Chapter 2 : Divisional code
int first, second;
cout << "Dividing 28 by 14." << endl;
first = 28;
second = 14;
cout << "Quotient " << first / second << endl;
cout << "Remainder " << first % second << endl;
cout << "Dividing 32 by 6." << endl;
first = 32;
second = 6;
cout << "Quotient " << first / second << endl;
cout << "Remainder " << first % second << endl;
//chapter 2 : char
cout << "Char " << first / second << endl;
char ch;
ch = 'a';
cout << ch << endl;
char c;
c = '\0';
cout << c << endl;
cout << "hif" << endl;
return 0;
}
I am 14 and made 1 year in game developing..xD
Currently learning c++ to make games with OpenGL and also rigging. :-]
#7 Crossbones+ - Reputation: 1145
Posted 23 November 2012 - 06:36 AM
edit: You also need to do the following steps (copied from a Stack Overflow answer):
Note that this requires the Console (/SUBSYSTEM:CONSOLE) linker option, which you can enable as follows:
1 Open up your project, and go to the Solution Explorer. If you're following along with me in K&R, your "Solution" will be 'hello' with 1 project under it, also 'hello' in bold.
2 Right click on the 'hello" (or whatever your project name is.)
3 Choose "Properties" from the context menu.
4 Choose Configuration Properties>Linker>System.
5 For the "Subsystem" property in the right-hand pane, click the drop-down box in the right hand column.
6 Choose "Console (/SUBSYSTEM:CONSOLE)"
7 Click Apply, wait for it to finish doing whatever it does, then click OK. (If "Apply" is grayed out, choose some other subsystem option, click Apply, then go back and apply the console option. My experience is that OK by itself won't work.)
Edited by LennyLen, 23 November 2012 - 06:38 AM.
#9 Moderators - Reputation: 4654
Posted 23 November 2012 - 06:43 AM
For example, in VS you can run the application with (F5) or without (CTRL-F5) the debugger. If you run the application with the debugger, the IDE will close the console immediately, and if you run it without the debugger, it will keep the console open after it exits.
#13 Crossbones+ - Reputation: 1177
Posted 23 November 2012 - 10:15 AM
stytem( "pause" );
Otherwise should work on any system
std::cout << "press the enter key to continue" << std::endl; char c; std::cin >> c;
#14 Members - Reputation: 131
Posted 25 November 2012 - 01:15 PM
system("pause");
enough. Especially when you can have highly portable functions available to you in the standard library.I prefer to use something like:
void pause_console(char const* message)
{
std::cout << message << std::flush;
std::cin.ignore(std::numeric_limits< std::streamsize >::max(), '\n');
}
Benefits? Independent of IDE in use and is platform independent.
Incidentally, the MSVC compiler in VS2012 is perfectly fine. I would recommend sticking with it on the Windows platform. In fact, the only reason I use g++ on Windows is to experiment with variadic templates among other things that VS doesn't yet support. For the simple stuff, though, don't sweat over compiler differences too much. Your results should be the same regardless.
Check out my site: bigdavedev.com
#15 Members - Reputation: 571
Posted 27 November 2012 - 12:46 PM
I really can't recommend against
system("pause");enough. Especially when you can have highly portable functions available to you in the standard library.
I prefer to use something like:void pause_console(char const* message) { std::cout << message << std::flush; std::cin.ignore(std::numeric_limits< std::streamsize >::max(), '\n'); }
Benefits? Independent of IDE in use and is platform independent.
Incidentally, the MSVC compiler in VS2012 is perfectly fine. I would recommend sticking with it on the Windows platform. In fact, the only reason I use g++ on Windows is to experiment with variadic templates among other things that VS doesn't yet support. For the simple stuff, though, don't sweat over compiler differences too much. Your results should be the same regardless.
FYI, Microsoft released CTP about a month ago (http://blogs.msdn.com/b/vcblog/archive/2012/11/02/visual-c-c-11-and-the-future-of-c.aspx) that supports variadic templates and few more nice features of C++11. They haven't yet updated Intellisense so its a bit weird because you will get syntax error in some places but it will compile. I used it in my main project for a while and didn't encounter any errors.
It can be downloaded from here: http://www.microsoft.com/en-us/download/details.aspx?id=35515
I'm not sure when these changes will be incorporated into main version but lets hope it will be soon
#16 Members - Reputation: 444
Posted 27 November 2012 - 03:18 PM
that supports variadic templates and few more nice features of C++11.
Wow, thanks for that info! I just installed the first service pack for VS2012, but I didn't see anything about variadic templates in the description - but then again, that was probably because I stopped reading after "enable C++ applications to target Windows XP from Visual Studio 2012". I was so waiting for this. Now I can finally say that there is no reason left to finally ditch the very outdated VS2008 and move to VS2012.
I just went back and read through the MSDN blocks, but none of them said anything about upgrades to the compiler... So I guess I just have to try it ;) Thanks again for the info
#17 Members - Reputation: 571
Posted 27 November 2012 - 05:15 PM
that supports variadic templates and few more nice features of C++11.
Wow, thanks for that info! I just installed the first service pack for VS2012, but I didn't see anything about variadic templates in the description - but then again, that was probably because I stopped reading after "enable C++ applications to target Windows XP from Visual Studio 2012". I was so waiting for this. Now I can finally say that there is no reason left to finally ditch the very outdated VS2008 and move to VS2012.
I just went back and read through the MSDN blocks, but none of them said anything about upgrades to the compiler... So I guess I just have to try it ;) Thanks again for the info
Its CTP so its a preview of new features that haven't yet been incorporated into main MSVC compiler. You will have to switch compiler in project options to use it. Its supposed to not be used for real purposes until they release the real version, but I used it in my project without problems, as I mentioned already.
#18 Moderators - Reputation: 6667
Posted 27 November 2012 - 05:25 PM
#19 Members - Reputation: 2047
Posted 27 November 2012 - 06:15 PM
The official Update 1 was just released yesterday. It's not a preview anymore.
This update does not contain the features from the november CTP though
#20 Members - Reputation: 131
Posted 28 November 2012 - 04:01 AM
-snip -
FYI, Microsoft released CTP about a month ago (http://blogs.msdn.co...uture-of-c.aspx) that supports variadic templates and few more nice features of C++11. They haven't yet updated Intellisense so its a bit weird because you will get syntax error in some places but it will compile. I used it in my main project for a while and didn't encounter any errors.
It can be downloaded from here: http://www.microsoft...s.aspx?id=35515
I'm not sure when these changes will be incorporated into main version but lets hope it will be soon
Thanks! =D
Worth noting, though, that the standard library is NOT updated with this CTP. This means that the following won't work:
std::vector< int > my_ints = {1, 2, 3, 4, 5}; // won't compile
// Neither will this...
for(auto i: {1, 2, 3, 4, 5})
{
std::cout << i << ' ';
}
since that relies on library features... Still, getting closer!! At least now I can begin prep-ing my g++4.7 projects for MSVC a little at a time
Check out my site: bigdavedev.com







