Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

MS dumbing down VC 2005?

0 views
Skip to first unread message

Phil Frisbie, Jr.

unread,
May 30, 2006, 5:40:45 PM5/30/06
to
First, let me say that I have been using Microsoft Visual C++ since version 3.x,
and the last version I purchased was 6.0. It still works fine for me, and I like
the interface, but I decided to migrate to Visual C++ 2005 Express Edition. The
price was right, and it seemed to fulfill all my needs after I downloaded the
latest SDK, but in actual use problems started to appear.

First, my projects that were converted from 6.0 all seem to work fine, but when
I went to create a new project the choices were very limited. No DLL project? No
static library project? I do not remember reading about these limitations.

Then I went to profile a small project. Sure, I had read that the Express
Edition did not include the new Profile Guided Optimizations, but I did not care
about that anyway. All I wanted was the old command line profiler that would
show me the 'hot spots' so I could determine what was needed. Did I need a
better algorithm? Did I need to reorganize code? Did I simply screw up a
function? Profiling is such a BASIC tool I cannot begin to understand the reason
Microsoft does not include it. The Express Edition comes with the optimizing
compiler, so why would they not include a simple profiler?

But after searching, I cannot confirm if the command line profiler is even
included in 2005 Professional! There is no mention of it at all, and the
/profile command line switch has been dropped.

So, unless I find out otherwise, I guess I will need to keep two sets of
projects files: my old VC 6.0 files and the new 2005 fiels. I will need to use
VC 6.0 to profile and optimized, and 2005 to test for the latest C++ compliance.

So much for progress....

--
Phil Frisbie, Jr.
Hawk Software
http://www.hawksoft.com

Tom Serface

unread,
May 30, 2006, 5:52:02 PM5/30/06
to
So far as I know the command line profiler hasn't been in since the first
release of VS.NET. You can use this one for free for single developer:

http://www.compuware.com/products/devpartner/default.htm

I believe there is also more profiling capability in Team System, but I
haven't used that one yet so ...

Tom

"Phil Frisbie, Jr." <ph...@hawksoft.com> wrote in message
news:eyWI5GDh...@TK2MSFTNGP04.phx.gbl...

William DePalo [MVP VC++]

unread,
May 30, 2006, 5:58:54 PM5/30/06
to
"Phil Frisbie, Jr." <ph...@hawksoft.com> wrote in message
news:eyWI5GDh...@TK2MSFTNGP04.phx.gbl...
> First, let me say that I have been using Microsoft Visual C++ since
> version 3.x, and the last version I purchased was 6.0. It still works fine
> for me, and I like the interface,

That's right. If you can live without support, and if you don't need
standards compliance (or something approximating it) it will do.

> First, my projects that were converted from 6.0 all seem to work fine, but
> when I went to create a new project the choices were very limited. No DLL
> project?

I don't have the express edition, but VS2005 definitely includes a DLL
option. It's well hidden (as it is in 2003). You choose Win32 project and
click the "Application Settings" hyperlink.

> No static library project? I do not remember reading about these
> limitations.

That option is hidden in the same place as the DLL option.

> The Express Edition comes with the optimizing compiler, so why would they
> not include a simple profiler?

The profiler has been gone for a while now.

Regards,
Will


Carl Daniel [VC++ MVP]

unread,
May 30, 2006, 6:00:10 PM5/30/06
to
"Tom Serface" <tser...@msn.com> wrote in message
news:e7OMKNDh...@TK2MSFTNGP05.phx.gbl...

> So far as I know the command line profiler hasn't been in since the first
> release of VS.NET.

Right.

> You can use this one for free for single developer:
>
> http://www.compuware.com/products/devpartner/default.htm

Yep.

>
> I believe there is also more profiling capability in Team System, but I
> haven't used that one yet so ...

Indeed there is. Using it for native C++ is a bit rough (no IDE support),
but under the covers it does an adequate job.

-cd


Carl Daniel [VC++ MVP]

unread,
May 30, 2006, 6:02:43 PM5/30/06
to

