江湖救急,“C#”可以“跨平台”的疑问,Why???

sswp7 2013-05-08 09:27:46
加精
1、“C#”为什么可以实现“跨平台”???



2、不是用“C#”就必须要有“.NetFrameWork”的吗?


3、而且“IOS”与“Android”下是安装不了“.NetFrawork”的,为什么用“C#”开发的应用程序可以运行在它们上面呢?


4、“C#”的执行效率比“Javascript”高,“Javascript”跨平台可以理解,但“C#”是需要“运行时”的啊?


5、“Mono编译器“到底做了什么? 不需要”Runtime“就可以运行”C#“应用了???
...全文
3311 65 打赏 收藏 转发到动态 举报
写回复
用AI写文章
65 条回复
切换为时间正序
请发表友善的回复…
发表回复
why123qaz 2015-04-27
  • 打赏
  • 举报
回复
学习了。。。
jojoova 2013-11-25
  • 打赏
  • 举报
回复
Blinkseed 2013-11-24
  • 打赏
  • 举报
回复
受教了
kxyzjm62 2013-11-24
  • 打赏
  • 举报
回复
mrsupersky 2013-11-24
  • 打赏
  • 举报
回复
至于一次编译到处运行,楼主别当真,除了js类似的脚本语言以外,静态语言中那几乎只是个传说,当然不排除以后真的可能。
mrsupersky 2013-11-24
  • 打赏
  • 举报
回复
mono 已经实现 可以在Linux Android IOS上运行C#开发的程序。 感谢mono。为C#跨平台作出了巨大的贡献!!!
哪里东方神 2013-11-22
  • 打赏
  • 举报
回复
不会啊 不知道啊
老许要老婆么 2013-11-22
  • 打赏
  • 举报
回复
我就想知道JAVA既然可以使用JVM 来跨平台,那么.NET使用MONO 来跨平台有什么问题? 就是因为MONO没受到微软的支持? 不管怎么样 只要MONO 没被微软搞死 那么.net就可以完整在在linux下运行。 JAVA也不是专门为Linux而生的
skevil 2013-11-22
  • 打赏
  • 举报
回复
好多大神啊
l4kangaxx 2013-11-22
  • 打赏
  • 举报
回复
web应用应该可以跨平台。
卧_槽 2013-11-21
  • 打赏
  • 举报
回复
真正跨平台的语言是木有滴。一次编译随处运行时需要N多前提条件滴。 倒是如果有一种语言,可以做到一次编写,随处编译那倒是牛逼得狠了。
卧_槽 2013-11-21
  • 打赏
  • 举报
回复
引用 41 楼 sswwee 的回复:
.net就应该是windows下的东西,强行跨平台也是勉强没幸福。想必也没人会绕几个弯在linux下用mono运行asp.net服务去
C#+MySQL做的东西直接部署到Linux服务器上,很舒服。
oreoconansisu 2013-11-21
  • 打赏
  • 举报
回复
引用 35 楼 boy8199 的回复:
不是程序 跨平台 是 运行环境 使然 XX电器 + 变压器A + 美国110v电压 XX电器 + 变压器B + 中国220v电压 =================================== xx电器 -> “跨平台”的程序 变压器 -> 运行环境 国家电压 -> 操作系统 ======================= 另一个比喻 网页 浏览器 操作系统 没有 浏览器这个 中介 网页怎么跨平台 呈现???
江南小鱼 2013-11-20
  • 打赏
  • 举报
回复
引用 21 楼 sp1234 的回复:
我们看一个平台能不能“跨平台”,其实就是看整个类库体系能不能跨平台。而不是看编程语言语法。 而类库体系,比如说.net的winform相关类库体系调用了大量的windows api,这就无法跨平台,因为在linux系统下实现完全相同的一整套api、基本相同的一整套winform用户体验,就算是5个微软公司加起来现在也做不到。 但是mono很伟大,他们在android下面实现了一定数量的.net framework。但是,但是,你在Android下的真正的核心,整套UI,和整套系统api机制,全都是全新的,在.net framework下没有对应的Android应用程序开发概念。 所以微软中国最近做了个宣传,我觉得比较烦。微软根本就是在Android上比较懒,没有什么拿得出手的对症下药的产品来,却要偷人家Mono的概念,羞不羞啊。
dabao0312 2013-11-20
  • 打赏
  • 举报
回复
delphi xe5可以开发MAX OS ,IOS,ANDROID,WINFORM,WEB
sunbo624 2013-11-20
  • 打赏
  • 举报
回复
看你怎么理解跨平台了 如果是跨平台编译 那不可能 一般说跨平台指的是跨平台运行 Javaer们吹嘘的“一次编写 到处运行”其实非常可笑 事实上是“一次编写 到处调试”
sswwee 2013-11-19
  • 打赏
  • 举报
回复
.net就应该是windows下的东西,强行跨平台也是勉强没幸福。想必也没人会绕几个弯在linux下用mono运行asp.net服务去
E次奥 2013-11-19
  • 打赏
  • 举报
回复
学习了!
  • 打赏
  • 举报
回复
引用 20 楼 sp1234 的回复:
实际上所以说一个编程语言“跨平台”这是严重的错误的。 可以说.net framework或者java JVM跨平台。 哪有说一个编程语言语法“跨平台”的?
是啊 只要懂编译原理 词法分析 写得出编译器解释器啥的。。想怎么跨怎么跨- -
xy3212158 2013-11-19
  • 打赏
  • 举报
回复
引用 3 楼 starfd 的回复:
3、Unity3D 开发语言 C#或者javascript 就是不支持object-c和java
MS妹纸,辛多雷金杖....
加载更多回复(36)

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