2015-10-27 4 views
4

У меня есть два вопроса:GNU ассемблер препроцессор определить

  1. Как использовать CPP (C препроцессор) с ГНУ AS

  2. Как использовать "продолжение линии" (как some line \ next line)?

Для первых, я знаю, что вы можете использовать .include вместо #include, но #define не работает (и я не знаю эквивалент). Расширение файла .S должно заставить его использовать препроцессор, то же самое с g++ -x assembler-with-cpp.

+0

Добро пожаловать в SO! Пожалуйста, сделайте один вопрос за сообщение и сделайте свой заголовок очень точным. Я не воспроизвожу вас с помощью 'gcc in.S': препроцессор действительно получает uesd в этом случае. –

ответ

4

Как указано @Ciro Santilli, GNU AS не выполняет CPP-подобную предварительную обработку. Для этого вам необходимо собрать файл с gcc, например gcc in.S. Это позволяет использовать как препроцессор CPP, так и символ линии продолжения.

В противном случае директива AS, которая примерно эквивалентна #define для автономного GNU AS, является .set (для определения новых символов, см. AS manual).