当前位置:  开发笔记 > 编程语言 > 正文

如何在C语言中实现后期绑定?

如何解决《如何在C语言中实现后期绑定?》经验,为你挑选了1个好方法。

如何在C语言中实现后期绑定?



1> paxdiablo..:

后期绑定实际上并不是C语言本身的功能,而是您的执行环境为您提供的更多功能.

许多系统将提供延迟绑定作为链接器/加载器的一个特性,您还可以使用显式调用,例如dlopen(打开共享库)和dlsym(获取该库中符号的地址,以便您可以访问它或调用它).

使用C标准进行后期绑定的唯一半便携式方法是使用一些技巧,system()甚至至少部分是特定于实现的.

如果你不是在谈论延迟绑定而是多态,那么你可以用函数指针实现这种效果.基本上,您创建一个struct包含类型的所有数据的函数以及用于查找该类型的方法的函数指针.然后,在"构造函数"(通常是init()函数)中,将函数指针设置为该类型的相关函数.

你仍然需要包括所有的代码,即使你不使用它,但它可能获得的多态性的方式.

推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有