"Phil Frisbie, Jr." <ph...@hawksoft.com> wrote in message
news:eyWI5GDh...@TK2MSFTNGP04.phx.gbl...
> First, let me say that I have been using Microsoft Visual C++ since
> version 3.x, and the last version I purchased was 6.0. It still works fine
> for me, and I like the interface, but I decided to migrate to Visual C++
> 2005 Express Edition. The price was right, and it seemed to fulfill all my
> needs after I downloaded the latest SDK, but in actual use problems
> started to appear.
>
> First, my projects that were converted from 6.0 all seem to work fine, but
> when I went to create a new project the choices were very limited. No DLL
> project? No static library project? I do not remember reading about these
> limitations.

Remember that the Express editions are really geared towards developing .NET
programs. You can still do native development with VC++ Express, but it's
not really the target market for that edition. Standard Edition and above
have all the project types you're used to from VC6.

>
> Then I went to profile a small project. Sure, I had read that the Express
> Edition did not include the new Profile Guided Optimizations, but I did
> not care about that anyway. All I wanted was the old command line profiler
> that would show me the 'hot spots' so I could determine what was needed.
> Did I need a better algorithm? Did I need to reorganize code? Did I simply
> screw up a function? Profiling is such a BASIC tool I cannot begin to
> understand the reason Microsoft does not include it. The Express Edition
> comes with the optimizing compiler, so why would they not include a simple
> profiler?
>
> But after searching, I cannot confirm if the command line profiler is even
> included in 2005 Professional! There is no mention of it at all, and the
> /profile command line switch has been dropped.

As Tom mentioned, the profiler was dropped in VC7. There's a new profiler
in Team System, but for the other editions, you'll have to use a 3rd party
profiler.

>
> So, unless I find out otherwise, I guess I will need to keep two sets of
> projects files: my old VC 6.0 files and the new 2005 fiels. I will need to
> use VC 6.0 to profile and optimized, and 2005 to test for the latest C++
> compliance.

