我正在使用专门构建的第三方数据库,开发人员可以为此提供各种API进行查询。其中之一是适用于Windows的高性能本机C API,它带有要编码的.h文件,以及用于静态链接的.lib或用于动态链接的.dll。在x86和x86_64版本中。
理想情况下,我想在Linux中使用相同的本机API。
我想知道是否有可能通过“ winelib”以某种方式使用此库,方法是在通常的Linux工具链上用C制作薄薄的垫片,然后使用“ winelib”加载专有库,而仅将a一堆委托给库函数的函数。
通过这种方式,我可以将C填充程序加载到本地Linux程序中并使用它,或者将其与.NET Core或Java中的其他本地绑定一起使用。
这可能吗?如果是的话,这是最好的方法吗?有更好的方法吗?如果可能,我可以将其静态链接以生成单个.so吗?还是我需要动态加载它并同时处理.so shim和.dll才能在客户端应用程序中工作?