zoukankan      html  css  js  c++  java
  • 02.生成、打包、部署和管理应用程序及类型

        使用csc.exe,通过命令行来编译源代码,生成IL代码,如下
        csc.exe /out:Program.exe /t:exe /r:MSCoreLib.dll Program.cs
        意义:指示C#编译器生成一个名叫Program.exe的可执行文件
     
        MSCoreLib.dll是一个特殊的文件,它包含所有的核心类型:Byte,Char,String,Int32等等,因为操作非常频繁,C#编译器会自动引用该程序集,所以上述的命令行代码可以省略/r开关,也可以使用/nostdlib开关,不去引用该程序集
     
        响应文件:
            类似于配置文件一样,可以统一设置命令行中的各项开关
     
        元数据概述
            元数据是一个二进制数据块,由几个表构成,为三个类型:定义表,引用表,清单表
            常用定义表:
                ModuleDef:标识模块的记录项
                TypeDef:标识类型的记录项
                MethodDef:模块中各个方法的记录项
                FiledDef:模块中每个字段的记录项
                ParamDef:模块中每个方法中参数的记录项            
                PropertyDef:模块中每个属性的记录项
                EventDef:模块中每个事件的记录项
            常用引用表:
                AssemblyRef:模块引用每个程序集的记录项
                ModuleRef:当前模块引用的类型可能是由别的PE模块实现,所有那些模块在这个表中都有一个对应的记录项
                TypeRef:模块引用的每个类型在这个表中的记录项
                MemberRef:模块引用的成员(字段、方法、属性、事件)
     
        程序集是一个或多个类型定义文件及资源文件的集合,是进行重用、版本控制和应用安全性设置的一个基本单元,它允许将类型和资源文件划分到单独的文件中。
     
        生成一个PE文件程序集时,会在PE文件中嵌入一个标准的Win32版本资源,在应用程序中可以使用System.Diagnostics.FileVersionInfo的static方法GetVersionInfo来获取并检查这些信息
        
        语言文化
        标记了一种具体的语言文化的程序集称为附属程序集
  • 相关阅读:
    三级指针
    外挂指针
    内存四区(1)(转载)
    内存四区(3)(转载)
    劫持(1)
    过滤劫持和函数回调(2)
    劫持程序(3)
    dll注入实现MFC程序劫持(4)
    virtual hust 2013.6.20 数论基础题目 I
    virtual hust 2013.6.20 数论基础题目 D
  • 原文地址:https://www.cnblogs.com/a2htray/p/4502054.html
Copyright © 2011-2022 走看看