将类型生成到模块中
来源:互联网 发布:怎么评价邓小平知乎 编辑:程序博客网 时间:2024/04/28 09:52
主要解决问题:1. 我们写的CS文件如果编译成EXE呢?
如:创建一个源码文件Program.cs
public sealed class Program{ public static void Main(){System.Console.WriteLine("Hi")}}
应用程序定义了Program类型,其中有个名为Main的 public static方法 。 Main引用了System.Console的类型。System.Console是Microsoft已经实现好的类型。用于实现这个类型的各个方法存储在MSCorLib.dll文件中。
将Program.cs编译生成exe文件 执行命令:
csc.exe /out:Program.exe /t:exe /r:MSCorLib.dll Program.cs
这个命令指示C#编译器生成名为Progam.exe 的可执行程序(/out:Program.exe),生成的文件属于Win32控制台应用程序类型(/t[arget]:exe).
MSCorLib.dll 是个比较特殊的文件,因为它包含了所有核心类型:Char,String,Int32等等,且由于这些类型被使用频繁,以至于C#编辑器会自动引用MSCorLib.dll程序集。
其上面 执行命令可简化为:
csc.exe /out:Program.exe /t:exe Program.cs
由于/out:Program.exe和/t:exe 的命令行开关是C#编辑器默认设定的,所有此命令行还可以继续简化为:
csc.exe Program.cs
当然如果你出于某种情况,不希望C#自动引用MSCorLib.dll程序集,那么可以使用 /nostdlib 开关
csc.exe /out:Program.exe /t:exe /nostdlib Program.cs
但要注意:因为Microsoft生成MSCorLib.dll程序集自身的时候便已经使用了/nostdlib 此开关。执行以上代码编译器将会报错。
2.生成的Program.exe文件又是什么呢?
首先,它是一个标准的PE(可移植执行体,Portable Executable)文件。这意味着运行32位或64位Windows的一台计算机能加载这个文件,并通过它执行某些操作。
Windows 支持两种类型的应用程序:具有控制用户界面(console user interface ,CUI)的和具有图形用户界面(graphical user interface,GUI)的。 由于指定了/t:exe开关,所以C#编辑器生成的是一个CUI应用程序。使用/t:winexe 开关,则可让C#编辑器生成一个GUI应用程序.
- 将类型生成到模块中
- 2.2 将类型构建到模块中
- 将类型生成为模块
- 使用命令行将类型生成到模块中
- log4j将日志按模块输出到不同文件中
- 将CGPoint类型的变量存到数组中
- 将任意类型的数据写入到文件中
- 将matlab 生成的mat矩阵存储到txt中。
- 怎么将CocoStudio生成的文件导入到vs2013中
- Android Studio 将字符串快速生成到string.xml中
- 将设备驱动程序模块源码添加到Linux内核模块源码中
- 比如将一个变量转换到INT类型 C#.NET中如何进行强制类型转换
- Altium Designer中如何将相同布局的PCB模块复制到另一块PCB中
- 如何将自己的模块添加到Linux 2.6内核的配置系统中
- 如何利用pip将python模块安装到python指定的版本中
- 如何将SilverLight应用到DNN模块
- 将驱动程序模块添加到内核
- WCF中方法返回泛型类,客户端生成方法将返回类型自动改名
- Tomcat性能调整
- 整理下 Intent 中文API
- extjs form表单的重置 (增加和修改值冲突问题)
- 国内使用Ogre 3D开发的游戏
- foj 1607
- 将类型生成到模块中
- 都有谁在做IT教育?
- 英语练习113 Slow down
- 去掉小数后面多余的零
- UNIX 网络编程测试代码 -- UDP通信
- java中覆盖、重写与重载的区别
- LINUX 的OID中英文对照
- Asp.Net函数大全
- vim 中执行shell命令