Solved

VC++ 6 vs.C++.NET

Posted on 2003-12-02
6
6,373 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
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
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

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
fizzArray  challenge 1 93
mapBully challenge 6 150
recursion example 16 139
Problem to Alipay 10 40
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…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.
The viewer will be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.

765 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