что-то нет ответов-советов... может, я недостаточно понятно изложил свою мысль? попробую пояснить.
дано: жидкокристаллический символьный индикатор типа
WinStar 1602, знакогенератор которого содержит только расположенные в не поддающемся логике порядке символы русских букв, начертание которых не совпадает с английскими. то есть, символ '
к' в его знакогенераторе есть, а символа '
К' нет, т.к. его начертание совпадает с английской заглавной буквой
K. и так далее.
проблема: разрабатываем программу для AVR, желаем вывести на индикатор "
Привет, Мир!". если сделать это непосредственно, окажется, что на индикаторе полнейший бред, а не текст, потому что кодировка русских букв в редакторе
Win-1251 (соответственно, и в прошивку они попадают в этой кодировке), а у индикатора кодировка извратная. существуют разные утилиты, которые конвертируют строки и позволяют вставить прямо в текст программы что-то типа "
\240\239\168е\253", но это очень неудобно, т.к. в таком формате даже не понятно, что именно выводится - надо лепить комменты всякие и т.п.
задача: сделать (уже сделал) утилиту, которая просмотрит исходный текст (выбранный или все подряд), найдет все строковые константы в нем и проведет преобразование кодов русских символов в этих строках, после чего передаст результирующий файл для компиляции вместо исходного. таким образом, получаем редактирование в удобной для человека кодировке, а компиляцию - в кодировке, соответствующей знакогенератору ЖКИ. я так понимаю, что поставленная задача по сути соответствует препроцессору, отсюда и тема вопроса.
какой вопрос возникает у меня.
допустим, утилитка конвертирует
main.c в
main1.c. как подсунуть
main1.c вместо указанного в проекте
main.c? в принципе, если
makefile правится ручками, то особых проблем не возникает (хотя лично для меня это не совсем так - но это не главное в данный момент), но вот
AVR Studio или
Eclipse генерируют
makefile самостоятельно, на лету строя его из различных "визуально заданных" параметров проекта. Вот и получается, что вручную вписать строчку в этом случае не получается:
makefile перезаписывается автоматом и все...
утилитку свою прилагаю к сообщению. и очень жду советов по ситуации...
Я бы взял частями... но мне надо сразу.