Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个用 C 语言编写的哈希表的自定义实现,用于我正在开发的应用程序。现在我想在 swig 中为它创建一个包装器,以便我可以将它们映射到 Python 中的“dict”等原生类型。我希望能够编写一个可用于 Perl 和 Python 的单一接口文件。首先我想知道这是否可能,或者我应该为每个 Python 和 Perl 单独做吗?
一个实现文件是可能的。根据实现的复杂性,它可以很简单:
%module my_hash %inline %{ #include "my_hash.h" %}
并生成接口代码:
swig -python my_hash.i swig -perl my_hash.i
如果您必须编写任何自定义类型映射,则可能必须在接口定义中使用#ifdef SWIGPYTHON或#ifdef SWIGPERL指定特定于语言的代码。
#ifdef SWIGPYTHON
#ifdef SWIGPERL