.:: Bots United ::.

.:: Bots United ::. (http://forums.bots-united.com/index.php)
-   General Programming (http://forums.bots-united.com/forumdisplay.php?f=25)
-   -   Misc C++ things I have trouble understanding (http://forums.bots-united.com/showthread.php?t=1232)

Pierre-Marie Baty 03-04-2004 03:54

Re: Misc C++ things I have trouble understanding
 
Well there's a checkbox in your project settings...
it's called "disable compiler extensions", I think... :)

sPlOrYgOn 03-04-2004 04:41

Re: Misc C++ things I have trouble understanding
 
i haven't checked out all the options in MSVC6 yet cuz i recently moved to GNU/Linux and I just decided to use gcc on both to make life simpler

koraX 03-04-2004 11:32

Re: Misc C++ things I have trouble understanding
 
Quote:

Originally Posted by botmeister
This is nuts, must be Microsoft's way of locking you in. I recommend you use another compiler unless you don't care.

MSVC can be configured to work correctly (to support and compile ANSI standard code), but defaultly it adds Microsoft's shite (like precompiled headers and all that strange thing that Appwizard adds).
I'm using it, because I'm familiar with editor and it is easy to code in it (for me).

Also MSVC 6.0 added less microsoft's incompactible stuff than .NET

I'm working now on some program that has to run under linux, and using editors other than Visual studio would slow me down. So far, I 'encountered' these problems :
- MSVC adds #pragma once in header files, which is obsolete. G++ compiles without problems, but It is better to use #ifndef ... #define ... #endif
- MSVC uses precompiled header shite, and I had to change #include "StdAfx.h" to #include "stdafx.h" cause of case sensitivity on linux systems
- If you create a new class in Classview, the files MSVC creates are case sensitive so I had to covert them to lovercase. (#include "something" was lowercase ->OK)
- However, MSVC typed #include ".\something.h" so I had to change it to #include "something.h"
- MSVC .NET included <tchar.h> and added lot of shite like _tmain, and _tchar. It is UNICODE support and it is not ANSI standard imo, so I couldn't compile it under g++. I had to change _tmain to main and _TCHAR to char. ALso I had to remove #include <tchar.h> from stdafx.h
- If you change precompiled header (stdafx.h), it is pain to compile program in MSVC, 'cause MSVC forgets to compile it. You have to go to project properties and somewhere there under C++ tab, you must choose compile precompiled headers

after all those changes, code compiles well under linux, and program runs perfectly (I had to create makefile, indeed).

Also to note that if you srand(0) under windows and linux, it gives you another set of random numbers :(

After all these problems, I still use MSVC, cause I often do MFC programs under windows and MSVC .NET has some nice features like outlining and task list


All times are GMT +2. The time now is 18:28.

Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.