如何从指定地址开始执行?

mengjfu 2009-05-18 09:18:55
请教
如何从指定地址开始执行,下面0x0001为地址,
char *p = 0x0000 能用c语言实现吗?
...全文
197 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dhc_fy 2009-05-20
  • 打赏
  • 举报
回复
( (void (*)(void) )0x0001)()

(void (*)(void): 函数指针类型

(void (*)(void) )0x0001 将某个地址强制转换为函数指针

( (void (*)(void) )0x0001)() 产生函数调用


不知道是不是你要的结果。
mengjfu 2009-05-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dhc_fy 的回复:]
强制转换成函数指针调用。
((void (*)(void))0x0001)()
[/Quote]


能详细一点吗?谢谢1
dhc_fy 2009-05-18
  • 打赏
  • 举报
回复
强制转换成函数指针调用。
((void (*)(void))0x0001)()
kevin0716 2009-05-18
  • 打赏
  • 举报
回复
直接赋值是不行的
它会给你提示错误 不能直接将const int赋给char*
方法:
char *p=(char*)0x001;就可以了
shexinwei 2009-05-18
  • 打赏
  • 举报
回复
不能,C语言里面数据段的地址,代码段地址,堆栈段地址都是编译器确定的
你这种做法只能用于汇编,此时各种段地址都是你自己确定的;
FCARM 2009-05-18
  • 打赏
  • 举报
回复
单片机就可以,把值赋给PC就得了

70,024

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