Visual C++
Visual C++
|
|
Desarrollador
|
|
Microsoft
Visual C++ Developer Center |
|
Información general
|
|
Última versión
estable
|
Visual Studio
2012
Noviembre del 2012 |
Género
|
Entorno de desarrollo
integrado
|
Programado en
|
ASM/C/C++
|
Sistema operativo
|
Microsoft Windows
|
Licencia
|
EULA
|
Estado actual
|
Activo
|
Visual C++ (también conocido como Mvs}C, Microsoft Visual
C++) es un entorno de desarrollo
integrado (IDE) para lenguajes
de programación C, C++ y C++/CLI.
Visual C++ engloba el desarrollo de
aplicaciones hechas en C, C++ y C++/CLI en el entorno Windows. Visual C++ incluye además las bibliotecas de Windows
(WinApi), las
bibliotecas MFC y el entorno de desarrollo para .NET Framework. Visual C++ cuenta con su propio compilador (de
igual nombre) y otras herramientas como IntelliSense, TeamFoundation Server,
Debug,... Además provee de bibliotecas propias de cada versión del sistema
operativo y sockets. Como otros compiladores, se le pueden añadir nuevas
bibliotecas como DirectX, wxWidgets o SDL.
Cuenta con una versión Express, llamada
Microsoft Visual C++ Express Edition, la cual es gratuita y se puede descargar
desde el sitio de Microsoft.
El lenguaje de programación utilizado por esta herramienta, de igual nombre, está basado en C++ y es compatible en la
mayor parte de su código con este lenguaje, a la vez que su sintaxis es exactamente igual. En
algunas ocasiones esta incompatibilidad impide que otros compiladores, sobre todo en otros sistemas operativos,
funcionen bien con código desarrollado en este lenguaje.
Una de las nuevas implementaciones es que el llamado código
administrado (managed code) hace
uso de una de las mejores herramientas dentro de .NET, el recolector de basura (garbage collector).
Cómo declarar una clase gestionada por
el recolector de basura Visual Studio
2005:
ref class MiClase
{
// Código
}
en Visual Studio
2003:
__gc class MiClase
{
// Código
}
La palabra reservada ref (ó __gc) le
dice al compilador que esa clase será manejada por el recolector de basura,
aunque, y a diferencia de otros lenguajes de .NET como C#,
aún puede seguir llamando al destructor con delete.
Ahora veamos un ejemplo del programa
HolaMundo con Visual C++ en C++/CLI.
using namespace System;
ref class MiClase
{
{
Console::WriteLine("Hola, mundo");
}
};
int main()
{
MiClase^ objeto = gcnew MiClase();
objeto->HolaMundo();
return 0;
}
Ahora veamos un ejemplo en ANSI C.
#include
<stdio.h>
int main()
{
printf("Hola, mundo");
}
Y un ejemplo en C++
#include
<iostream>
using namespace std;
int main()
{
cout<<"Hola, mundo"<<endl;
}
Las diferencias son pocas; en cuanto a sintaxis, el símbolo ^ indica que se está creando un puntero. Se hace de esta forma porque los punteros nativos de C++ son difíciles de
seguir por el recolector de basura, así que se debe manejar de manera
diferente. Para acceder a los métodos y miembros de la clase se usa -> cuando se tiene un
puntero, al igual que en C++ nativo.
La palabra reservada gcnew crea el objeto
devolviendo un puntero hacia este; gcnew se debe de usar para instar una clase manejada por el
recolector de basura, o sea que ha sido declarada ref class. Si la clase no es manejada class se usa new y * para crear un
puntero, al igual que en C++.
No hay comentarios:
Publicar un comentario