Get the compuware dev partner profiler - that should work with VC2005
Express Edition just fine (I hope! I haven't actually tried it).

-cd


John Carson

unread,
May 30, 2006, 10:14:03 PM5/30/06
to
"Phil Frisbie, Jr." <ph...@hawksoft.com> wrote in message
news:eyWI5GDh...@TK2MSFTNGP04.phx.gbl
> First, let me say that I have been using Microsoft Visual C++ since
> version 3.x, and the last version I purchased was 6.0. It still works
> fine for me, and I like the interface, but I decided to migrate to
> Visual C++ 2005 Express Edition. The price was right, and it seemed
> to fulfill all my needs after I downloaded the latest SDK, but in
> actual use problems started to appear.
> First, my projects that were converted from 6.0 all seem to work
> fine, but when I went to create a new project the choices were very
> limited. No DLL project? No static library project? I do not remember
> reading about these limitations.

Some options are not enabled by default in the IDE. Below
are some instructions for setting up VC++ Express which I have posted
earlier. They are basically copied from the help docs that ship with VC++
Express.


////////////////////////////////////////////////////////////////////////////
///////// Start Instructions ///////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////

Step 1: Install Visual C++ Express.

If you haven't done so already, install Visual C++ Express.


Step 2: Install the Microsoft Platform SDK.

Install the Platform SDK over the Web from the Download Center. Follow the
instructions and install the SDK for the x86 platform.


Step 3: Update the Visual C++ directories in the Projects and Solutions
section in the Options dialog box.

Add the paths to the appropriate subsection:

Executable files: C:\Program Files\Microsoft Platform SDK\Bin

Include files: C:\Program Files\Microsoft Platform SDK\include

Library files: C:\Program Files\Microsoft Platform SDK\lib


Step 4: Update the corewin_express.vsprops file.

One more step is needed to make the Win32 template work in Visual C++
Express. You need to edit the corewin_express.vsprops file (found in
C:\Program Files\Microsoft Visual Studio 8\VC\VCProjectDefaults) and

Change the string that reads:

AdditionalDependencies="kernel32.lib" to

AdditionalDependencies="kernel32.lib user32.lib gdi32.lib winspool.lib
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib"


Step 5: Generate and build a Win32 application to test your paths.

In Visual C++ Express, the Win32 Windows Application type is disabled in the
Win32 Application Wizard. To enable that type, you need to edit the file
AppSettings.htm file located in the folder "%ProgramFiles%\Microsoft Visual
Studio 8\VC\VCWizards\AppWiz\Generic\Application\html\1033\".

In a text editor comment out lines 441 - 444 by putting a // in front of
them as shown here:

// WIN_APP.disabled = true;
// WIN_APP_LABEL.disabled = true;
// DLL_APP.disabled = true;
// DLL_APP_LABEL.disabled = true;

Save and close the file and open Visual C++ Express.

From the File menu, click New Project. In the New Project dialog box, expand
the Visual C++ node in the Product Types tree and then click Win32. Click on
the Win32 Console Application template (regardless of the type of
application you want) and then give your project a name and click OK. In the
next page of the wizard, under Application Settings, you can select

Windows application, or
Console application, or
DLL, or
Static library

Click the Finish button to generate the project.

////////////////////////////////////////////////////////////////////////////
///////// End Instructions ///////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////

--
John Carson


Phil Frisbie, Jr.

unread,
May 31, 2006, 3:24:33 PM5/31/06
to
Tom Serface wrote:

> So far as I know the command line profiler hasn't been in since the first
> release of VS.NET. You can use this one for free for single developer:
>
> http://www.compuware.com/products/devpartner/default.htm

That looks good, but it will not install on VS 2005.

Phil Frisbie, Jr.

unread,
May 31, 2006, 3:36:07 PM5/31/06
to
John Carson wrote:

> Some options are not enabled by default in the IDE. Below
> are some instructions for setting up VC++ Express which I have posted
> earlier. They are basically copied from the help docs that ship with VC++
> Express.
>
>
> ////////////////////////////////////////////////////////////////////////////
> ///////// Start Instructions ///////////////////////////////////////////
> ////////////////////////////////////////////////////////////////////////////
>
> Step 1: Install Visual C++ Express.

Did that already.

> Step 2: Install the Microsoft Platform SDK.

Did that already.

> Step 3: Update the Visual C++ directories in the Projects and Solutions
> section in the Options dialog box.

Did that already.

> Step 4: Update the corewin_express.vsprops file.

Did that already.

> Step 5: Generate and build a Win32 application to test your paths.
>
> In Visual C++ Express, the Win32 Windows Application type is disabled in the
> Win32 Application Wizard. To enable that type, you need to edit the file
> AppSettings.htm file located in the folder "%ProgramFiles%\Microsoft Visual
> Studio 8\VC\VCWizards\AppWiz\Generic\Application\html\1033\".
>
> In a text editor comment out lines 441 - 444 by putting a // in front of
> them as shown here:
>
> // WIN_APP.disabled = true;
> // WIN_APP_LABEL.disabled = true;
> // DLL_APP.disabled = true;
> // DLL_APP_LABEL.disabled = true;

This is what I had not done! It still seems silly you cannot choose a DLL or
static library directly, but I can live with it.

Andre Kaufmann

unread,
Jun 1, 2006, 4:17:30 PM6/1/06
to
Phil Frisbie, Jr. wrote:
> First, let me say that I have been using Microsoft Visual C++ since
> version 3.x, and the last version I purchased was 6.0. It still works
> fine for me, and I like the interface, but I decided to migrate to
> Visual C++ 2005 Express Edition. The price was right, and it seemed to
> fulfill all my needs after I downloaded the latest SDK, but in actual
> use problems started to appear.
>

The Express Edition is a somewhat limited version and AFAIK can be
downloaded for free.

I have the professional version, but unfortunately this version hasn't a
profiler too, IIRC only the next higher version (Team System) has a
profiler and other goodies.
From time to time I use the AMD profiler, somewhat restricted, but free
and better than nothing ;-). I got better results with the Compuware
profiler, but it crashed often when I profiled release versions of my
projects.


Andre


Tim Roberts

unread,
Jun 1, 2006, 1:49:01 AM6/1/06
to
"Phil Frisbie, Jr." <ph...@hawksoft.com> wrote:
>
>First, let me say that I have been using Microsoft Visual C++ since version 3.x,

No, I don't think so... Visual C++ bypassed version 3.0. It went straight
from 2.2 to 4.0.

They did that because of confusion about MFC. VC++ 1.0 had MFC 2.0, VC++
2.0 had MFC 3.0, so they lined 'em up in 4.0.
--
- Tim Roberts, ti...@probo.com
Providenza & Boekelheide, Inc.

Phil Frisbie, Jr.

unread,
Jun 1, 2006, 11:46:50 AM6/1/06
to
Tim Roberts wrote:
> "Phil Frisbie, Jr." <ph...@hawksoft.com> wrote:
>
>>First, let me say that I have been using Microsoft Visual C++ since version 3.x,
>
>
> No, I don't think so... Visual C++ bypassed version 3.0. It went straight
> from 2.2 to 4.0.

