我想知道 C# 中是否有用于头文件的内置运行时解析器。我有几个不同的 C 头文件要解析(它们稍后将用于确定如何反序列化网络数据包)。
理想情况下,一些选项可以动态加载 .h 文件,创建结构,然后使用反射以某种方式解析结构,只是不确定是否有办法在运行时加载 .h 文件以创建结构。
如果没有简单的方法可以做到这一点,我可以手动解析它。
我想知道 C# 中是否有用于头文件的内置运行时解析器。我有几个不同的 C 头文件要解析(它们稍后将用于确定如何反序列化网络数据包)。
理想情况下,一些选项可以动态加载 .h 文件,创建结构,然后使用反射以某种方式解析结构,只是不确定是否有办法在运行时加载 .h 文件以创建结构。
如果没有简单的方法可以做到这一点,我可以手动解析它。
不,没有标准的方法可以做到这一点,并且鉴于 C 类型(因编译器和平台而异)和 CLR 类型之间没有精确的奇偶性,我不知道可以编写一个完全通用的.
你最好自己解析数据。
这非常接近: http ://www.swig.org/
它是一个包装器生成器,可以读取 C++ 文件并以 C#(或许多其他语言)生成包装器。