找回密码
 立即注册
搜索
查看: 335|回复: 14

使用JAVA和C#的朋友进来看看,有什么意见么?

[复制链接]

82

主题

540

回帖

820

积分

金牌会员

新高致病性H5N1亚型病毒

积分
820
发表于 2004-9-9 18:39:50 | 显示全部楼层 |阅读模式
这是我和xug同学在讨论他用“Delphi开发winxp一样功能的操作系统”这个问题中,引出的一个新问题。

所以分贴出来让大家,帮忙看一下。
下面两种语言通过“他所谓的几种java编译器”编译以后是否可以脱离 运行时来运行。

最初由 xug 发布
[B]C#这样的语言不仅建立在OS之上并且建立在。net框架之上。谁说C#必须在。net框架下运行。[/COLOR] 因该这样说才对,如果C#语言被编译成JL代码,那么他必须在。net环境下才能被。net虚拟机解释执行。如果,被直接编译成EXE文件,可以直接运行。java也是,便已成。java代码只能在java虚拟机下才能运行,编译成exe文件,在windows等系统下直接运行。这就是java可以编写OS的原因。以前,你觉得他们不能编写OS,就是觉得他们必须在虚拟机下运行吧。不是的,java的编译器大概听说过见过的就有4/5种,有的直接支持编译成可执行文件。C#也是,也可以直接生成可执行文件,而不是中间代码。具体生成什么,完全看编译器如何了[/COLOR] 。 [/B]


通过你这番话,那我只能很肯定地说。你没有用C#写过软件。
也并不了解JAVA,和他的exe文件

C#编译的程序可以是exe,但是它依赖的.net运行库..net框架没有安装的情况下C#编写的程序是不能运行的。
这和VB.net一样,都是不能脱离.net环境的
vc.net可以有两种形式,一种是依赖.net环境的另一种是不依赖.net的MFC程序。