OK, whichever it is it was a long time ago ;) It was back in 1995 when there was
the big push to get everyone to develop WIN32 apps. The C++ compiler was sold
briefly for $129.00 which was a great deal.

JustBoo

unread,
Jun 5, 2006, 9:28:58 AM6/5/06
to
On Tue, 30 May 2006 15:00:10 -0700, "Carl Daniel [VC++ MVP]"
<cpdaniel_remove...@mvps.org.nospam> wrote:
>"Tom Serface" <tser...@msn.com> wrote in message
>news:e7OMKNDh...@TK2MSFTNGP05.phx.gbl...

>> So far as I know the command line profiler hasn't been in since the first
>> release of VS.NET.
>
>Right.

Pretty much sums up what Microsoft via .NET "thinks" of programmers,
program development and performance.

When are clueless managers going to get a clue... oh that's right,
never.

Bertrand Augereau

unread,
Jun 5, 2006, 9:38:49 AM6/5/06
to
> Pretty much sums up what Microsoft via .NET "thinks" of programmers,
> program development and performance.
>
> When are clueless managers going to get a clue... oh that's right,
> never.


You have wonderful specialised tools like VTune that MSVC6 profiler
couldn't compare to, so it is understandable for MS to have it removed.

Phil Frisbie, Jr.

unread,
Jun 5, 2006, 12:06:03 PM6/5/06
to

No, the MSVC profiler could not compare with VTune, but since when does that
stop Microsoft? They still include a defragmenter with Windows that does not
compare to most commercial products. There are A LOT of stripped down programs
included with other Microsoft products, so this argument does not stand up to
inspection.

No, they must have had some other motive that escapes a casual look...

Tom Serface

unread,
Jun 5, 2006, 2:14:09 PM6/5/06
to
My guess is that the profiler was difficult to get working with .NET or the
new UI post VC++ 6.0 so they decided to leave it out rather than working
through the issues (which must have been numerous) and/or they wanted to put
something into Team that wasn't in there otherwise to encourage people to
upgrade to that tool. There's no real way to know for sure. My guess is
that it was more technical than management driven.

Tom

"Phil Frisbie, Jr." <ph...@hawksoft.com> wrote in message

news:e8dQ2nL...@TK2MSFTNGP05.phx.gbl...

Andre Kaufmann

unread,
Jun 6, 2006, 2:31:06 PM6/6/06
to
Tom Serface wrote:
> My guess is that the profiler was difficult to get working with .NET or the
> [...]

IMHO a .NET profiler is far easier to develop than a native one, since
the .NET framework has some basic profiling support.
By the way

* VS 2005 has a profiler *

You "just" have to buy the enterprise edition, named Visual Studio Team
System.

Andre

JustBoo

unread,
Jun 6, 2006, 3:21:49 PM6/6/06
to
On Tue, 06 Jun 2006 20:31:06 +0200, Andre Kaufmann
<andre.kau...@t-online.de> wrote:

>* VS 2005 has a profiler *
>
>You "just" have to buy the enterprise edition, named Visual Studio Team
>System.

And my original premise still stands.

"Behind every great fortune there is a crime."
- Honore de Balzac (1799-1850)

Andre Kaufmann

unread,
Jun 7, 2006, 12:39:09 AM6/7/06
to
JustBoo wrote:
> On Tue, 06 Jun 2006 20:31:06 +0200, Andre Kaufmann
> <andre.kau...@t-online.de> wrote:
>
>> * VS 2005 has a profiler *
>>
>> You "just" have to buy the enterprise edition, named Visual Studio Team
>> System.
>
> And my original premise still stands.

Are you referring to your following statement ?

>Pretty much sums up what Microsoft via .NET "thinks" of programmers,
>program development and performance

I quite don't understand your statement. This discussion is about VC,
which has evolved a lot for the better regarding performance and
standard compliance. If you are referring to VB.NET, that's another
story, which has been discussed in many (long) threads.

How much a developer had to pay for VC6 with a profiler ? IMHO the
situation has not changed that much.

- You get VC 2005 for free
- With the saved money you can buy an external profiler

And you always have many alternative C++ compilers you may switch to.

> [...]

Andre

0 new messages