nie chodzi o crossplatform, ale o cross language, np. program w C++, ale komunikacja z DB przez jakiś język skryptowy. Co do C++, ja jakoś korzystam, a Boosta wręcz nienawidzę, za to, że jest strasznie wielki, a np. biblioteki do liczb pseudolosowych to zrąbali na maksa, ogólnie tam się tworzy kupę niepotrzebnych zmiennych, które nie wiadomo po co są. Przykładowo losowanie:
boost::mt19937 rng; // produces randomness out of thin air
rng.seed(static_cast<unsigned> (std::time(0)));
// see pseudo-random number generators
boost::uniform_int<> six(1,6) // distribution that maps to 1..6
// see random number distributions
boost::variate_generator<boost::mt19937&, boost::uniform_int<> >
die(rng, six); // glues randomness with mapping
int x = die(); // simulate rolling a die
Ja to skróciłem i w mojej own bibliotece wygląda to tak:
easylib::random::setSeed( static_cast<int>( time(NULL) );
int x = easylib::randomize<easylib::mt19937>( 1, 6 ); // symulacja kostki
A obiekt klasy mt19937 jest tworzony tylko 1 w sposób niewidoczny dla użytkownika. Wg mnie prościej i bardziej przejrzyście.