|
From: Per W. <pw...@ia...> - 2004-09-01 20:50:11
|
About playing a bit with project settings etc. Am I the only one who use
to add extra rules to the Makefiles?
I always add 'include pwm.mak' to the Makefile.win, where this file
contains (among other things):
depend:
$(CPP) -M $(CXXFLAGS) $(OBJ)
include .depend
This allows me to use Makefile.win externally or with "fast but imperfekt
dependancies" in Dev-C++ and just manually run 'make depend' when I know
that I have added more #includes to some source file. It also makes sure
that changes to system include files (<>) results in recompilation.
When running with large projects, running without "fast but imperfect
dependency generation" takes very long time while the files are scanned
before compilation, and having it checked regularly produces strage errors
when too few source files have been recompiled.
/Per W
On Wed, 1 Sep 2004, Hielke wrote:
> AFAIK there is no way you could safely use usingstatements in your
> header files. So AVOID it (As you did mention by yourself it is not very
> kind to force users of your code to use namespaces they did not declare
> themselves)! Just try to be a somewhat less lazier :o).
> However there are neat ways using those in your member implementations.
> Personally I'd like to use internal header files for that purpose.
> Including an 'in-between-headerfile' from your source code which
> includes the actual classdefinition headerfile. My code organization
> then looks as follows:
>
> // member1.cc
> #include "classa.ih" // include internal header, note the "i"
>
> void Member1()
> {
> }
>
> // classa.ih
> #include "classa.h" // include actual definition header
>
> /* Includes, namespacedeclarations, etc. for your sourcefiles here*/
> using namespace blabla;
>
> // classa.h
> #ifndef _CLASSA_H_
> #define _CLASSA_H_
>
> class A
> {
> ...
> void Member1();
> };
>
> #endif
>
> This approach however has one big disadvantage. In IDE's such as Dev-CPP
> you have to include those files in the linking process manually since
> Dev-CPP doesn't recognize the ".ih" (or whatever you'd like to use for
> internal headers) extension.
>
> Regards,
> Hielke
>
>
> Siva Chandra wrote:
>
> >hello all,
> >
> >I have a question on using namespaces. Say I want to
> >build a class ClassA and put it in a namespace abc.
> >Then I would declare the class in a header file,
> >header1.h, like:
> >
> >#ifndef __HEADER1_H__
> >#define __HEADER1_H__
> >
> >namespace abc
> >{ // Start of namespace brace.
> >
> >class ClassA
> >{
> >...
> >};
> >
> >} // End of namespace brace.
> >
> >#endif // __HEADER1_H__
> >
> >Now I would like to include this header file in
> >another header file, header2.h. Here again I want to
> >declare a class ClassB under the same namespace abc.
> >This ClassB is inherited from ClassA. So to avoid
> >writing abc::ClassA everywhere I just say:
> >
> >using namespace abc;
> >
> >at the begining of the file. My file would be like:
> >
> >#ifndef __HEADER2_H__
> >#define __HEADER2_H__
> >
> >#include "header1.h"
> >
> >using namespace abc;
> >
> >namespace abc
> >{ // Start of namespace brace.
> >
> >class ClassB : public ClassA
> >{
> >...
> >};
> >
> >} // End of namespace brace.
> >
> >#endif // __HEADER2_H__
> >
> >My question is here: By explicitly putting a statement
> >like
> >
> >using namespace abc;
> >
> >I am including such a statement in all my code which
> >use this header file header2.h. Is there a way to
> >avoid such a thing from happening without losing the
> >functionality I want it to be there for? Or is it that
> >I am not using it in the right manner?
> >
> >Thanks a lot for having enough patience to read this
> >long,
> >
> >Siva Chandra.
> >
> >
> >
> >
> >_______________________________
> >Do you Yahoo!?
> >Win 1 of 4,000 free domain names from Yahoo! Enter now.
> >http://promotions.yahoo.com/goldrush
> >
> >
> >-------------------------------------------------------
> >This SF.Net email is sponsored by BEA Weblogic Workshop
> >FREE Java Enterprise J2EE developer tools!
> >Get your free copy of BEA WebLogic Workshop 8.1 today.
> >http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
> >_______________________________________________
> >Dev-cpp-users mailing list
> >Dev...@li...
> >TO UNSUBSCRIBE: http://www23.brinkster.com/noicys/devcpp/ub.htm
> >https://lists.sourceforge.net/lists/listinfo/dev-cpp-users
> >
> >
> >
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by BEA Weblogic Workshop
> FREE Java Enterprise J2EE developer tools!
> Get your free copy of BEA WebLogic Workshop 8.1 today.
> http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
> _______________________________________________
> Dev-cpp-users mailing list
> Dev...@li...
> TO UNSUBSCRIBE: http://www23.brinkster.com/noicys/devcpp/ub.htm
> https://lists.sourceforge.net/lists/listinfo/dev-cpp-users
>
|