будет означать два набора конфликтующих буферов stdio и аналогичные проблемы. Вместо этого вам нужно было бы написать 32-битные блоки управления, которые переключились обратно в длинный режим, а затем вызвали 64-битную библиотеку libc, включая необходимую перестановку параметров и результатов.

ой страницеhttp://www.x86-64.org/pipermail/discuss/2004-August/005020.html Он сказал, что есть способ смешать 32-битный код и 64-битный код в приложении. Он предположил, что приложение является 32-разрядным (в режиме совместимости), а затем переключается в 64-разрядный режим для выполнения 64-разрядного кода и наоборот.

Предположим, что моя ОС 64-битная Linux, а мое приложение 64-битное. Я делаю дальний прыжок, чтобы перейти в режим совместимости и выполнить 32-битный код. Может ли он работать правильно, когда я делаю системный вызов или вызов функции?

Есть ли издержки переключения режимов между режимом совместимости и 64-битным режимом? Я думаю, что одна из накладных расходов - мне нужен отдельный стек для 32-битных и 64-битных.

Могу ли я интегрировать эту идею в JVM, может быть, я могу динамически генерировать 32-битный код в 64-битной JVM и выполнять его путем переключения режимов?

Ответы на вопрос(1)

Ваш ответ на вопрос