Mex-File зависает с JAVA

Я скомпилировал mex-файл из кода C++, который использует GMP и некоторый uint64_t (я нахожусь на 32-битной WinXP).

Этот код C++ отлично работает на C++.

Но я заметил, что он просто зависает, когда я запускаю mex-файл в Matlab для некоторых входных данных (он просто зависает, мне нужно убить процесс).

Что я не понимаю, так это то, что если я запускаю его в режиме Matlab -nojvm, он работает отлично. Так что я думаю, это связано с виртуальной машиной Java. Я уже пытался увеличить предел кучи до 1024mo, но это не решило проблему.

Когда я вручную следую за запуском Matlab, когда он зависает, инструкции C++, кажется, останавливаются без объяснения (не бесконечный цикл или что-то в этом роде).

Каждый раз, когда я увеличивал предел кучи Java, память процесса Matlab тоже увеличивалась. Но если я запускаю точно такой же код в классическом файле main.cpp C++, он, похоже, не используется как память.

Это действительно странно.

0 ответов

Другие вопросы по тегам