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

前端之家收集整理的这篇文章主要介绍了C语言中如何实现后期绑定?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
C语言能否实现 binding以后呢?

解决方法

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

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

与C标准相比后期绑定的唯一半便携式方法是使用系统()的一些诡计,甚至至少部分是实现特定的.

如果你不是说延迟绑定,而是多态,你可以用函数指针来实现这一效果.基本上,您创建一个结构体,它具有一个类型的所有数据以及用于定位该类型的方法函数指针.然后,在“构造函数”(通常是一个init()函数)中,将函数指针设置为该类型的相关函数.

即使不使用它,仍然需要包含所有代码,但是可以通过这种方式获得多态.

猜你在找的C&C++相关文章