C语言中如何实现后期绑定?
发布时间:2020-12-16 06:03:43 所属栏目:百科 来源:网络整理
导读:C语言能否实现 binding以后呢? 解决方法 后期绑定并不是C语言本身的一个功能,更多的是您的执行环境为您提供的功能. 许多系统将提供延迟绑定作为链接器/加载器的功能,您还可以使用显式调用,例如dlopen(打开共享库)和dlsym(以获取该库中的符号的地址,以便您可
C语言能否实现
binding以后呢?
解决方法
后期绑定并不是C语言本身的一个功能,更多的是您的执行环境为您提供的功能.
许多系统将提供延迟绑定作为链接器/加载器的功能,您还可以使用显式调用,例如dlopen(打开共享库)和dlsym(以获取该库中的符号的地址,以便您可以访问它或叫它). 与C标准相比后期绑定的唯一半便携式方法是使用系统()的一些诡计,甚至至少部分是实现特定的. 如果你不是说延迟绑定,而是多态,你可以用函数指针来实现这一效果.基本上,您创建一个结构体,它具有一个类型的所有数据以及用于定位该类型的方法的函数指针.然后,在“构造函数”(通常是一个init()函数)中,将函数指针设置为该类型的相关函数. 即使不使用它,仍然需要包含所有代码,但是可以通过这种方式获得多态. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |