免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 30013 | 回复: 75
打印 上一主题 下一主题

[C] 为什么C语言接近硬件? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-02-15 07:26 |只看该作者 |倒序浏览
我google了一下,有的说是因为C语言可以进行位运算,不过据我所知,连JAVA都可以进行位运算啊
有的说是C语言有指针〔地址〕,但是还是觉得很迷惑,C语言里没有in和out指令,
跪求高人指点,或者用几条语句演示一下

论坛徽章:
0
2 [报告]
发表于 2010-02-15 07:28 |只看该作者
比如C语言怎么设定8259A?

论坛徽章:
0
3 [报告]
发表于 2010-02-15 07:59 |只看该作者
区区几条语句演示不了。光是计算机语言的设计就可以写一套书。
C语言最初作为汇编的替代品用来编写操作系统,那么它既需要接近硬件,又应该进行一定的抽象,所以是汇编和更高级语言的折中。

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
4 [报告]
发表于 2010-02-15 09:09 |只看该作者
很多时候就是人云亦云,真正的原因倒是不怎么重要了。

论坛徽章:
0
5 [报告]
发表于 2010-02-15 09:24 |只看该作者
C语言没那些抽象的概念和特性,C语言的语法和规定和汇编语言非常相似,而汇编语言绝大部分和机器语言是一一对应的。

哥们学过汇编没?学过计算机系统结构、接口技术、电子电路没? 不用学得很好,只要学过就能知道为什么C被称作中级语言了。

比如C语言怎么设定8259A?
===========

int const * paddr = 0x8259A;
int value = *paddr;
*paddr += 1;
...

论坛徽章:
0
6 [报告]
发表于 2010-02-15 09:24 |只看该作者
C可以内嵌ASM,Java可以么?
C可以生成binary,Java那种废柴离开了JVM还能跑么?
要说C++我就忍了,有事儿没事儿非拿Java那种废柴脚本说事儿。
-----------现实中----------
C可以写内核/驱动,Java可以么?
C++可以写内核/驱动,Java可以么?
ASM可以写内核/驱动,Java可以么?
--------------------------理论上------------------------
Fortran可以写OS。Java可以么?别拿那两个Java的tony OS出来了,驱动还是靠C++解决的。进一步证明了Java这种脚本是无能的。
==========================
结论,Java就是一种脚本,根本就很有限制的仅仅一点的用途

论坛徽章:
0
7 [报告]
发表于 2010-02-15 10:22 |只看该作者
C语言没那些抽象的概念和特性,C语言的语法和规定和汇编语言非常相似,而汇编语言绝大部分和机器语言是一一 ...
unistd 发表于 2010-02-15 09:24



老大,我说的8259A是中断控制器啊

论坛徽章:
0
8 [报告]
发表于 2010-02-15 10:28 |只看该作者
我的意思是,能进行位运算的语言很多,能嵌入汇编的语言也很多,
但是为什么我们只强调C语言容易操作硬件呢,是因为C语言有指针吗?
但是,这是如何体现的呢?比如怎么用C读写或设定接口?比如中断控制器8259A?
下个学期上微机原理课,看了书,上面只有汇编,对C的这个特性还是很茫然

论坛徽章:
0
9 [报告]
发表于 2010-02-15 10:33 |只看该作者
回复 6# prolj


    Java虽然吹得太过了,但也算有其市场吧,看被你扁的,就是一“坨”了

论坛徽章:
0
10 [报告]
发表于 2010-02-15 10:37 |只看该作者
把思想品质摆正了,就会明白了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP