Of course, you can screw this up royally by having one of those ghastly
#include "everything.h"
"umbrella" files that includes everything you might ever need in any compilation unit.
This is and always has been a lousy way to construct systems. Therefore, if you have done
it, you must change it or live with the consequences. To me, it has always been the
height of laziness of programmers to do this, and I consider it among Worst Practice
behavior. One of my students, many years ago, wrote a PhD disstertation proving beyond
any question that this is Worst Practice. She had the numbers to prove it.
So there is no reason to consider supporting what you are asking for. Either a file needs
to be recompiled, or it doesn't. If it doesn't, it won't get recompiled, and you don't
need to worry about it. If a dependency has changed, it MUST be recompiled, so you don't
want to NOT recompile it! So again, there's nothing to worry about. VS always does the
right thing (except if you hand-edit resource.h, which explicitly says to not consider it
a dependency file! Then you MUST do a "Rebuild All").
Please explain why you would ever need the capability you are asking for.
joe
Joseph M. Newcomer [MVP]
email: newc...@flounder.com
Web: http://www.flounder.com
MVP Tips: http://www.flounder.com/mvp_tips.htm
On Mon, 21 Dec 2009 21:31:03 -0800 (PST), Zidan <zida...@gmail.com> wrote:
Thanks for your reply, I cannot split again into dll(in fact group
are not model,view,controller simply I said one example) , as I
already split 10-20 separate dlls and linking it, I will try to do
first way..
thanks..
Tom
"Zidan" <zida...@gmail.com> wrote in message
news:e8dc3410-e837-4be9...@u36g2000prn.googlegroups.com...
Steve
There isn't any way to skip files that need to be rebuilt in order to be
current. Using a precompiled header containing stable (unchanging) header
files drastically speeds compilation time; in a typical program, the files
names of the .cpp files being compiled scroll rapidly in the output window
as they are being compiled. It literally takes less than a second each to
compile.
If you are saying that some of these files do not need to be linked into the
final .exe or .dll, you can create a new project configuration and exclude
the unneeded files in that configuration. This is done using the Project
Properties | Configuration Properties | General | Excluded From Build of the
C++ files you want to exclude.
-- David
Tom
"Stephen Myers" <""StephenMyers\"@discu...@microsoft.com"> wrote in
message news:OLiogexg...@TK2MSFTNGP02.phx.gbl...
The most common cause of this need is poor modularization, where every file includes every
header file (usually by the
#include "everything.h"
technique) so anyone who does this deserves what happens to them.
joe
Joseph M. Newcomer [MVP]
email: newc...@flounder.com
Tom
"Joseph M. Newcomer" <newc...@flounder.com> wrote in message
news:ll13j5116baca44c0...@4ax.com...
This is without a doubt a serious design flaw of MFC, but fortunately, it is easy to fix.
joe