2015-02-19 2 views
1

Я пытаюсь понять требования к разработке приложения Linux, работающего на 64-разрядной ОС (с 64-разрядной архитектурой). Если код был написан для архитектуры с 32 битами, значит ли это, что при регулярной компиляции (gcc -m32) он будет работать на 64-битной системной ОС без каких-либо проблем?компиляция приложения с gcc -m32 в 64-разрядной системе

Спасибо, Ран

ответ

2

Да, это будет. Единственное предостережение в том, что вам нужно 32-битные библиотеки для запуска программы и 32-битные пакеты разработки для ее компиляции. Большинство дистрибутивов обеспечивают их и упрощают их установку.

+0

Привет, Том, спасибо в первую очередь. Когда я компилирую с -m64, я понимаю, что компилятор делает свою интерпретацию для int, long и т. Д. Как часть компиляции, но делает ли это как-то приложение как 32-битное приложение (в панели задач Windows кажется, что Windows знает, программа 32-разрядная или 64-разрядная) – ransh

+0

Да, это записано в ELF. Вы можете использовать 'файл', чтобы узнать, есть ли у вас 32- или 64-разрядный исполняемый файл. –

+0

Привет, Том, Вы думаете, что скомпилировать исходный код в 32-разрядной ОС gcc (на ubuntu 32) для 64-разрядной ОС Linux должен работать? Из предыдущего ответа я предполагаю, что это так. Благодаря! – ransh

Смежные вопросы