嵌入式C语言和通用C语言有什么区别?

范小川   2010-11-26 15:09 楼主

 求教育。

 

 

[ 本帖最后由 范小川 于 2010-11-26 16:35 编辑 ]

回复评论 (14)

是啊,我也迷惑呢
点赞  2010-11-26 17:01
语法上没什么区别
嵌入式加了一些端口和寄存器的定义以及一些函数以供用户直接调用
点赞  2010-11-26 18:53

引用: 原帖由 hxm0070 于 2010-11-26 18:53 发表 语法上没什么区别嵌入式加了一些端口和寄存器的定义以及一些函数以供用户直接调用

嗯。

还有没有人来补充一下?

 

普通的C也有端口操作,可以直接操作并口或者PCI口地址等的

 

[ 本帖最后由 jxb01033016 于 2010-11-27 18:47 编辑 ]
点赞  2010-11-27 15:30

白虎白虎

通用C相对于嵌入式C来说就是基础C了,汇让你少走很多弯路 
学无止境
点赞  2010-11-27 16:48
嵌入式是系统定制的,有特定的编程开发环境,会提供一些机制和系统服务,比如消息,油箱等,比如API接口,多线程等,各有秋千,但在语法支持上和普通C语言保持一致。而程序员的责任,就是去思考如何使用这些机制,也就是策虐,嵌入式C的最大特点就是和使用的具体操作系统密切相关。

[ 本帖最后由 jxb01033016 于 2010-11-27 18:45 编辑 ]
点赞  2010-11-27 18:43
通用C可以调用标准库,但是嵌入式C要reload才能用!~
QQ:1625345502
点赞  2010-11-27 19:26

嵌入C是C语言的一个子集

虽然这么说,但技巧要比普通C,难些。。
http://shop34182318.taobao.com/ https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
点赞  2010-11-28 08:32
嵌入式C包括的比通用的C要多的多!嵌入式要经常和硬件的寄存器打交道,所以类似的/* I/O PORT */
#define rPCONA                (*(volatile unsigned *)0x1d20000)
#define rPDATA                (*(volatile unsigned *)0x1d20004)

#define rPCONB                (*(volatile unsigned *)0x1d20008)
#define rPDATB                (*(volatile unsigned *)0x1d2000c)

#define rPCONC                (*(volatile unsigned *)0x1d20010)
#define rPDATC                (*(volatile unsigned *)0x1d20014)
在普通的C中几乎很难看到这样类似的宏定义,
勇往直前,奋勇拼搏,不畏浮云遮望眼,直挂云帆济沧海
点赞  2010-11-28 14:45
我有点明白了,嵌入式C编程就是将C语言直接交给微处理器进行执行,比如51,430,ARM等单片机之类的。而通用C编程就是再PC机上编好代码之后是交给了操作系统去执行。这样理解对吗??
我还有点疑惑的就是为什么好多地方都提的是“嵌入式LINUX C 编程”(带了个linux),这个又怎么理解呢?大虾们。。
点赞  2010-11-28 17:14

回复 10楼 范小川 的帖子

不是,执行过程一样
都是汇编--编译--执行
只不过最后win下是exe的二进制文件,linux下无特定后缀名,也是二进制文件
嵌入式,如51下是hex的16进制文件
其实作用一样,都是交给处理器运算和处理
嵌入式LINUX C 一般指的是32位的较高端处理器或微处理器
因为有系统的支持才能最大发挥其32位的优势
其实就是linux下的c编程
只不过跟标准GCC不一样的是所使用的库
其本质区别还是一些寄存器、端口和函数的定义
点赞  2010-11-29 13:48
说到底,没有什么区别。嵌入式更需要考虑和硬件的结合。
CPU,字节对齐,字节序,甚至cache一致性等事情。
点赞  2010-12-2 16:53

引用: 原帖由 richiefang 于 2010-12-2 16:53 发表 说到底,没有什么区别。嵌入式更需要考虑和硬件的结合。CPU,字节对齐,字节序,甚至cache一致性等事情。

 

嗯,我有点概念了,多谢

点赞  2010-12-3 14:28
引用: 原帖由 范小川 于 2010-12-3 14:28 发表   嗯,我有点概念了,多谢


嗯,你按内核开发理解嵌入式C语言就好。

点赞  2010-12-4 20:59

回复 10楼 范小川 的帖子

两种理解方式
1 那是在linux下用C语言编程;
2 这人在扯淡,买广告,世界上只有一个C语言,当然有很多定制版。

C语言的分类貌似用标准来分比较好。
强者为尊,弱者,死无葬身之地
点赞  2011-12-13 13:24
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复