Компоновка C#-приложений с помощью csc.exe

Компоновка C#-приложений с помощью csc.exe

Теперь, когда машина распознает csc.exe, с помощью компилятора командной строки C# и программы Блокнот мы построим простой одномодульный компоновочный блок, который назовем TestApp.exe. Для начала нам нужен исходный код. Откройте программу Блокнот и введите в ее окно следующее.

// Простое приложение на языке C#.

using System;

class TestApp {

 public static void Main() {

  Console.WriteLine("Проверка! 1, 2, 3");

 }

}

Завершив ввод, сохраните файл с именем TestApp.cs в подходящем месте на диске (например, в каталоге C:CscExample). Теперь рассмотрим основные опции компилятора C#. Прежде всего нужно понять, как указывается имя и тип создаваемого компоновочного блока (это может быть, например, консольное приложение с именем MyShell.exe, библиотека программного кода с именем MathLib.dll, приложение Windows Forms с именем MyWinApp.exe и т.д.). Каждая из возможностей обозначается соответствующим флагом, передаваемым в сsc.exe в виде опции командной строки (табл. 2.2).

Таблица 2.2. Опции компилятора C#, указывающие выходные параметры

Опция Описание
/out Используется для указания имени создаваемого компоновочного блока. По умолчанию имя компоновочного блока совпадает с именем исходного файла *.cs (в случае *.dll) или с именем типа, содержащего метод Main() программы (в случае *.exe)
/target:exe Используется для создания консольного приложения. Данный тип выходного файла подразумевается по умолчанию, поэтому эту опцию при построении консольного приложения можно опустить
/target:library Используется для построения одномодульного компоновочного блока *.dll
/target:module Используется для построения модуля. Модули являются составляющими многомодульных компоновочных блоков (см. главу 11)
/target:winexe Приложения Windows можно строить и с помощью флага /target:exe, но флаг /target:winexe исключает появление окна консоли в фоновом режиме

Чтобы скомпилировать TestАрр.сs в консольное приложение с именем TestApp.exe, перейдите в каталог, содержащий файл с исходным кодом, и введите следующую строку команд (обратите внимание на то, что флаги командной строки должны быть указаны до имен входных файлов, а не после).

csc /target:exe TestApp.cs

Здесь не указан явно флаг /out, поэтому выполняемый файл будет назван TestApp.exе, поскольку класс определяющий точку входа программы (метод Main()), у нас называется TestApp. Следует знать о том, что почти все флаги компилятора C# имеют сокращенные версии написания. Например, можно использовать /t вместо /target (все сокращения можно увидеть с помощью ввода csс /? в командной строке).

csc /t:exe TestApp.cs

К тому же, поскольку флаг /t:exe определяет вывод, используемый компилятором C# по умолчанию, для компиляции TestApp.cs можно использовать следующую простую строку.

csc TestApp.cs

Рис. 2.1. Приложение TestApp в действии

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

4.2 Компоновка

Из книги C++ автора Хилл Мюррей

4.2 Компоновка Если не указано иное, то имя, не являющееся локальным для функции или класса, в каждой части программы, компилирумой отдельно, должно относиться к одному и тому же типу, знчению, функции или объекту. То есть, в программе может быть только один нелокальный тип,


4.3 Компоновка

Из книги Сущность технологии СОМ. Библиотека программиста автора Бокс Дональд

4.3 Компоновка Имя в файловой области видимости, не описанное явно как static, является общим для каждого файла многофайловой прораммы. Таковым же является имя функции. О таких именах говорится, что они внешние. Каждое описание внешнего имени в программе относится к тому же


Динамическая компоновка и С++

Из книги ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВСТРОЕННЫХ СИСТЕМ. Общие требования к разработке и документированию автора Госстандарт России

Динамическая компоновка и С++ Один из путей решения этих проблем – упаковка класса FastString в динамически подключаемую библиотеку (Dynamic Link Library – DLL). Это может быть сделано несколькими способами. Простейший из них – использовать директиву компилятора, действующую на уровне


