![]() |
Доброго времени суток, уважаемые!
1.Как в Си использовать ассемблер, или можно только прилинковать объектные файлы ассемблера к Си? 2.Если кто сталкивался, подскажите с каким ключом надо компилировать файлы ассемблера, чтобы в отладчике GDB их можно было отлаживать? Это наподобие ключа -g в компиляторе gcc. Для ассемблера я использую встроенный компилятор as и линковщик ld. |
1. Конечно, можно. Как это делать - RTFM.
2. По умолчанию отладочная информация и так включается, что исправляется strip'ом. Если не ошибаюсь, флаг называется "gstabs". |
Это я FatalBSD, просто у меня че-то на зодится со старым именем и я перерегистрировался.
Вы не поняли вопрос или я не понял ответ. Как использовать asm в BSD? В виндоусе я иделаю так: int main(){ ... asm{ ... ... } ... return 0; } А как в BSD? А на второй вопрос я не понял ответа. Когда я компилирую файлы для Си я делаю так: gcc -g -o name1 name2.c А как для ассемблера с компилятором as и линковщиком ld? as ... ld ... |
Теперь я не понял. Синтаксис языка С одинаков и для BSD и для всего остального. Разница заключается в архитектуре систем, но опять же синтаксис от этого не меняется.
Что касается asm, так если Вам необходимо писать только на asm - пишите, не обязательно делать вставки. Касаемо второй части вопроса: as -o example.o example.s * * * * * * * * * * * * * * * * * * * * * * * * * * ld -o example example.o а вообще man as, man ld. Касаемо самого asm - если собрались использовать ассемблер at&t( что похвально :)) там есть заметные отличия именно в синтаксисе и от nasm и от т.д., но думаю разберетесь. [s]Исправлено: smooth, 22:23 10-06-2004[/s] Добавлено: да...как уже говорил при данной последовательности команд отладочная информация в конечный файл включается. Для того чтобы ее убрать делаете: strip имя_файла |
Время: 04:07. |
Время: 04:07.
© OSzone.net 2001-