dotSITE
Форумы Work in Murano Software. Учебник по C#
новости материалы решения форумы группы настройки/о проекте

Использование C#

В этой части будут рассмотрены более практические аспекты использования C#. Компиляция, отладка и тому подобные вопросы. Начнем с компиляции:

Переходя к более подробному знакомству с C#, традиционно рассмотрим программу "Hello, world":

        using System;
        class Hello{ 
            static void Main() {
            Console.WriteLine("hello, world");
            }
        }

Поместите эту программу в файл hello.cs и скомпилируйте ее командой

                csc hello.cs

Так выглядит вызов компилятора в простейшем случае. Далее мы приведем полный список параметров компилятора. При вызове компилятора убедитесь, что у вас прописан путь csc.exe - C Sharp Compiler

В результате вы получите файл hello.exe, запустив который, вы увидите надпись "hello, world".

Метод Main - это точка входа в программу. С него начинается выполнение (те, кто знаком с C++ или Java) понимают, о чем идет речь. Этот метод обязательно должен быть статическим. Далее в нашем примере используется метод WriteLine из класса System.Console. Этот метод отправляет строку на стандартный вывод.

Вы можете также создавать библиотеки классов - dll-сборки, которые могут использоваться другими приложениями. Для этого нужно указать /target:library в опциях компилятора

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

Вообще, компилятор C# имеет множество возможностей, узнать о которых можно из слеующей таблицы. В ней описаны все опции командной строки компилятора CSC:

Выходные файлы

/out:<file> Имя выходного файла (если не указано - производное от имени первого исходного файла)
/target:exe Скомпилировать консольный запускаемый файл (по умолчанию) (Краткая форма: /t:exe)
/target:winexe Скомпилировать запускаемый файл Windows (Краткая форма: /t:winexe)
/target:library Скомпилировать в библиотеку DLL (Краткая форма: /t:library)
/target:module Скомпилировать модуль, который может быть добавлен в другую конструкцию (Краткая форма: /t:module)

* Примечание: Модуль и библиотека имеют одинаковые расширения (DLL), но несмотря на это, они представляют из себя разные вещи. Библиотека - это классическая библиотека DLL. Модуль - это файл откомпилированный без создания конструкции (assembly). В дальнейшем вы можете добавить модуль в любую другую конструкцию при компиляции (с помощью опции /addmodule).

/nooutput[+|-] Только проверять ошибки в коде; не создавать запускаемый файл
/define:<список символов> Определяет директивы препроцессора (Краткая форма: /d)

Написание csc /define:mark1 MyApp.cs равносильно наличию в файле строки
#define mark1
/doc:<file> Создать XML файл документации


Входные файлы

/recurse:<маска> Включить все файлы, удовлетворяющие маске.
/main:<тип> Обозначить класс, содержащий точку входа в программу (все остальные будут игнорироваться) (Краткая форма: /m)
/reference:<список файлов> Включить метаданные из указанных файлов конструкций (Краткая форма: /r)

* Примечание: все данные, помеченные как public, из указаных файлов конструкций будут включены в данную конструкцию. Если файл не содержит объявления конструкции, то метаданные из него могут быть включены с помощью /addmodule.

/addmodule:<список файлов> Включить указанные модули в сборку


Ресурсы

/win32res:<file> Добавляет файл ресурсов Win32(.res) в выходной файл
/win32icon:<file> Добавляет иконку в выходной файл
/resource:<resinfo> Включает .NET ресурс (Краткая форма: /res)

* Примечание: resinfo являет собой следующую последовательность: filename[,identifier[,mimetype]], где filename - имя файла ресурса, identifier - логическое имя ресурса (используется для его загрузки), mimetype - медиа тип ресурса (обычно отсутствует).

/linkresource:<resinfo> Создает ссылку на ресурсный файл в данной сборке (не включая его в выходной файл)(Краткая форма: /linkres)


Создание кода

/debug[+|-] Создавать информацию отладки.
/debug:{full|pdbonly} Указание типа отладки ('full' - по умолчанию, позволяет прикреплять отладчик к запускаемой программе)
/optimize[+|-] Запускать оптимизацию (Краткая форма: /o)
/incremental[+|-] Запускать компиляцию только измененных частей кода(Краткая форма: /incr)


Ошибки и предупреждения

/warnaserror[+|-] Относиться к предупреждениям, как к ошибкам
/warn:<n> Установить уровень предупреждений (0-4) (Краткая форма: /w)
/nowarn:<список предупреждений> Исключить указанные предупреждения

* Примечание: список предупреждений - последовательность их номеров num1[,num2[...]]



Язык

/checked[+|-] Выполнять проверки на переполнения и опустошения
/unsafe[+|-] Допускать unsafe код (unsafe код - небезопасный код, он будет обсужден в дополнительных главах)


Разное

@<file> Прочтение команд и опций компилятора из файла
/help Показывает информацию о использовании (Краткая форма: /?)
/nologo Не показывать копирайт при компиляции


Дополнительно

/baseaddress:<address> Базовый адрес для создаваемой библиотеки
/bugreport:<file> Создавать файл отчета об ошибках
/codepage:<n> Указать таблицу символов, для использования во время открытия исходного текста
/fullpaths Компилятор будет указывать полные имена файлов
/nostdlib[+|-] Не допускать включения стандартной библиотеки (mscorlib.dll). В этой библиотеке хранятся все основные классы .NET Framework.

<< Предыдущая Следующая >>

Контакт Реклама на сайте Спонсорам Веб мастерам

Лицензионное соглашение - © 2000-2010 dotSITE
Хостинг .NET предоставлен PARKING.RU
Поддержку сайта осуществляет Murano Software Inc., Offshore software development