|
2.1 编译与运行
编译与运行.. 本章节主要介绍C#代码怎么编译,和运行
代码需要经过编译器的编译以生成可执行 (.exe) 文件.动态链接库文件 (.dll) 或者代码模块
(.netmodule).
可以使用命令行编译来生成代码. 也可以通过在 Visual Studio IDE 中创建项目来运行代码. 如何
通过穿件项目的方式来创建并编译代码将在后续章节讲解. 本节主要讲解如何使用命令进行编译.
2.2 CSC 编译器 ***
可以通过在命令行上键入 C# 编译器的可执行文件 (csc.exe) 的名称用来调用 C# 编译器.
比如, 可以使用"Visual Studio 命令提示" (以"开始" 菜单上"Visual Studio 工具")下
方式提供) , 则系统已为您设置好所有必要的环境变量, 例:
点击 "Visual Studio 命令提示" 之后, 则会在命令环境打开 CSC 编译器.
然后就可以在命令行上输入编译指令以编译代码. 例:
D:\Program Files\Microsoft Visual Studio 10.1\UC>csc d:\HelloWorld.cs
然后回车.
当出现此界面则表示已经将 d 盘下的名为 "HelloWorld.cs"的代码文件编译生成完毕,
生成在默认的环境路径下, 即琐事的其实路径 "D:\Program Files\Microsoft Visual Studio 10.0"下.
找到该路径, 会发现该路径下会产生一个名为" HelloWorld.cs"的文件,该文件就是编译生成的
可执行文件. 双击该文件就可以执行该文件(因为是 exe 的可执行文件) , 会发现该程序运行后,界面
一闪而过. 这是以为在代码中, 我们书写代码在界面输出, 输出语句(Console.WriteLine 执行完毕后,Main方法结束,整个应用程序也就结束了,因此就免一闪而过.)
如果希望界面能够停留, 则需要修改代码 如:
suing System;
class Hello
{
static void Main()
{
Console.WriteLine("HelloWorld");
Console.Read();
}
}
示例中,我们添加了一行代码 Console.Read();该代码表示等待用户在界面录入字符,只有用户确实
录入了内容, 则该代码结束, Main 方法才会结束. 这样可以似的界面停留,以便于查看程序的运行效果.
修改代码后,必须重新编译以得到新的生成结果. 即重新在命令提示行界面上录入命令:csc
d:\HelloWorld.cs, 并回车,则会重新生成一个名为 HelloWorld 的 exe 文件. 此时,双击该文件以运行
它,效果自测
此时, 只有在界面上录入某字符并回车后, 则程序结束.
提示 , csc.exe 可执行文件通常位于系统目录下的 Microsoft.NET\Famework\<version> 文件
夹中. 根据每台计算机上的确切配置, 此位置可能有所不同.如果计算机上安装有 .NET Frameworl 的
多个版本 , 则计算机上将存在此可执行文件的多个版本.
2.3 命令行语法规则 **
如前所述, 我们可以在命令行录入语法命令以生成代码, 该命令的基本语法为:
csc directory\FileName
在解释操作系统命令行上给出的参数时, C# 编译器使用下列规则":
参数用空白分割, 空白可以是一个空格或制表符
无论其中是否包含空白, 带双引号的字符串 ("string") 均被解释为单个参数. 带引号的字符
串可以嵌入在参数内
前面有反斜杠的双引号 (如"\") 被解释为原义双引号字符(")
反斜杠按其原义解释, 除非它们仅位于双引号之前
可以使用斜杠/引入编译器选项
2.4.编译器选项 *
编译器选项是指可以在编译命令中引入特定的选项以指定生成中的某些行为方式.
在调用 csc 编译器时. 撤了指定需要编译的源文件为 d 盘下的名为 HelloWorld.cs 文件
之外, 还是用了编译器选项 /out: 指定在 d 盘下生成文件 , 且生成文件的名称为 a.exe . 这样可以
指定生成文件的选项 , 便于结果的查找
运行命令后,将如命令琐事, 在 d 盘下生成名为 a 的exe 文件, 双击运行改程序 , 效果如前所示.
其中,/out: 即作为编译器选项存在, 常见的编译器如下表所示:
/addmodule 将指定的模块链接到此程序几种
/checked 是编译器生成溢出检查.
/doc 指定要生成的 XML 文档文件.
/main 指定包含如果点的类型(忽略所有其他可能的入口点).
/out 指定输出文件名( 默认值: 包含主类的文件或第一个文件的基名称).
/resource 嵌入指定的资源
/target 使用下列四个选项之一指定输出文件的格式 : /target:exe. /target:library
/target:module 和 /target:winexe.
|
|