compiling iso c++ code in Visual Studio environment

R

RS

Hi all,

My code compiles well with gcc on linux and OS X, but now I have to run
it at work, and my only choice is Visual Studio .Net 2003 environment on
windows, which I had never used before. I've noticed several obstacles
with the compilation. For example this environment insists that we put
all headers under a stdafx header, which I managed to find a way to get
around. But there are other issues. For example, Visual Studio claims
that there is no such thing as std::numeric_limits. Also, it gives a
bizarre error that there is something wrong with the stdio headers in my
files-- except that I don't use stdio, I use iostream.

I don't need all the fancy windows-specific C++ routines, but I need to
use Visual Studio as a compiler. I was wondering if anyone experienced
with it can give me a hint or two about compiling portable code with it
with minimum overhead. For example, is there an option to check to let
it know we are compiling iso code? Also, are there any online tutorials
or guides for people who need to migrate from gcc to visual Studio 2003?
If not, any good books that don't dwell on C++, but just teaches the
..Net 2003 environment?

Thanks,
RS
 
I

Ian Collins

RS said:
Hi all,

My code compiles well with gcc on linux and OS X, but now I have to run
it at work, and my only choice is Visual Studio .Net 2003 environment on
windows, which I had never used before. I've noticed several obstacles
with the compilation. For example this environment insists that we put
all headers under a stdafx header, which I managed to find a way to get
around. But there are other issues. For example, Visual Studio claims
that there is no such thing as std::numeric_limits. Also, it gives a
bizarre error that there is something wrong with the stdio headers in my
files-- except that I don't use stdio, I use iostream.
You'd do better by posting to a VS group, this one is for the C++
language, not specific tools.
 
J

Jim Langston

RS said:
Hi all,

My code compiles well with gcc on linux and OS X, but now I have to run it
at work, and my only choice is Visual Studio .Net 2003 environment on
windows, which I had never used before. I've noticed several obstacles
with the compilation. For example this environment insists that we put all
headers under a stdafx header, which I managed to find a way to get
around. But there are other issues. For example, Visual Studio claims that
there is no such thing as std::numeric_limits. Also, it gives a bizarre
error that there is something wrong with the stdio headers in my files--
except that I don't use stdio, I use iostream.

I don't need all the fancy windows-specific C++ routines, but I need to
use Visual Studio as a compiler. I was wondering if anyone experienced
with it can give me a hint or two about compiling portable code with it
with minimum overhead. For example, is there an option to check to let it
know we are compiling iso code? Also, are there any online tutorials or
guides for people who need to migrate from gcc to visual Studio 2003? If
not, any good books that don't dwell on C++, but just teaches the .Net
2003 environment?

Thanks,
RS

Best asked in microsoft.public.vc.language or such, but...
Project -> xxx Properties -> Configuration Properties -> C/C++ ->
Precompiled Headers -> Not Using Precompiled Headers
Project -> xxx Properties -> Configuratino Properties -> C/C++ ->
Language -> Disable Language Extentions -> yes
 
P

P.J. Plauger

My code compiles well with gcc on linux and OS X, but now I have to run it
at work, and my only choice is Visual Studio .Net 2003 environment on
windows, which I had never used before. I've noticed several obstacles
with the compilation. For example this environment insists that we put all
headers under a stdafx header,

No it doesn't. It just makes it too easy for beginners to make
that choice.
which I managed to find a way to get
around.

Quod erat demonstrandum.
But there are other issues. For example, Visual Studio claims that
there is no such thing as std::numeric_limits.

Also, it gives a
bizarre error that there is something wrong with the stdio headers in my
files-- except that I don't use stdio, I use iostream.

Then you should provide a small test program that replicates the
behavior.
I don't need all the fancy windows-specific C++ routines, but I need to
use Visual Studio as a compiler. I was wondering if anyone experienced
with it can give me a hint or two about compiling portable code with it
with minimum overhead. For example, is there an option to check to let it
know we are compiling iso code? Also, are there any online tutorials or
guides for people who need to migrate from gcc to visual Studio 2003? If
not, any good books that don't dwell on C++, but just teaches the .Net
2003 environment?

You're facing the usual problems when moving from one development
environment to another. The lapses tolerated by your previous
compiler now appear as mysterious failures. The usual beginner's
reaction is to blame the new environment for not "conforming".
But I assure you that the Microsoft environment is *at least* as
conforming as the ones you've been using. You just have to launder
your code a bit to bring it to a higher level of portability.

P.J. Plauger
Dinkumware, Ltd.
http://www.dinkumware.com
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top