Date: Wed, 25 Dec 2002 15:03:06 +0100 (CET) From: Andrew Prewett <andrew@kronos.HomeUnix.com> To: FreeBSD Questions <freebsd-questions@FreeBSD.ORG> Subject: Re: Adding to standard include path (GCC) Message-ID: <20021225141213.R35290@slave.east.ath.cx> In-Reply-To: <200212251952.23932.ihsan_junaidi@yahoo.com.sg> References: <200212251952.23932.ihsan_junaidi@yahoo.com.sg>
next in thread | previous in thread | raw e-mail | index | archive | help
Today Ihsan Junaidi Ibrahim wrote: > Hello all, > > I'm a starter to programming in FreeBSD after a few years in Visual C++ and > would like to delve deeper into it. But I have a few questions which I need > answers. I hope it wouldn't be too much a burden to you. > > I have two gccs installed, 2.95.4 (stock gcc) and 3.1.1. > > 1) How do add to the standard include path to a path that I designated without > using the -I flag or is it fixed only to /usr/local/include and /usr/include. You can edit the `specs' file, but you don't need. gcc31 -v -E -dM - </dev/null is `/usr/local/include' along with `/usr/include' in the output? With the new gcc (3.x) you dont need to specify `-I/usr/local/include', `-I/usr/include', because it's already specified in the standard include path. > > 2) I notice that the gcc31 include files does not contain the standard C > headers ie stdio.h, assert.h etc. Does this mean whenever I want to link to > the header, it is sufficient to use the ones in /usr/include? if you mean include a header, then yes, for C code. Simply use `#include <*.h>' in the C source (both gcc) > 3) I notice too that there are many C++ and STL include files I'm getting > confused on which ones to use. The files are located at /usr/include/g++, this is for use with the system gcc (2.95) > /usr/local/lib/i386-portbld-freebsd4.7/3.1.1/include/g++v3 and this is for the new gcc (3.x) > /usr/local/lib/i386-portbld-freebsd4.7/3.1.1/include/g++v3/backward. this is for (older) C++ souces with `#include <*.h>' (gcc 3.x) > Can someone enlighten me on which one should I use. use the standard include files, ie.: `#include <iostream>', `#include <string>', etc. in C++ source and (normally) the right header is pulled in > I intend on programming purely in C++ with the exception that in > later date, I might be forced to use some of the C include files. simply use `#include <cstdio>, #include <cassert>', etc. in the C++ source -andrew > > Thank you very much in advance. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021225141213.R35290>