没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|其它|编辑:郝浩|2009-03-09 13:55:30.000|阅读 326 次
概述:将类型构建到模块中
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
我将给你展示如何将你的包含各种类型的源文件变成可以部署的文件, 让我们从检查如下的简单应用程序开始吧:
public sealed class Program {
public static void Main() {
System.Console.WriteLine("Hi");
}
}
这个应用程序定义一个类型Program, 这个类型只有一个公开静态的函数Main, 在Main函数里面有另一个类型的引用, 这个类型是System.Console, System.Console是微软实现的一个类型, 实现这个类型的函数的IL代码位于MSCorLib.dll文件中, 所以我们的应用程序定义了一个类型, 并使用了另外一个公司的类型.
为了构建这个应用程序样本, 将前面的代码放到一个源文件Program.cs中, 然后执行如下的命令:
csc.exe /out:Program.exe /t:exe /r:MSCorLib.dll Program.cs
这个命令行告诉C#编译器产生可执行文件Program.exe(/out:Program.exe). 产生的文件类型是Win32控制台应用程序(/t[arget]:exe).
当C#编译器处理这个源文件的时候, 看上去代码引用了System.Console类型的WriteLine函数, 在这点上, 编译器要确保这个类型存在于某个地方, 这个类型有WriteLine函数, 传给这个函数的参数与函数期望的参数相匹配, 因为这个类型没有定义在C#的源文件中, 为了让C#编译器高兴, 你必须给它一组程序集让它使用来解决外部类型引用的问题. 在上面的命令行中, 我已经包含了/r[eference]:MSCorLib.dll开关, 它告诉编译器在由MSCorLib.dll标示的程序集中查找外部类型.
MSCorLib.dll是一个特别的文件, 因为它包含了所有核心类型: Byte, Char, String, Int32和更多的其他类型. 实际上, 这些类型十分常用, 以致于C#编译器会自动地引用MSCorLib.dll程序集. 换句话说, 下面的命令行(省略了/r开关)回合前面的命令行得到相同的结果:
csc.exe /out:Program.exe /t:exe Program.cs
此外, 因为/out:Program.exe和/t:exe命令行开关也是C#编译器默认选择的, 因此下面的命令行也会得到相同的结果:
csc.exe Program.cs
如果由于某种原因, 你不想让C#编译器引用MSCorLib.dll程序集, 你可以使用/nostdlib开关. 微软在构建MSCorLib.dll程序集自身时就使用这个开关. 例如, 当CSC.exe企图编译Program.cs文件时, 下面的命令行将产生一个错误, 因为System.Console类型是在MSCorLib.dll中定义的:
csc.exe /out:Program.exe /t:exe /nostdlib Program.cs
现在, 让我更近地看看C#编译器产生的Program.exe文件, 这个文件到底是什么? 好, 对初学者来说, 它是一个标准的PE(portable executable)文件, 这意味着运行着32位或者64位版本的Windows应该能够载入这个文件, 并对其做些事情. Windows支持两类应用程序, 控制台用户接口(CUI)的应用程序和图形用户接口(GUI)的应用程序. 因为我指定了/t:exe开关, 编译器产生CUI应用程序. 你可能会使用/t:winexe开关来让C#编译器产生GUI应用程序.
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:MSDN面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号