学习
实践
活动
专区
工具
TVP
写文章

二、源代码=>程序程序概念介绍

一、源代码-面向CLR的编译器-托管模块-(元数据&IL代码)中介绍了编译器将源文件编译成托管模块(中间语言和元数据),本文主要介绍如何将托管模块合并成程序. 1、程序的基本概念 ? 2、程序生成的过程 ? 注: (1)、清单指出程序只有一个文件组成, (2)、对于只有一个托管模块,没有资源文件的项目,程序就是托管模块. (3)、如果需要将一组文件合并到程序集中可以使用程序链接器(AL.exe)以及其他的一些命令行选项 常用的方法是,把程序的物理表示和逻辑表示区分开,将很少用到的类型和文件放到单独的文件中,并将这些文件作为程序的一部分,如果运行时需要,则去下载,这样不仅节省了磁盘空间,还节省了安装时间.通过程序, 可以在不同的地方部署,同时任然将所有的文件当作一个整体来看待. 4、关于程序自描述的优点 在程序的模块中,还包含与引用的程序有关的信息(版本号、描述等等),具体如下图 ?

45990

页面抖动 和 程序驻留(工作

工作(驻留) 工作(或驻留)是指在某段时间间隔内,进程要访问的页面集合。经常被使用的页面需要在工作集中,而长期不被使用的页面要从工作集中被丢弃。 为了防止系统出现抖动现象,需要选择合适的工作大小。 工作模型的原理是:让操作系统跟踪每个进程的工作,并为进程分配大于其工作的物理块。 如果还有空闲物理块,则可以再调一个进程到内存以增加多道程序数。 正确选择工作的大小,对存储器的利用率和系统吞吐量的提嵩,都将产生重要影响。 ? ? ? 程序工作,就是程序驻留。 ----  保持更新,一个关于操作系统的知识点,之前本科学习的时候,竟然没注意,重新复习的时候,才感觉错过好多知识。

48020
  • 广告
    关闭

    移动开发平台即将公测上线

    移动开发平台帮您解决以下后顾之忧,修个Bug发版本时间太长、应用测试覆盖不全机型、业务增长缺少各种数据...

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    查找 .Net 程序

    我从观看 .net 程序被移动和挖空的经验中知道,不会有命令行参数。我的大部分内容都不会触发。但是,现在它的移动对我来说很重要。 从过去的工作中,我知道 Windows 上有许多本机 .Net 程序。有些甚至通过 SDK 或其他开发人员工具进入。本土的可能是最有趣的。我们如何找到它们? \Find-Assemblies.ps1 -Directory 'C:\Windows' -Recurse 查找程序 通过这个列表,我删除了二进制名称和路径,并创建了一个 Splunk 查找。 is_net_windows_file_origname originalFileName as original_file_name OUTPUT netFile | 搜索 netFile=True 我肯定会错过其他依赖于 SDK 和开发人员实用程序的二进制文件 4.0.15744.161_none_12f75b90c6cbba6c\InstallUtil.exe c:\temp\installut.exe 此分析将识别 Windows 上已移动和重命名的 .Net 程序

    22530

    怎样反射程序

    第七部分:反射程序 1、什么是程序? 1、程序是.net中的概念。 2、.net中的dll与exe文件都是程序。(exe与dll的区别?) 4、程序包含:类型元数据(描述在代码中定义的每一类型和成员,二进制形式)、程序元数据(程序清单、版本号、名称等)、IL代码(这些都被装在exe或dll中)、资源文件。 每个程序都有自己的名称、版本等信息。这些信息可以通过AssemblyInfo.cs文件来自己定义。 5、使用程序的好处? 1)、程序中只引用必须的程序,减小程序的尺寸。 2)、程序可以封装一些代码,只提供必要的访问接口。 6、如何添加程序的引用? 还有反编译工具也是通过反射实现 2、反射就是动态获取程序的元数据(提供程序的类型信息)的功能 反射:就是动态获取程序集中的元数据来操作类型的。

    26920

    关于强命名程序

    如何创建强命名程序(Strong Name Assembly)     创建一个强命名程序首先需运维 程序的部署方式 一个程序有两种部署方式:    a) 私有方式 和应用程序部署在同一目录下的程序称作私有部署程序。弱命名程序只能进行私有部署。     其实不是这样的,在命令行下查看,你会发现它实际上包含很多子目录,子目录的名字和程序的名称是相同的,但它们都不是实际的程序,实际的程序位于程序名对应的目录下。 这里只 有一个目录表明只有一个版本的 GCFWK 程序被安装。实际的程序保存在每一个对应的版本目录下。 1.0.0.0 程序程序,通过更改它的配置文件,转而让程序去引用版本为 2.0.0.0 的程序)来使用新版本;最后, GAC 还提供了对不同版本程序的并存( side-by-side

    29710

    条件格式技巧——图表

    今天跟大家分享条件格式的另一个贴心技巧——图表! ▽▼▽ 也许大家用的不多,不过这个技巧之所以要跟大家分享,是因为它采用的迷你小图标的形式,非常细致的刻画出整体数据的趋势,可以让人一目了然的观察出整体数据的涨跌趋势,功能类似于之前推送过的一篇迷你图。 选中原数据区域之后(不包含左列部门名称和底部标题),在开始——样式——条件格式中选中图表集中任意选择一个图表样式进行套用。然后就可以输出带有图表样式的图表。 ? ? 下面我们来看更改图表类型之后的效果。 方向箭头: ? ? 彩旗: ? ? 实心圆: ? ? 迷你柱形图: ? ? 迷你饼图: ? ? 迷你方格图: ? ? ---- 相关阅读: 迷你图(sparklines)——原来图表可以这么 rept——一个可以一键成图的神奇函数!

    92750

    数据的划分--训练、验证和测试

    前言         在机器学习中,经常提到训练和测试,验证似有似无。感觉挺好奇的,就仔细查找了文献。以下谈谈训练、验证和测试。 训练、验证和测试 1. **训练**:顾名思义指的是用于训练的样本集合,主要用来训练神经网络中的参数。 2. 当在验证上取得最优的模型时,此时就可以使用此模型的超参数来重新训练(训练+验证),并用测试评估最终的性能。 只需要把数据划分为训练和测试即可,然后选取5次试验的平均值作为最终的性能评价。 验证和测试的区别         那么,训练、校验和测试之间又有什么区别呢? 附言 说到底: 验证是一定需要的; 如果验证具有足够泛化代表性,是不需要再整出什么测试的; 整个测试往往就是为了在验证只是非训练一个小子集的情况下,好奇一下那个靠训练(训练)和验证

    3K50

    CLR中的程序加载

    CLR中的程序加载       本次来讨论一下基于.net平台的CLR中的程序加载的机制:   【注:由于.net已经开源,可利用vs2015查看c#源码的具体实现】 在运行时,JIT编译器利用程序的 采用静态方法Load()加载程序,可调用它显示的将一个程序加载到AppDomain中: 【注:Assembly类的Load()存在两个重载版本】 ///

    /// 通过给定的程序的显示名称来加载程序 ,并在GAC(全局程序缓存)中查找程序。 如果没有找到,就接着去应用程序的基目录、私有路径目录和codebase位置查找。如果Load找到指定的程序,会返回对代表已加载的那个程序的一个Assembly对象的引用。 2.采用Assembly的LoadFrom方法,指定路径名的方式加载程序: /// /// 已知程序的文件名或路径,加载程序

    37680

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • 云开发 CloudBase

      云开发 CloudBase

      云开发(Tencent Cloud Base,TCB)是腾讯云为移动开发者提供的一站式后端云服务,支持小程序、小游戏、Web、APP开发。它帮助开发者统一构建和管理资源,让开发者可以专注于业务逻辑的实现,而无需理解后端逻辑及服务器运维知识,开发门槛更低,效率更高。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券