Иллюстрированный самоучитель по Architecture .NET

Ваша первая программа на управляемом C++ .NET

Хотя вы, почти наверняка, хорошо знакомы с C++, мы начнем с рассмотрения очень простого, но традиционного примера– программы HelloWorld (Привет, мир). В этом разделе мы расскажем, как написать, скомпилировать и запустить эту и другие программы.

Программа HelloWorld (Привет, мир)

Чуть ниже приведен пример кода из очень простой управляемой программы, которая выводит на консоль одну-единственную строку. Вы можете открыть сопровождающее решение или создать свой проект и ввести текст программы самостоятельно. Для того чтобы это сделать, необходимо создать пустой проект HelloWorld (Привет, мир), добавить исходный код, а затем скомпилировать и запустить проект.

Как создать консольное приложение на управляемом C++

Создайте пустой проект консольного приложения Managed C++, называющийся HelloWorld (Привет, мир):

  1. Откройте Visual Studio .NET. Выберите пункт меню File › New › Project (Файл › Создать › Проект) для того чтобы открыть диалог New Project (Создание проекта).
  2. Выберите пункт Visual C++ Projects (Проекты Visual C++) в списке Project Types (Типы проектов).
  3. Выберите пункт Managed C++ Empty Project (Пустой проект на управляемом C++) в списке Templates (Шаблоны).
  4. Введите HelloWorld (Привет, мир) в качестве названия проекта.
  5. Задайте папку, в которой будет храниться проект.
  6. Щелкните на ОК для того чтобы закрыть диалог New Project (Создание проекта) и завершить создание нового проекта. Добавьте исходный код:
  7. Щелкните правой кнопкой на папке Source Files (Исходные файлы) в окне Solution Explorer (Поиск решений).Выберите пункт меню Add › Add New Item (Добавить › Добавить новый элемент) для того, чтобы открыть диалог Add New Item dialog (Добавить новый элемент).
  8. Выберите в списке Templates (Шаблоны) пункт C++ File (Файл C++).
  9. Укажите HelloWorld (Привет, мир) в качестве названия проекта.
  10. Не изменяйте значение расположения (Location), принятое по умолчанию.
  11. Щелкните на кнопке Open (Открыть) для того, чтобы закрыть диалог Add New Item dialog (Добавить новый элемент) и открыть Source Editor (Редактор текстов программ).
  12. Введите код примера HelloWorld (Привет, мир). Скомпилируйте и запустите проект:
  13. Выберите пункт меню Build › Build (Создать › Создать).
  14. Используйте сочетание клавиш CTRL + F5 для запуска программы без отладчика.

Директива fusing необходима для всех программ на управляемом С++. Она делает доступными для компилятора стандартные типы (такие, как Console (Консоль) и Object (Объект)), определенные в библиотеке классов NET. Класс Console (Консоль) находится в пространстве имен System (Системное пространство имен) и его полное имя – System::Console (Система::Консоль) Данный класс содержит метод WnteLine, выводящий на консоль текст и добавляющий к нему символ новой строки.

//HelloWorld.cpp
fusing <mscorlib.dll> // требуется для кода на управляемом Ст+
void main(void) {
System:: Console:: WriteLine ("Hello World");
// ("Привет, мир"); }

Программа может быть скомпилирована либо в Visual Studio .NET, либо при помощи командной строки с параметром /CLR (Common Language Runtime compilation – компиляция для выполнения в общеязыковой среде). Если вы используете командную строку. вы должны определить соответствующую среду Простейший способ сделать это – открыть командное окно, выбирая пункты меню Start (Пуск) › Programs (Программы) › Microsoft Visual Studio .NET 7.0 › Visual Studio .NET Tools › Visual Studio .NET Command Prompt. В командной строке:

cl /CLR HelioWorld.cpp

Исходный файл компилируется, а затем автоматически компонуется так, что результатом является ЕХЕ-файл HelloWorld.exe. Позже мы расскажем, как создать управляемую динамически подключаемую библиотеку (DLL).

Полученную управляемую программу можно запустить в Visual Studio .NET или из командной строки, как обычный исполняемый файл. Результатом работы программы будет следующее сообщение:

Hello World
(Привет, мир)
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.