Компоновка .NET-приложений с помощью TextPad

Из книги Обработка баз данных на Visual Basic®.NET автора Мак-Манус Джеффри П

Компоновка .NET-приложений с помощью TextPad Бесплатный редактор Блокнот, несомненно, подходит для создания простых программ .NET, но он не может ничего предложить для повышения производительности труда разработчика. Хорошо, когда редактор, с помощью которого создаются файлы


Компоновка .NET-приложений с помощью SharpDevelop

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

Компоновка .NET-приложений с помощью SharpDevelop SharpDevelop является интегрированной средой разработки с открытым исходным кодом и богатыми возможностями, которые вы можете использовать для создания компоновочных блоков .NET на основе C#, VB .NET, Managed Extensions для C++ или CIL. Кроме того, что


Компоновка .NET-приложений с помощью Visual C# 2005 Express

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

Компоновка .NET-приложений с помощью Visual C# 2005 Express Летом 2004 года Microsoft предложила совершенно новую серию IDE-продуктов, обозначенную еловом "Express" (см. http://msdn.microsoft.com/express). На сегодня выпущено шесть пакетов этого семейства.• Visual Web Developer 2005 Express. "Облегченный" вариант средств


Компоновка .NET-приложений с помощью Visual Studio 2005

Из книги Цифровая фотография без Photoshop автора Газаров Артур Юрьевич

Компоновка .NET-приложений с помощью Visual Studio 2005 Если вы являетесь профессиональным разработчиком программного обеспечения .NET, очень велика вероятность того, что ваш работодатель согласится купить для вас лучшую интегрированную систему разработки от Microsoft – Visual Studio 2005


Компоновка системы

Из книги QT 4: программирование GUI на С++ автора Бланшет Жасмин

Компоновка системы Как практически реализовать процесс компоновки системы?Допустим, что операционная система использует обычный способ хранения исходных текстов классов в файлах. Инструментальному средству компоновки (компилятор, интерпретатор) необходима следующая


19.4. Разработка Web-приложений с помощью Nitro

Из книги автора

19.4. Разработка Web-приложений с помощью Nitro Nitro — еще один комплект инструментов для разработки Web-приложений. Хотя в сочетании с библиотекой Og для объектно-реляционного отображения Nitro хорошо приспособлен к созданию традиционных приложений в духе MVC, задуман он для


19.6. Разработка Web-приложений с помощью IOWA

Из книги автора

19.6. Разработка Web-приложений с помощью IOWA IOWA (Interpreted Objects for Web Applications — интерпретируемые объекты для Web-приложений) — это каркас, написанный Кирком Хейнсом (Kirk Haines). Он позволяет создавать повторно используемые, инкапсулированные Web-компоненты для генерации


Компоновка кадра

Из книги автора

Компоновка кадра Нередко пейзаж приходится обрабатывать на компьютере – обрезать лишнее, кадрировать чтобы придать ему более привлекательный вид, что-то добавлять с помощью фотомонтажа и т. д.Пейзаж, который сфотографирован вдумчиво, грамотно, не придется исправлять,


Программирование приложений с помощью VBA

Из книги автора

Программирование приложений с помощью VBA Что может делать пользователь с помощью VBA? Ответ очень прост: все. К сожалению, ни в одной книге нельзя рассмотреть все вероятные сферы программирования, в которых вы найдете применение возможностям VBA. Поэтому ограничимся тем, что


Компоновка виджетов

Из книги автора

Компоновка виджетов В данном разделе мы создадим небольшое приложение, которое демонстрирует применение менеджеров компоновки для размещения виджетов в окне и использование сигналов и слотов для синхронизации работы двух виджетов. Приложение предлагает пользователю


Стековая компоновка

Из книги автора

Стековая компоновка Класс QStackedLayout (менеджер стековой компоновки) управляет компоновкой набора дочерних виджетов или «страниц», показывая в каждый конкретный момент только одну из них и скрывая от пользователя остальные. Сам менеджер QStackedLayout невидим и не содержит