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
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...
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
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
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
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
> 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.
> 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.
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
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.
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.
>> 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.
You have wonderful specialised tools like VTune that MSVC6 profiler
couldn't compare to, so it is understandable for MS to have it removed.
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
"Phil Frisbie, Jr." <ph...@hawksoft.com> wrote in message
news:e8dQ2nL...@TK2MSFTNGP05.phx.gbl...
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
>* 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)
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