Solved

VC++ 6 vs.C++.NET

Posted on 2003-12-02
6
6,370 Views
Last Modified: 2008-02-01
Hi experts

can someone tell me or give me a link what are  diffrences between C++ 6 and C++.Net? i am not intersting in complicated diffrences, but rather general  and simple, kind of for beggining and intermideate levels....so I can explaint it to high School kids....

Thank you
0
Comment
Question by:denilia
6 Comments
 
LVL 12

Expert Comment

by:vascov
ID: 9862185
Visual C++ .NET is more ISO compliant (as much as 98% in the latest)
Visual C++ .NET can generate Managed Code (via /clr)
Visual C++ .NET can very easily integrate managed code with native code via a very kool technology, IJW (It Just Works :))
Visual C++ .NET is much more performant in terms of generated code (and has global optimizations)
Visual C++ .NET integrates MFC and ATL much better
Visual C++ .NET supports Web apps via ATL Server (very, very fast...)
Visual C++ .NET has more security features (/GS)
Visual C++ .NET has a full blown Windows Forms designer
Visual C++ .NET benefits from the Integrated Development Environment

Also, have a look at this page (http://msdn.microsoft.com/visualc/productinfo/topten/upgrade60.aspx)

HTH
0
 
LVL 16

Expert Comment

by:JohnBPrice
ID: 9866424
On the con side, C++.Net requires the .Net framework for even trivial apps, whereas with VC++ 6 you could create simple apps that don't require MFC, ATL & other large libraries.

Most older systems (Win2K and before) will not already have the .Net framework, and it makes for a big download if you don't supply it on CD.
0
 
LVL 16

Accepted Solution

by:
JohnBPrice earned 50 total points
ID: 9866476
Ah, see, we listed the technical decision points as to which to choose.  If you are REALLY explaining it to High School kids, then I think the essential difference is:

VC++ 6 used standard & Microsoft specific C++ libraries.  For the most part, these libraries could only be used from C++.  Unless you take special precautions, the applications you build in C++ 6 can only be accessed from other C++ applications, e.g. you can't use C++ classes from VB unless you create them as COM compatible objects.

VC++.Net uses Microsoft's Common Language Runtime, CLR, which is basically the .Net framework.  The CLR is language independent, e.g. C#, C++, VB, whatever all use the same runtime libraries.  In the future (when the .Net framework is ubiquitous), this will mean smaller downloads and fewer compatibility problems.  Furthermore the .Net products genereate language independent code by default, meaning you can easily mix C#, C++, VB, whatever components in your project without the hassle inherit in the v. 6 products.
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 12

Expert Comment

by:vascov
ID: 9866872
Just want to make sure that the .CLR story around VC++ is clear:

VC++.NET CAN use .NET, but it's not the only thing it generates. (It only generates Managed code if you specify /clr, otherwise it generates the usual native code)

.NET Framework IS NOT a requirement for you VC++ apps. You only need .NET Framework if you target .NET using the /clr
You can still develop ALL the same types of projects you did in previous versions plus a bunch more introduced in VC++.NET which do not require .NET.

I do agree with JohnBPrice.
But since the question relates specifically to VC++6 vs VC++7, reading your previous message (in my mind, at least :)) leaves the message that VC++ 7 targets only .NET, when that's not the case and there are significant improvements for C++ users (ISO compliance = more portability, attributed programming, performance, security, debuggability, lib enhancements, ide, ...)
0
 

Expert Comment

by:MAYURNATH
ID: 9920286

VC.Net is CLR + VC 7.0

VC.Net if u remove CLR it is just VC 7.0 an enhanced version support of VC 6.0 ex . gdiplus.dll etc.

.Net architecture lies in CLR for inter language , internet support.
VC 6.0 will be upto the compiler and linker- generating a executable module.

.Net architecture framework internally wraps everything (all supportables ) - like MFC wraps SDK.

I suppose this explains in simple.
0
 

Expert Comment

by:skpanda1
ID: 9927148
hi,
        i m writing a code to enumerate network & local printer in win98 client m/c, the printer driver is installed in my own win 98 client m/c. the same driver is installed in server where the printer is connected.i want to get the printer from the server(network printer or remote printer)....
 here is some bit of code to enumerate...

 the network printer attribute should be 16 but i m getting 84 value ... WHY ???. sometime i m getting 1108 value for the same network printer....??

code ....---->>

    void PrinterRpt9x()
{
    BOOL ret1;
    printersetting=true;
    DWORD i;
    PRINTER_INFO_5* pPrint=NULL;
    DWORD pcbNeeded=0,pcReturned=0;

    HPRINTMUTEX= CreateMutex(NULL,FALSE,NULL);
    ret1=EnumPrinters(PRINTER_ENUM_LOCAL,NULL,5,NULL,pcbNeeded,&pcbNeeded,&pcReturned);
                                                                                           //Windows 95: Also enumerates network printers
                                                                                        //    because they are installed locally.

pPrint=(PRINTER_INFO_5 *)GlobalAlloc(GPTR,pcbNeeded);
    ret1=EnumPrinters(PRINTER_ENUM_LOCAL,NULL,5,(LPBYTE)pPrint,pcbNeeded,&pcbNeeded,&pcReturned);
   

    for(i=1;i<=pcReturned;i++)
    {
               
   
        if(pPrint->Attributes == PRINTER_ATTRIBUTE_NETWORK)

        {
       
            _beginthread(printdata9x,0,pPrint->pPrinterName);
           
        }

        if(pPrint->Attributes == PRINTER_ATTRIBUTE_LOCAL)
        {
       
            _beginthread(printdata9x,0,pPrint->pPrinterName);
                    pPrint++;

        if(pPrint)
            GlobalFree(pPrint);
    }

    }


then i m enumerating the jobs in queue in a thread and creating log file for each print command...


please help in this regard

guide me how to avoid this error ???
in win32 api..

regards
skpanda
 



 
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
How can i know where the problem lies with this shell script? 5 105
sum13 challenge 24 77
zeroFront challenge 7 71
scoreUp challenge 14 48
Navigation is an important part of web design from a usability perspective. But it is often a pain when it comes to a developer’s perspective. By navigation, it often means menuing. This is less theory and more practical of how to get a specific gro…
If you haven’t already, I encourage you to read the first article (http://www.experts-exchange.com/articles/18680/An-Introduction-to-R-Programming-and-R-Studio.html) in my series to gain a basic foundation of R and R Studio.  You will also find the …
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

706 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now