Я знаю, что уже поздно, но хороший ответ никогда не бывает слишком поздно!Надеюсь, у меня один.
Единственное, о чем я могу думать, - это использовать препроцессор.
#ifdef __unix__
...UNIX code here
#endif
и написать код UNIX в блоке, чтобы вы могли скомпилировать его в системе UNIX.требуется.Затем, вне этих блоков, вы можете использовать аналоги WIN32 внутри аналогичного блока
#ifdef _WIN32
...Windows code here
#endif
, так что конечный результат может выглядеть как
//Cross platform includes
//cross platform namespaces
#ifdef _WIN32
//Windows includes
//Windows namespaces
#else
//unix includes
//unix namespaces
#endif
int main()
{
DoCrossPlatformFunctions();
#ifdef _WIN32
DoWindowsFunctions();
#else
DoUnixFunctions();
#endif
DoMoreXplatformStuff();
return 0;
}
Вы могли бы сделать небольшое исследование и найтиАналоги функций, которые вам требуются, довольно легко и тогда будут на вашем пути.Это немного громоздко, но, поскольку у вас, кажется, есть вендетта против того, чтобы просто записать его на виртуальную машину UNIX, это, вероятно, лучший вариант.Самое приятное, что вам не нужно выходить за пределы зоны комфорта Visual C ++, чтобы сделать это.Надеюсь, это поможет !!