如何在C中执行类型扫描?
作者:互联网
我有一个ESB.任何序列化消息都传输其自己的完全限定名称(即名称空间类名称).每个消息都有一个具体的类型,它封装了要执行的特定逻辑.
每次收到消息时,我都需要首先对其进行反序列化,因此我可以执行其操作 – 更多,具体取决于具体类型 – .
我需要一种在编译时或在应用程序初始化期间注册每个类的方法.
使用.net我会使用反射来扫描程序集并在初始化期间发现消息类型,但是如何在C中执行?
解决方法:
C没有反射能力.我想你可以尝试扫描目标文件等,但没有可靠的方法来做到这一点(AFAIK);编译器可以完全消除或破坏某些东西.
基本上,对于序列化,您必须手动进行注册(半).但是您可能对序列化库感兴趣,这些库将帮助解决诸如Boost Serialization等杂务.
标签:c,reflection,scanning 来源: https://codeday.me/bug/20190903/1797660.html