这个开发环境中只有vc.net具有脱离.net框架运行的能力(C#和vb.net不可以)

希望你看一些这方面的资料还有到微软去查阅,CSDN区提问,自己实践。
————————————————————————————————

你认为java被一些程序改成exe就可以脱离jre运行么?
你说的那么多种“java编译器”??

我想这里面的java爱好者都不会同意你这种谬论。

1,JAVA的字节码程序都是通过jdk编译的。所有的java开发工具都只是一切功能强大的外壳。
2,任何JAVA程序都依赖本环境下的JRE来运行,不可以脱离jre。
那些改写成exe的软件,希望你自己多研究一下

举一个简单的例子

EJ.Technologies 的 exe4j,是目前使用最多的一个,它提供三种平台版本
for Win,MAC,Linux

只有win下生成的是exe,其他环境下也都是他们系统内的可执行程序的格式

目的是方便运行。不用再使用cmd去运行

但是他们依然要使用jre来运行,exe起到一个引导作用,自动去调用jre来运行字节码程序。


呵呵

82

主题

540

回帖

820

积分

金牌会员

新高致病性H5N1亚型病毒

积分
820
 楼主| 发表于 2004-9-9 18:47:36 | 显示全部楼层
xug同学可能不知道这些被改成exe的java程序,还是可以在其他平台使用的。
一些keygen.exe

都可以java keygen.exe来执行。呵呵

——————————————————————————
原来你这样的错误理解,才造成你错误的认为,delphi编写的程序可以在没有系统的情况下运行(可以开发操作系统)。希望你看了这些之后,能够纠正你那个错误。
回复

使用道具 举报

62

主题

864

回帖

1296

积分

金牌会员

积分
1296
发表于 2004-9-9 22:08:57 | 显示全部楼层
java 是需要环境的,但是java当然可以作为操作系统的,比如有一个项目叫jnode,就是一个java os,
其实所有的软件都需要环境的,只不过是方式不同罢了,比如vb也需要运行库。

java OS: http://jnode.sourceforge.net/portal/
回复

使用道具 举报

82

主题

540

回帖

820

积分

金牌会员

新高致病性H5N1亚型病毒

积分
820
 楼主| 发表于 2004-9-9 23:04:43 | 显示全部楼层
是的!java不能脱离jre
C#也不能脱离.net


他说用delphi开发windowsXp一样的操作系统。
你觉得可行么?

一些手机都在使用java操作系统,呵呵.

他认为java写操作系统,是(由于java编译后可以改成exe类型文件,所以可以编写操作系统脱离jre)
这种说法你肯定不会赞同吧。

jnode 他也提到了.但是和xp这样的操作系统来说,并不是一个层上的。
java系统要在一个环境下装有jre来运行。
回复

使用道具 举报

340

主题

3478

回帖

5028

积分

网站编辑

积分
5028
发表于 2004-9-10 00:59:13 | 显示全部楼层
C#从语法角度看是对C++的简化,作为一种语言,能编译成什么样的最终结果,完全取决于编译器。假如说目前没有把C#编译成真正的winpe程序的编译器,学过编译原理的人都知道,很多搞编程语言开发的公司都可以开发出这种编译器。

就像borland的delphi编译器,目前已经支持将delphi源程序编译成winpe,linux,.net三种形式,这是针对一种语言而言。

富士通公司在8月份推出的 Visual Cobol语言,支持众多平台,unix,linux,windows,FreeBDSD等,可以将同样源代码编译成不同平台下的执行程序。而且,也可以编译成。net下的JL程序。

只要编译器支持生成原生代码,就可以用来开发系统。


其实,楼主的意思是这样的,你认为不可能作出这样的编译器,直接将java/C#编译成原生代码,而不生成相应的字节代码。其实,抛开JAVA/C#的本意,你想一想,他们不就是一种编程语言吗?只不过编译成本机代码后就失去在任何平台下运行的自由性。

如果你深入了解一下.net的运作机理就知道了。所有的.net JL代码,在到达本机运行之前,都要被进一步编译成本机代码,然后才运行,以获得更好的运行效率。这是.net比纯粹解释执行的JAVA环境优越的地方。但是SUN也不是吃干饭的,接下来JAVA也要采取这种机制。

没有那种语言是特殊的,能在家平台下被编译,而在乙平台下不可能。
编译器,也就是一种工具,将源代码翻译成另外一种形式而已,这种形式可以是win32的,也可能是unix的,还可能是macos。

高级语言,也就是一个用来记录开发者思想的形式工具罢了。只有形式上的区别。至于最终生成那种形式的代码,仅仅取决于人们的需要。

人们能开发出C++编译器,生成本机代码,难道从C++简化过来的C#的本机代码编译器反而做不出来,是不可思议的。关键有没有人愿意这样做。而不是一个能不能的问题。
回复

使用道具 举报

82

主题

540

回帖

820

积分

金牌会员

新高致病性H5N1亚型病毒

积分
820
 楼主| 发表于 2004-9-10 01:17:40 | 显示全部楼层
最初由 xug 发布
[B]C#从语法角度看是对C++的简化,作为一种语言,能编译成什么样的最终结果,完全取决于编译器。假如说目前没有把C#编译成真正的winpe程序的编译器,学过编译原理的人都知道,很多搞编程语言开发的公司都可以开发出这种编译器。

就像borland的delphi编译器,目前已经支持将delphi源程序编译成winpe,linux,.net三种形式,这是针对一种语言而言。

富士通公司在8月份推出的 Visual Cobol语言,支持众多平台,unix,linux,windows,FreeBDSD等,可以将同样源代码编译成不同平台下的执行程序。而且,也可以编译成。net下的JL程序。

只要编译器支持生成原生代码,就可以用来开发系统。


其实,楼主的意思是这样的,你认为不可能作出这样的编译器,直接将java/C#编译成原生代码,而不生成相应的字节代码。其实,抛开JAVA/C#的本意,你想一想,他们不就是一种编程语言吗?只不过编译成本机代码后就失去在任何平台下运行的自由性。

如果你深入了解一下.net的运作机理就知道了。所有的.net JL代码,在到达本机运行之前,都要被进一步编译成本机代码,然后才运行,以获得更好的运行效率。这是.net比纯粹解释执行的JAVA环境优越的地方。但是SUN也不是吃干饭的,接下来JAVA也要采取这种机制。

没有那种语言是特殊的,能在家平台下被编译,而在乙平台下不可能。
编译器,也就是一种工具,将源代码翻译成另外一种形式而已,这种形式可以是win32的,也可能是unix的,还可能是macos。

高级语言,也就是一个用来记录开发者思想的形式工具罢了。只有形式上的区别。至于最终生成那种形式的代码,仅仅取决于人们的需要。

人们能开发出C++编译器,生成本机代码,难道从C++简化过来的C#的本机代码编译器反而做不出来,是不可思议的。关键有没有人愿意这样做。而不是一个能不能的问题。 [/B]





你快休息去吧!!你连SUN下一步的计划都想好了!!你可以休息拉。
JAVA不需要jre
C#不需要.net
去吧,你快去用吧。

我不用仔细想一想,他们也都是语言。

现实就是现实,你说的都是你说的。不一样

在你没有认清事实的情况下。不在河泥浪费时间了!!!

那个帖子已经证明了你的狡辩能力!
回复

使用道具 举报

82

主题

540

回帖

820

积分

金牌会员

新高致病性H5N1亚型病毒

积分
820
 楼主| 发表于 2004-9-10 01:18:19 | 显示全部楼层
你怎么就不能面对现实呢?

那个帖子跟你说了两个星期了吧。浪费这么多时间,最后你用汇编写点程序了解拉??你太牛拉!!自己口口声声说不是OS只能用C和ASM
其他的也一样能写

你最后还不是用asm写,令浪费时间浪费生命跟你,最后还变相说你成功?

看谁有时间把那个帖子都看完了再说吧。就都明白了
回复

使用道具 举报

340

主题

3478

回帖

5028

积分

网站编辑

积分
5028
发表于 2004-9-10 01:23:13 | 显示全部楼层
你去看看delphi的语法书,不要自己不知道,就大喊奇怪。
这下知道了delphi为什么可以重写windows的原因了,应当高兴才对。

要不就给borland写封建议信,下一版不要把asm语句作为delphi的标准语句,从语法中将他们去掉。
回复

使用道具 举报

340

主题

3478

回帖

5028

积分

网站编辑

积分
5028
发表于 2004-9-10 01:28:37 | 显示全部楼层
delphi支持部分asm语句的直接使用,我用这种原本就存在的正常语法机制,何错之有?
你要是在这之前不知道,那么就承认,不知道delphi有此功能。那么有那些不准确的观点就无所谓啦。

正是因为delphi具有这种能力,所以,我才敢说他可以用来开发任何C/++语言编写的程序.
回复

使用道具 举报

82

主题

540

回帖

820

积分

金牌会员

新高致病性H5N1亚型病毒

积分
820
 楼主| 发表于 2004-9-10 01:31:39 | 显示全部楼层
不知道可以只使用asm来编写程序,只知道可以内嵌!
并且使用控制台方式编译。

pfpf

确实delphi可以开发任何C/C++的任务
原因是使用得就是ASM本身。没有涉及到开发工具。
而使用tasm的编译器
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|海浩社区

GMT+8, 2025-9-20 04:07 , Processed in 0.089734 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表