社区
C#
帖子详情
关于C#程序编译问题
C语言答疑课堂
2009-01-03 08:05:35
最近在看C#书,书上有一句话“为了执行C#代码,必须把它们转换为目标操作系统能够理解的语言,即本机代码”,这句话是不是有错啊。应该说是“转换成目标机器能够理解的语言”吧,因为本机代码应该是针对机器而言的吧,怎么可能是针对操作系统而言的呢? 还有一个问题就是“支持.Net Framwork的语言”这个说法,意思是说 在用此语言编程中使用.Net Framwork中的一个类时,编译器不会报错吗?请哪位高手能解答下
...全文
164
5
打赏
收藏
关于C#程序编译问题
最近在看C#书,书上有一句话“为了执行C#代码,必须把它们转换为目标操作系统能够理解的语言,即本机代码”,这句话是不是有错啊。应该说是“转换成目标机器能够理解的语言”吧,因为本机代码应该是针对机器而言的吧,怎么可能是针对操作系统而言的呢? 还有一个问题就是“支持.Net Framwork的语言”这个说法,意思是说 在用此语言编程中使用.Net Framwork中的一个类时,编译器不会报错吗?请哪位高手能解答下
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
C语言答疑课堂
2009-01-03
打赏
举报
回复
谢谢了,各位的解答的的都很详细
chwlyr
2009-01-03
打赏
举报
回复
为了执行C#代码,必须把它们转换为目标操作系统能够理解的语言,即本机代码”,这句话是不是有错啊。应该说是“转换成目标机器能够理解的语言”吧。
---
目标机器能够理解的语言除了01,就是汇编。
在.NET Framework下ms发明了一种叫msil(微软中间语言)的语言。这种语言和汇编有些相似。
c#编译器会首先将c#代码编译成msil,然后由jit编译成目标系统的代码。
为什么ms会发明msil这种语言,我想也是一种封装吧,让程序员不用去关心底层的实现。比如垮linux的时候,只要clr能够在linux上跑,那么构建在clr之上的应用都可以在linux上跑。
托管的C#代码都运行在CLR之上。而CLR是运行在Windows(先不说Linux上的CLR)操作系统之上的。因此只能是目标操作系统而不是目标机器。
你的第二个问题,
支持.Net Framwork的语言”这个说法
不会报错。.Net Framwork的类库,就是为所有运行在.NET Framwork下的语言服务的。
。Net是支持多语言的。任何满足cls(common language specific)规范的语言都可以运行在.NET Framework之上。(你可以开发一门新的语言,让你的语言满足cls,就可以运行在.NET Framwork之上,当然这个难度!,也只有YY一下了,:)
wuyq11
2009-01-03
打赏
举报
回复
http://www.cnblogs.com/guojingyang/archive/2008/12/09/1350788.html
hubofly
2009-01-03
打赏
举报
回复
“为了执行C#代码,必须把它们转换为目标操作系统能够理解的语言,即本机代码”也就是IL
也就是 转换成.NetFrameWrok可识别的中间语言 然后由.NetFrameWrok来解释执行
wonsoft
2009-01-03
打赏
举报
回复
1、为了执行C#代码,必须把它们转换为目标操作系统能够理解的语言,即本机代码(机器码)。C#源程序编译成中间语言(即IL),然后由.Net 虚拟机解释机器语言,交给操作系统执行。
2、应该说是“转换成目标机器能够理解的语言”吧,因为本机代码应该是针对机器而言的吧,怎么可能是针对操作系统而言的呢?
没有操作系统的计算机是裸机,只有具有了操作系统,计算机才成其为计算机。而不同操作系统,它们的编码形式也不一样。所以这句话应当没有错。
3、还有一个问题就是“支持.Net Framwork的语言”这个说法,意思是说 在用此语言编程中使用.Net Framwork中的一个类时,编译器不会报错吗?。
这种语言就是中间语言。只要你正确引用一个.net中的类的话,编译器配置好了,就不会出错的。
C#
反
编译
NET_IL命令查询器
C#
反
编译
NET_IL命令查询器
C#
反
编译
NET_IL命令查询器
用
C#
做学习型人脸识别
程序
(尝鲜版)
用
C#
做学习型人脸识别
程序
(尝鲜版)DEMO和源码
反
编译
工具Reflactor
反
编译
工具Reflactor 支持四种语言:IL,VB.net,
C#
,Delphi,不知道用混淆器后会是什么结果 (polaris说明:我把我用写的
C#
程序
用这个软件打开,汗,居然全部反
编译
过来了,都不带走样的!太夸张了!看来DotNet写的
程序
必须打包加密外加混淆,能怎么加密就怎么加密了!) 转载请注明来源:
(源码)百分百仿360安全卫士界面和仿360新版特性窗口源码.rar
完全模仿360安全卫士新版特性源码,
编译
环境:本示例
程序
使用VS2005编写,在VC6,VC2003,VC2008,VC2010中进行少量修改即可直接使用,有
问题
请联系11259500@qq.com。另外包含完全模仿360安全卫士的界面,可换肤,可缩放。其中包括360配置界面,360换肤界面360自定义滚动条,360托盘菜单,360新版特性界面等。可以兼容360安全卫士皮肤文件,使用VC开发,未使用除GDI+,MFC以外其它第三方界面库。
C#
程序
编译
时自动更新版本号
C#
程序
编译
时自动更新版本号
编译
时自动更新版本号
C#
程序
编译
时自动更新版本号1.基本原理概述2.使用
程序
处理AssemblyInfo.cs文件3.配置VS
编译
时命令 1.基本原理概述 使用
程序
改写AssemblyInfo.cs文件中的如下内容: [assembly: AssemblyVersion(“1.0.0.0”)] [assembly: AssemblyFileVersion(“1.0.0.0”)] 配置VS
编译
时命令,使其每次
编译
时执行指定内容 2.使用
程序
处理AssemblyInfo
C#
111,131
社区成员
642,542
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章