`
eric_weitm
  • 浏览: 242695 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

发散式的函数调用组织形式------从apache的挂钩机制中得到的启示

阅读更多

apache利用挂钩(hook)来实现系统的灵活性和可扩展性,内部是使用函数指针来实现的,其实现方式与我前面写的某网游服务端的注册回调机制是一样的。这种结构打破了传统的函数调用的执行流程,任一个步骤都可以进行扩展,而且每个模块还可以保持自己内部的层次化和模块化。

c来模拟C++多态的实现?
程序最终都是以机器码运行的,汇编是机器码的符号映射,所以汇编语言的描述能力和高级语言是一样的,所以C语言的描述能力和C++是一样的,即用C++能解决的问题用C肯定可以实现,当然其实现的难度是不一样的。这样的话,C++里面的虚函数如何用C来模拟呢?虚函数实现了C++的多态性,即实现了动态绑定,其实C也可以实现。基本的思路是:原本C程序中是函数调用函数(本质是汇编的jmp 和ret),这里假设是A调用B,现在将被调用的函数B不指定为具体的地址,而是在别处注册,这样A中调用B时实际执行的指令是在别处指定的,这个被指定的B的地址就是B的真正实现的地方。在C语言中,这种机制可以用函数指针来实现。


c怎么实现基于消息的异步的编程?
定义一些事件,在某个事件发生时执行一些操作,这是典型的基于消息的编程模式,windows中的程序都是这样实现的,所以windows编程中都会涉及消息队列、控件句柄、回调函数等概念。windows中的Dialog的消息映射机制在C中如何实现呢?实际上很简单,还是利用函数指针。在每个控件上设一个map,map的key是事件,map的value就是这个事件发生时所作的事情。在相应函数内部维护一个数组,里面的每一项都是对这个事件感兴趣的处理单元(某处的回调函数),这样某个事情发生时(如鼠标左键按下)就找到相应事件的总入口,进入入口后分别调用相应的处理模块就可以了。由于是采用数组,别处可以很方便的注册自己,(只要将相应的函数指针添加进数组就可以了),模块注册的过程实际上就是相应功能组装的过程。

 

分享到:
评论

相关推荐

    通达信指标公式源码 傻买傻卖公式-----极品MACD(无未来函数)-----让你如虎添翼!.doc

    MACD,全称移动平均收敛/发散,是股票分析中常用的技术指标之一,用于判断股票的趋势变化和买卖点。极品MACD在此基础上进行了优化,去除了未来函数,确保了信号的实时性,避免了因滞后性带来的误导。 源码中涉及的...

    复变函数积变试题A17-18-1.doc

    9. **调和函数与共轭调和函数**:调和函数是指满足拉普拉斯方程的函数,它的共轭调和函数是通过共轭复数操作得到的另一个调和函数,使得两者组合后的函数是解析的。 10. **积分计算**:题目中包含了对圆周或其他...

    VC++2015编译TA-Lib-Core.dll C#调用带macd调试程序

    在本文中,我们将深入探讨如何使用VC++2015编译TA-Lib-Core.dll库,并在C#项目中调用其MACD(移动平均收敛/发散)函数进行调试。TA-Lib(Technical Analysis Library)是一个广泛使用的金融技术指标库,提供了多种...

    Unity粒子特效系列-霸气发散防护罩-小白自学-高质量附效果.zip

    Unity是一款强大的跨平台游戏开发引擎,被广泛应用于各种游戏、模拟和交互式体验的创建。在Unity中,粒子系统是一个非常重要的工具,它允许开发者创建出各种炫酷的视觉效果,如火焰、烟雾、水流、光效以及我们这里...

    对中职C语言函数教学方法的探讨.pdf

    从给定文件的标题、描述、标签和部分内容中,我们可以梳理出以下几个重要的知识点: 1. C语言的重要性及基础性课程地位 - C语言是计算机编程领域内的一门基础性课程,对于理工专业的学生而言,是必修的基础课程。 ...

    mittag_leffler函数_Mittag_Leffler_

    Mittag-Leffler函数在数学领域,特别是在复分析和特殊函数理论中占据着重要的地位。这个函数是由瑞典数学家Gustaf Mittag-Leffler在19世纪末引入的,它是一类广义指数函数的泛化,可以解决一些线性微分方程和积分...

    Bunch-Davies FRW波函数的最新结构

    在这篇简短的文章中,我们为平坦的加速宇宙学中的Bunch-Davies波函数组织了一个微扰理论。 计算技术避免了内在形式主义,而是使用欧几里得签名的解析延续。 我们将考虑无质量和共形耦合的自相互作用标量。 这些计算...

    基于从瞬时子-胶子干涉到相关函数的校正的0- +伪标量胶球的有限宽高斯和规则

    基于从瞬时子-胶子干涉到相关函数的校正,在一系列有限宽度的高斯和规则中研究了0- +伪标量胶球的特性。 在瞬时液体背景下量子色动力学的半经典展开框架中,计算了由瞬时子与量子胶子场之间的干扰引起的贡献,并将其...

    高中历史发散式教学策略研究.doc

    【高中历史发散式教学策略研究】 高中历史教学不同于初中的简单记忆和归纳,它更加注重学生史观的形成和批判性思维的培养。在这一阶段,教师应鼓励学生从不同角度审视历史事件,培养他们的求异精神。发散式教学策略...

    Legrand-Function-Class.rar_Legendre_勒让德函数

    勒让德函数进一步扩展了这一概念,包括了勒让德函数Q_n(x)(通常称为第二类勒让德函数),它是第一类勒让德函数的导数形式,且在x=1和x=-1处发散。勒让德函数在实数域上可以被定义为积分形式,用于解决各种数学和...

    在SPGD算法中使用发散成本函数的相干光束与倾斜/倾斜控制相结合的实验演示

    - **概念**:发散成本函数是SPGD算法中的一种新型成本函数,用于最小化目标函数的发散度。在相干光束组合的应用中,该函数被设计用来优化倾斜控制,确保了更宽的校正范围和更灵活的相机强度饱和控制。 - **特点**: ...

    发散式button按钮动画效果

    本篇将详细讲解如何实现“发散式”按钮点击时的动画效果,这种效果通常能提升用户体验,使应用更具吸引力。 首先,我们要理解Tween动画。Tween动画是Android中的基础动画类型,它允许我们改变视图对象的各种属性,...

    2008年《高等数学》2+2考试大纲

    - 理解函数概念,能建立应用问题中的函数关系。 - 掌握函数的表示法。 - 了解函数的有界性、单调性等性质。 - 理解复合函数、反函数等概念。 - 掌握基本初等函数的性质及图形。 - 了解数列极限和函数极限的...

    大数据-算法-正规函数与正规函数的性质及判别准则.pdf

    这意味着函数族中的函数在某种程度上是“有界的”并且不会发散到无穷大。 文章中提到了Zalcman引理和庞学诚对该引理的推广,这是复分析中的重要工具,用于研究函数的局部行为。Zalcman引理通常用于揭示函数的微小...

    Bessel 函数相关知识

    Bessel 函数是数学中的特殊函数,在解决圆柱或球形坐标系下的偏微分方程时经常用到,特别是在物理学、工程学等领域有着广泛的应用。这类函数最早由德国天文学家弗里德里希·威廉·贝塞尔(Friedrich Wilhelm Bessel...

    N = 4超级杨米尔斯理论中的能量-能量相关关系

    我们进一步开发了一种直接从有限相关函数中计算能量-能量相关性(EEC)的方法。 这样,完全避免了红外发散。 在最大超对称Yang-Mills理论(N = 4 sYM)中,我们得出了一个新的,非常简单的公式,该公式将EEC与四点...

    东北石油大学705数学分析 2021年考研专业课初试大纲.pdf

    该大纲详细规定了考试内容、形式、结构以及具体知识点的要求,是考生备考的重要依据。 #### 二、考试基本信息 - **命题单位**:数学与统计学院 - **考试科目代码**:705 - **考试科目名称**:数学分析 - **试卷...

    导数在研究函数中的应用复习课教学设计说明.doc

    【导数在研究函数中的应用复习课教学设计】 导数是高中数学中的核心概念,尤其在人教版选修2-2的第一章第三节中,它不仅是高中数学新增的内容,还是高等数学的基础,连接着中学数学与大学数学。导数的应用广泛,...

    行业文档-设计装置-大光斑直径高均匀度发散式太阳模拟器光学系统.zip

    《大光斑直径高均匀度发散式太阳模拟器光学系统》 在太阳能技术的研究与开发中,太阳模拟器扮演着至关重要的角色。它能够模拟太阳的辐射特性,为光伏电池、光热转换设备等提供稳定的光源,进行性能测试和优化设计。...

    复变函数论——解析函数的幂级数表示法.pdf

    复变函数论作为数学的一个分支,在信息与计算科学专业中有着重要的地位。复变函数研究的对象是复数域内的函数,其中解析函数的研究尤为重要。解析函数的幂级数表示法是复变函数理论中的核心内容之一,它提供了一种将...

Global site tag (gtag.js) - Google Analytics