首页 > 解决方案 > 强制 LP32 模型用于 64 位目标中的结构

问题描述

我有一个头文件,它定义了几个类:

struct Foo {
  int a;
  double b;
  long c;
  struct Foo* next;
};

使用此头文件的现有动态库是在 LP32 模型中编译的,但公开的函数在 x86-64 调用约定下。(对于任何对这种情况感到好奇的人,这是通过 sources -> wasm32 -> wasmToNative(x86-64 only))实现的。

我想使用这个共享库,但是当宿主程序使用目标 x86-64 编译时,很难获得 Foo 的 LP32 表示并将其传递给这个库。

我想知道在这种情况下是否有任何方法可以在 LP32 模型中获得 Foo 结构表示。

标签: cx8664-bitabi

解决方案


推荐阅读