• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > C语言中强制地址跳转详解

C语言中强制地址跳转详解

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c语言32关键字详解,c语言链表详解,c语言题库及详解答案,c语言指针详解,c语言关键字详解等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

C语言中强制地址跳转详解

#define jump(TargetAddr )  (*((void(*)())(TargetAddr))()
</div>

第一个(( void( * )(  )) ,意思为强制类型转换为一个无形参,无返回值的函数指针,(*(TargetAddr))为跳转地址,但是函数指针变量不能为常数所以要加((void( * )(  )) 进行强制类型转换。最后一个()为执行的意思。

整一条指定的目的是为了跳转到一个绝对地址执行函数。

1、在单片机中可以实现软件复位,比如跳转到0地址。

2、如果程序是由多个程序合并的,跳转到某一个确定的用户程序地址执行,如果flash空间足够大的话,可以实现当多份不相同的代码合并为一份后,在软件上做逻辑跳转,好处是新程序不必为旧程序做大量的兼容工作,通常旧程序含有大量的前人的编程习惯,比如宏定义

#define ture 0   

 #define  fault    ture  

我真见过这么定义的

3、bootloader跳转,这个不解释 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C语言中强制地址跳转详解
  • C语言 坐标移动详解及实例代码
  • 详解C语言中的字符串拼接(堆与栈)
  • C语言 经典题目螺旋矩阵 实例详解
  • C语言 文件操作解析详解及实例代码
  • C语言 冒泡排序算法详解及实例
  • C语言 动态内存分配的详解及实例
  • C语言 选择排序算法详解及实现代码
  • C语言 格式化读写文件详解
  • C语言自增(++)和自减(--)实例详解

相关文章

  • 2017-05-28基于select、poll、epoll的区别详解
  • 2017-05-28浅谈C++虚重载操作符 virtual operator= 的使用方法
  • 2017-05-28举例讲解C语言对归并排序算法的基础使用
  • 2017-05-28C语言实现去除字符串中空格的简单实例
  • 2017-05-28C 语言常用方法技巧
  • 2017-05-28浅析C语言头文件和库的一些问题
  • 2017-05-28c++制作的时间函数类
  • 2017-05-28详解C++编程中的单目运算符重载与双目运算符重载
  • 2017-05-28深入理解c/c++ 内存对齐
  • 2017-05-28C语言读取文件流的相关函数用法简介

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 深入N皇后问题的两个最高效算法的详解
    • C语言 基本语法示例讲解
    • C语言中的sscanf()函数使用详解
    • C语言中查找字符在字符串中出现的位置的方法
    • C++求四个正整数最大公约数的方法
    • Ubuntu配置sublime text 3的c编译环境的具体步骤
    • 关于STL的erase()陷阱-迭代器失效问题的总结
    • 函数指针与指针函数的学习总结
    • c++制作的时间函数类
    • 关于STL中list容器的一些总结

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有