2016-08-26 16 views
5

Mam kilka plików cpp i chcę je połączyć z LuaJit przy użyciu FFI.Czy mogę utworzyć funkcję "extern" c "`?

Ale problem polega na tym, że muszę dodać symbole dla prawie każdej funkcji, aby FFI mógł uzyskać do nich dostęp.

Czy jest prostszy sposób, aby to zrobić?

+7

można pogrupować wszystkie funkcje w jednym zewnętrznym bloku C. Czy to nie wystarczy? –

+1

Pliki cpp nie są tworzone samodzielnie, nie wiem nic poza ich funkcjami. Po prostu chcę ich użyć przez Luę. –

+0

Po pierwsze, czy sprawdziłeś, czy wszystkie twoje funkcje są "zewnętrzne" C "-ready? To znaczy. czy używają tylko typów C (bez referencji, bez klas itp.)? 'extern" C "' wyłącza tylko wymazywanie nazw. – Sergio

Odpowiedz

0

Kilka funkcji można umieścić w jednym bloku extern "C". To pozwala na wpisanie extern "C" tylko raz dla każdego pliku nagłówkowego.

extern "C" { 
    void function1(); 
    void function2(); 
} 
Powiązane problemy