| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 654 人关注过本帖
标题:关于C语言的疑惑?
只看楼主 加入收藏
飞天的猪
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:67
专家分:141
注 册:2009-9-19
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:7 
关于C语言的疑惑?
现在的编程语言很多,但是都有不同的作用,就拿Java来和C相比,C的功能强大,Java可以跨平台运行,这我就不懂了,编译连接后的不都是两进制的文件吗?为啥会出现效率或平台方面的不同呢?

请高手说说
搜索更多相关主题的帖子: C语言 
2009-09-23 15:15
飞天的猪
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:67
专家分:141
注 册:2009-9-19
收藏
得分:0 
请高手讲讲
2009-09-24 10:09
北西
Rank: 1
来 自:盐城
等 级:新手上路
帖 子:3
专家分:6
注 册:2009-9-24
收藏
得分:3 
这个是语法上的不同,每种语言的语法都不全一样,让计算机做一件事,有的语言可以用很简洁的语句就能完成,而有的可能复杂些,其实最终达到的效果是一样,如果程序不大的话是看不出来的.

http://shop58220540./
2009-09-24 10:28
atom_09
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:92
专家分:141
注 册:2009-8-24
收藏
得分:3 
关于这方面的信息很多的 随便找个网站看看 了解下
2009-09-24 14:32
jig
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
帖 子:530
专家分:242
注 册:2005-12-27
收藏
得分:0 
具体说来不是一句两句可以说的清楚的。要你自己本身对语言有个比较深入的本质了解,才能真正理解这些。

Java跨平台。恩,是夸平台。可其实 ---- Java 自己本身就是个平台何来夸平台?

Java程序都是需要自己的一个运行环境来做到夸平台。我想完全可以把它看做是个虚拟机。在任何硬件环境下都有对应的java虚拟机,结果Java程序做到了夸平台。那么运行在一个虚拟机上的代码,你说他效率是不是要比原生EXE程序打折扣啊?

其实.net托管代码,也一个意思。只是推广的没那么广,还有由于商业的原因,只在WIN平台做。

个人网站 -  http://.h001.
2009-09-24 23:52
jig
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
帖 子:530
专家分:242
注 册:2005-12-27
收藏
得分:10 
再说说C语言效率的问题

大家都知道C语言效率高,其实我的理解是,他真有那么高吗?呵呵

他再高也高不过汇编吧。其实真要理解效率问题,一定要还原到编译器角度来看待才能真的理解。
如果LZ以后有机会,可以研究一下C语言编译器,试着实现一下各种C语法到汇编的转换你就明白了。

C的高效率是要付出巨大工作的,对应每个不同的硬件平台都是要对对应的C编译器做具体优化。而且比如,有的平台其实不支持浮点运算,但在语法上却要保证无误。如:8051系列的单片机。

当在这样的平台你使用浮点时,要么编译器不理会直接按整型处理,要么编译器用“软方法”实现浮点算法。在这个实现过程中,其实转化成N句汇编语句,那你的效率,就真不好说了。呵呵

再来看看C++,大家都知道他好用,但也知道他的效率一般来说不如C。

特别是你用到C++的诸多高级特性的时候,编译出来的代码,肯定要比C多的多了。他的效率也自然下来了。
那是不是一定呢?

不一定呢,对于一个特定的功能,有人就是能用C++写出高效的代码。但相信我,如果是在做一些比较低层的事情,这样做没什么很大的意义,还不如用C。
C++的出现就是为了方便人类理解和规划程序,然后编译器根据C++的语法规则去解释成汇编。这是典型的用时间和空间换取易用性的做法。

[ 本帖最后由 jig 于 2009-9-25 00:18 编辑 ]

个人网站 -  http://.h001.
2009-09-25 00:16
jig
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
帖 子:530
专家分:242
注 册:2005-12-27
收藏
得分:0 
其实关于语言的问题,还有很多很多可以值得讨论的东西。我觉得语言的发展,最终会向我们人类自然语言发展。

并且是将CPU的传统数值流水线指令模式彻底打破,换以以人类的自然语言体系逻来重新构建计算机的硬件,使CPU成为真正的智能芯片。

而这方面其实我们的汉语是独语优势的。呵呵,说起来像是科幻小说了,哈哈哈。

我说的并不是说像类似易语言的汉语编程,说实在用那样汉语编程,创建跑在目前的数理逻辑的计算机上,我觉得意义不大。必须要在硬件的构建上完全依据汉语系统来

但这个抽象过程估计就够呛,也许以后能得到突破。恐怕这也是每个中国IT人的梦想吧。

[ 本帖最后由 jig 于 2009-9-25 00:31 编辑 ]

个人网站 -  http://.h001.
2009-09-25 00:27
cococ
Rank: 1
等 级:新手上路
帖 子:5
专家分:4
注 册:2009-9-25
收藏
得分:4 
这个不是很懂呢,如果按照我个人的看法,就是WINDOWS版本不同,那内存参数,宽度等等一些会不一样,所以总是先判断平台再具体引用一些参数和函数,有些API功能在不同的版本要调用不同的函数呢,现在一些编译环境在低版本的WINDOWS里好象是不能用的,初学,就知道这么多,都是书上看的,一般要注意系统位数,函数环境说明就可以了!
2009-09-25 10:49
快速回复:关于C语言的疑惑?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017369 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved