如何指定c语言变量的位置

2020-01-24 12:00发布

我想定义一个char变量,如何把这个变量的地址指定在0x10?我用的是keil,c语言。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
26条回答
laujc
1楼-- · 2020-01-26 03:50
勤劳的小码农 发表于 2014-4-1 12:44
错误:mian.c(198): error C141: syntax error near '@'
我是想控制c语言中变量分配的地址,在嵌入的汇编 ...

QQ图片20140401130404.jpg (129.49 KB, 下载次数: 0)

下载附件

2014-4-1 13:04 上传



可以使用图中的定义方法,是可以编译通过的
qllaoda1
2楼-- · 2020-01-26 09:01
yuyu87 发表于 2014-4-1 12:54
用处太多了,比如这个变量是映射的外部存储器或者RAM等,

寄存器不适合做变量使用,可以用XBYTE直接访问寄存器。
外部RAM,可以在工程属性里直接设置外部RAM的范围,也不需要在C语言源码里直接做定位。

C51里绝对定义可以用 _at_,例如 unsigned char a  _at_(0x100); 不过一般情况下确实不需要这么用,只在特殊场合下可能会用到,例如两段不同的程序做通讯用,像bootloader和主程序之间。
勤劳的小码农
3楼-- · 2020-01-26 11:50
 精彩回答 2  元偷偷看……
勤劳的小码农
4楼-- · 2020-01-26 12:18
laujc 发表于 2014-4-1 13:05
可以使用图中的定义方法,是可以编译通过的

错误.jpg (193.01 KB, 下载次数: 0)

下载附件

2014-4-1 13:20 上传

勤劳的小码农
5楼-- · 2020-01-26 18:13
qllaoda1 发表于 2014-4-1 13:06
寄存器不适合做变量使用,可以用XBYTE直接访问寄存器。
外部RAM,可以在工程属性里直接设置外部RAM的范围 ...

你的和19楼一样的错误。有其他的办法解决吗
qllaoda1
6楼-- · 2020-01-26 19:52
勤劳的小码农 发表于 2014-4-1 13:21
你的和19楼一样的错误。有其他的办法解决吗

贴出你的代码

一周热门 更多>