Я использую Boost.Python, чтобы выставить JRA BWRepLib , поэтому я могу попытаться провести некоторый интеллектуальный анализ данных на sc: bw в Python, и у меня возникла небольшая проблема с возвращаемыми значениями. из методов C ++. При запуске любой старой простой программы, такой как учебник, я получаю ожидаемое значение, возвращаемое Python (строка «привет, мир», которая печатается нормально). Однако, когда я запускаю программу bwreplib, я сталкиваюсь с проблемой, когда все строки усекаются, а некоторые целочисленные методы возврата возвращают неожиданные значения. Например, в одном воспроизведении имена игроков в C ++ возвращаются правильно, поскольку игрок 1 является SlayerS_'BoxeR ', игрок 2 - iloveoov. Однако значения, напечатанные в python - это erS_'Boxer 'и eoov, в которых отсутствуют первые 4 байта / символа. Другим примером является гонка игрока, которая должна быть целочисленным значением 1,2,3 или 6, однако я получаю большие несвязанные значения, такие как 97, 120, 111 и 78, однако некоторые значения, такие как 120 и 97, должны быть одинаковыми. гонка и вернуть то же значение из чистой программы C ++. Поскольку я не вижу бинарной корреляции между числами, я подозреваю, что, возможно, это также компенсируется словом в python и возвращает значение из другого места? Кто-нибудь сталкивался с подобной проблемой?
Я довольно новичок в использовании Boost.Python, а не в C ++. Я могу опубликовать упаковщик, но он не делает ничего, кроме как предоставляет такие функции, как
class_<BWrepPlayer>("BWrepPlayer")
.def("getName", &BWrepPlayer::getName)
.def("getNumber", &BWrepPlayer::getNumber)
Я подозреваю, что должен сделать что-то особенное, чтобы обернуть функции, которые я не выполняю. Однако, просматривая онлайн и читая документацию, я не могу найти, что это было бы, однако я уверен, что это будет очевидно, когда я узнаю.
Редактировать: вывод журнала
...patience...
...patience...
...found 1547 targets...
...updating 4 targets...
compile-c-c++ bin\msvc-9.0\debug\threading-multi\BWrepAPI.obj
BWrepAPI.cpp
BWrepAPI.cpp(19) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
c:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\string.h(74) : see declaration of 'strcpy'
BWrepAPI.cpp(88) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
c:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\string.h(74) : see declaration of 'strcpy'
BWrepAPI.cpp(245) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
c:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\string.h(74) : see declaration of 'strcpy'
BWrepAPI.cpp(246) : warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
c:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\string.h(79) : see declaration of 'strcat'
BWrepAPI.cpp(259) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
c:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\string.h(74) : see declaration of 'strcpy'
BWrepAPI.cpp(265) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
c:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\string.h(74) : see declaration of 'strcpy'
BWrepAPI.cpp(277) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
c:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\string.h(74) : see declaration of 'strcpy'
BWrepAPI.cpp(323) : warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
c:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\stdio.h(237) : see declaration of 'fopen'
msvc.link.dll bin\msvc-9.0\debug\threading-multi\pybwrep.pyd
Creating library bin\msvc-9.0\debug\threading-multi\pybwrep.lib and object bin\msvc-9.0\debug\threading-multi\pybwrep.exp
msvc.manifest.dll bin\msvc-9.0\debug\threading-multi\pybwrep.pyd
...updated 4 targets...