这个用C怎么写

[复制链接]
 楼主| lizye 发表于 2017-6-18 23:18 | 显示全部楼层 |阅读模式

void (*reset)(void)=0x00000000;
假入我现在想把reset();放在从0x00000400处开始的位置,请问用C怎么写???

编译环境是GCC+studio
shimx 发表于 2017-6-18 23:33 | 显示全部楼层

汇编格式 指明一下代码的位置。
C就不用指明位置了,编译器自动处理。所以说C方便嘛
 楼主| lizye 发表于 2017-6-18 23:34 | 显示全部楼层
楼上没明白我的意思啊
jiahy 发表于 2017-6-18 23:36 | 显示全部楼层

难道你是想在400H的位置调用reset程序
这要绝对定位了
用汇编比较好,C的话没有标准方法,取决于编译器
shimx 发表于 2017-6-18 23:37 | 显示全部楼层

这个不好说了啊
 楼主| lizye 发表于 2017-6-18 23:39 | 显示全部楼层
该款 PGA450-Q1利用高度可配置的突发信号生成器(burst generator)、低噪声放大器以及 12 位逐次逼近寄存器 (SAR) 模数转换器 (ADC) 处理回声信号,计算传感器与对象之间的距离。
shimx 发表于 2017-6-18 23:41 | 显示全部楼层
这个你得研究一下编译器的手册,不然直接用汇编操作吧
jiaxw 发表于 2017-6-18 23:45 | 显示全部楼层

void (*reset)(void)=0x00000400;
这样不可以吗?
 楼主| lizye 发表于 2017-6-18 23:46 | 显示全部楼层

我是要把reset();存放在0x00000400开始的地址

不是运行reset();就让PC指向0x00000400
shimx 发表于 2017-6-18 23:48 | 显示全部楼层
在链接的时候指定吧
spark周 发表于 2017-6-18 23:49 | 显示全部楼层
这个用法在C标准里面是未定义的,就是说取决于编译器与硬件。
shimx 发表于 2017-6-18 23:50 | 显示全部楼层

楼主这个问题这么些人都答不上来 那么说明你这个问题可能本身没啥意义 可能是走上歧途了 方法有问题 思路有问题
连我这个C语言高人(据说现在大部分人不敢说自己精通C语言,但是本人不仅仅是精通C,而是极其精通C语言) 都没看明白

建议换个方法........
 楼主| lizye 发表于 2017-6-18 23:52 | 显示全部楼层

还有吗
wyjie 发表于 2017-6-18 23:53 | 显示全部楼层


高人:有一段代码,我就是想把这段代码从指定地址开始存放
就这样
zhenykun 发表于 2017-6-18 23:53 | 显示全部楼层
用汇编的话感觉比较容易实现
 楼主| lizye 发表于 2017-6-18 23:54 | 显示全部楼层
其实还是不大明白,我再琢磨琢磨吧,多谢了哈,结贴了先
Varus 发表于 2017-6-20 16:44 | 显示全部楼层
取决于编译器与硬件
kkzz 发表于 2017-6-21 22:18 | 显示全部楼层
指针执行初始化的位置。
hudi008 发表于 2017-6-21 22:19 | 显示全部楼层
进行了软复位?
lzmm 发表于 2017-6-21 22:22 | 显示全部楼层
void (*reset)(void)=0x00000000; 不是修改这个地址吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

852

主题

9757

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部

852

主题

9757

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部