[an error occurred while processing this directive]
|
Есть строковая константа (именно такая -заключить в кавычки нельзя!):
#define rrr rrr1, rrr2
надо передать ее в асм.
Пытаюсь например так:
#define qqq "
#define asmdef1(sym) asm("\t.asg \"" qqq sym qqq "\", " #sym);
asmdef1(rrr)
На выходе препроцессора получаю все ок - то что надо:
asm("\t.asg \"" " rrr1, rrr2 " "\", " "rrr");
Но при попытке компиляции выдает:
error: missing closing quote
error: expected a ")"
error: missing closing quote
Как так получается? Как победить?
Если полученное с выхода препроцессора подставить в си-файл вручную - компилит на ура - в асм файле после компилятора то что надо.
На что он тогда ругается на каком этапе??? Не пойму никак что ему нужно... :(
E-mail: info@telesys.ru