SWIG: diferença entre% de importação e% incluem

oSWIG docs explique estas duas directivas da seguinte forma:

%include: "Para incluir outro arquivo em uma interface SWIG, use o%include directiva ... Ao contrário,#include, %include inclui cada arquivo uma vez (e não recarregará o arquivo em%include declarações). Portanto, não é necessário usar proteções de inclusão nas interfaces SWIG. "

%import: "SWIG fornece outra diretiva de inclusão de arquivo com o%import directiva ... O objectivo do%import é coletar determinadas informações de outro arquivo de interface SWIG ou de um arquivo de cabeçalho sem realmente gerar qualquer código de wrapper. Tais informações geralmente incluem declarações de tipo (por exemplo, typedef), bem como classes C ++ que podem ser usadas como classes base para declarações de classe na interface. "

Minha pergunta é quais são as diferenças entre essas duas diretivas e quais são as vantagens / desvantagens de usar cada uma delas?

P.S. Apenas por alguma informação de fundo. Eu tenho uma extensão simples de C ++ - python que constrói e funciona quando eu uso uma das diretivas acima. Um, no entanto (%import) dá menos avisos quando eu chamoswig -c++ -python my_file.i.

questionAnswers(1)

yourAnswerToTheQuestion