【正文】
dio 6 installed if you want to continue to work in this developer environment. Visual C++ .NET Visual C++ 6 already had a large number of Microsoftspecific extensions on Windows. With Visual C++ .NET, extensions have been added to support the .NET Framework. This means that existing C++ source code will continue to pile to native executable code without modification. It also means, however, that it will run independently of the .NET runtime. If you want your C++ code to run within the .NET Framework, then you can simply add the following line to the beginning of your code: using You can also pass the flag /clr to the piler, which then assumes that you want to pile to managed code, and will hence emit IL instead of native machine code. The interesting thing about C++ is that when you pile to managed code, the piler can emit IL that contains an embedded native executable. This means that you can mix managed types and unmanaged types in your C++ code. Thus the managed C++ code: class MyClass { defines a plain C++ class, whereas the code: __gc class MyClass { will give you a managed class, just as if you’d written the class in C or Visual Basic .NET. The advantage of using managed C++ over C code is that we can call unmanaged C++ classes from managed C++ code without having to resort to COM interop. The piler raises an error if you attempt to use features that are not supported by .NET on managed types (for example, templates or multiple inheritance of classes). You will also find that you will need to use nonstandard C++ features (such as the __gc keyword shown in the previous code) when using managed classes. Because of the freedom that C++ allows in terms of lowlevel pointer manipulation and so on, the C++ piler is not able to generate code that will pass the CLR’s memory type safety tests. If it’s important that your code is recognized by the CLR as memory type safe, then you’ll need to write your source code in some other language (such as C or Visual Basic .NET). Visual J .NET The latest language to be added to the mix is Visual J .NET. Prior to .NET Framework , users were able to use J only after making a separate download. Now the J language is built into the .NET Framework. Because of this, J users are able to take advantage of all the usual features of Visual Studio .NET. Microsoft expects that most J++ users will find it easiest to use J if they want to work with .NET. Instead of being targeted at the Java runtime libraries, J uses the same base class libraries that the rest of the .NET pliant languages use. This means that you can use J for building Web applications, Windows Forms, XMLWeb services, and