Używam Swig używać C++ w Ruby i Obecnie mam zrobić prosty przykład pliku david.hKonwersja std :: set do Ruby z Swig
#include <stdio.h>
class David
{
public:
David(int x)
{
this->x = x;
}
void announce()
{
printf("David %d\n", x);
}
int x;
};
a inny plik dla łykiem jak ten
%module "david"
%{
#include <libdavid.h>
%}
class David
{
public:
David(int x);
void announce();
int x;
};
My extconf.rb
wygląda to
require 'mkmf'
system('swig -c++ -ruby libdavid.i') or abort
create_makefile('david')
To pomaga mi wykonać bardzo prosty przykład w rubin jak ten
2.2.1 :001 > a=David::David.new(42)
=> #<David::David:0x000000022c3ec0 @__swigtype__="_p_David">
2.2.1 :002 > a.x
=> 42
Teraz staram bardzo trudno na chwilę teraz, ale ja po prostu nie może dowiedzieć się, jak korzystać z C++ ustawić STL, jak podano w przykładzie here. Byłoby naprawdę miło, gdyby ktoś mógł mi pomóc, w jaki sposób mógłbym stworzyć zbiór liczb całkowitych lub być wektorowym i pokazać jak wstawiać i usuwać metody działające na tym zbiorze/wektorze. Proste próbki kodu byłyby bardzo użyteczne nie tylko dla mnie, ale dla wielu osób, które mogą w przyszłości stawić temu czoła.
To tylko osobiste życzenie. Pomiń to, jeśli jesteś zajęty.
Szczerze mówiąc od pewnego czasu używam przepełnienia stosu, ale powoli zaczynam się rozczarowywać społecznością. Zadawałem kilka pytań i nie otrzymałem satysfakcjonujących odpowiedzi, Żadnych głosów up-głosów, żadnych głosowań w dół, nic, po prostu nie otrzymałem żadnych odpowiedzi. Zaskakuje mnie to, że niezwykle banalne pytania, na które można odpowiedzieć w prostym wyszukiwaniu w Google, są często bardzo popularne, a ważne pytania od nowych użytkowników są albo mocno odrzucane, albo całkowicie ignorowane. Rozumiem, że społeczność niczego mi nie robi. Byłbym jednak bardzo wdzięczny, gdyby ktoś mógł wyjaśnić możliwe przyczyny takiego stanu rzeczy.
Dzięki
Przeszukanie [dokumentacji SWIG] (http://www.swig.org/Doc3.0/SWIGDocumentation.html) dla "STL" natychmiast ujawnia sekcję zatytułowaną [Biblioteka STL/C++] (http: // www. swig.org/Doc3.0/SWIGDocumentation.html#Library_stl_cpp_library). Myślę, że to zasadniczo odpowiada na twoje pytanie. – m7thon
Przykład bardzo podobny do twojego można znaleźć w sekcji [Ruby STL] (http://www.swig.org/Doc3.0/Ruby.html#Ruby_C_STL_Functors) dokumentacji SWIG. – m7thon