реклама на сайте
подробности

 
 
> Дополнительный препроцессор для GCC
ARV
сообщение Nov 15 2009, 16:11
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



возникла потребность/желание реализовать дополнительную обработку сишных текстов и хидеров собственной утилитой - искать и заменять текстовые строки. работаю с avr-gcc (WinAVR).
я так понимаю, для этого надо вклиниться в процесс компиляции или перед препроцессором или сразу после него перед компилятором (после препроцессора, пожалуй, лучше - так сразу будут обработаны и строки в хидерах).

как это сделать правильно? и как это затем "интегрировать" в Eclipse, который генерирует make-file самостоятельно?


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ARV
сообщение Nov 17 2009, 06:31
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



что-то нет ответов-советов... может, я недостаточно понятно изложил свою мысль? попробую пояснить.

дано: жидкокристаллический символьный индикатор типа WinStar 1602, знакогенератор которого содержит только расположенные в не поддающемся логике порядке символы русских букв, начертание которых не совпадает с английскими. то есть, символ 'к' в его знакогенераторе есть, а символа 'К' нет, т.к. его начертание совпадает с английской заглавной буквой K. и так далее.

проблема: разрабатываем программу для AVR, желаем вывести на индикатор "Привет, Мир!". если сделать это непосредственно, окажется, что на индикаторе полнейший бред, а не текст, потому что кодировка русских букв в редакторе Win-1251 (соответственно, и в прошивку они попадают в этой кодировке), а у индикатора кодировка извратная. существуют разные утилиты, которые конвертируют строки и позволяют вставить прямо в текст программы что-то типа "\240\239\168е\253", но это очень неудобно, т.к. в таком формате даже не понятно, что именно выводится - надо лепить комменты всякие и т.п.

задача: сделать (уже сделал) утилиту, которая просмотрит исходный текст (выбранный или все подряд), найдет все строковые константы в нем и проведет преобразование кодов русских символов в этих строках, после чего передаст результирующий файл для компиляции вместо исходного. таким образом, получаем редактирование в удобной для человека кодировке, а компиляцию - в кодировке, соответствующей знакогенератору ЖКИ. я так понимаю, что поставленная задача по сути соответствует препроцессору, отсюда и тема вопроса.

какой вопрос возникает у меня.
допустим, утилитка конвертирует main.c в main1.c. как подсунуть main1.c вместо указанного в проекте main.c? в принципе, если makefile правится ручками, то особых проблем не возникает (хотя лично для меня это не совсем так - но это не главное в данный момент), но вот AVR Studio или Eclipse генерируют makefile самостоятельно, на лету строя его из различных "визуально заданных" параметров проекта. Вот и получается, что вручную вписать строчку в этом случае не получается: makefile перезаписывается автоматом и все...

утилитку свою прилагаю к сообщению. и очень жду советов по ситуации...
Прикрепленные файлы
Прикрепленный файл  lcd_conv.rar ( 50.25 килобайт ) Кол-во скачиваний: 29
 


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Nov 17 2009, 08:31
Сообщение #3


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(ARV @ Nov 17 2009, 09:31) *
но вот AVR Studio или Eclipse генерируют makefile самостоятельно, на лету строя его из различных "визуально заданных" параметров проекта.

А кто мешает написать свой makefile и подсунуть и AVR Studio, и Eclipse? Сергей Борщ про это уже писал и я неоднократно поддакивал biggrin.gif .
Если утилита командной строки (не смотрел ее), то все в makefile ложится легко, для облегчения отладки сделайте для утилиты отдельную цель, эту цель добавьте в правила сборки проекта.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
ARV
сообщение Nov 17 2009, 09:12
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



Цитата(mdmitry @ Nov 17 2009, 11:31) *
А кто мешает написать свой makefile и подсунуть и AVR Studio, и Eclipse? Сергей Борщ про это уже писал и я неоднократно поддакивал biggrin.gif .
Если утилита командной строки (не смотрел ее), то все в makefile ложится легко, для облегчения отладки сделайте для утилиты отдельную цель, эту цель добавьте в правила сборки проекта.
никто не мешает smile.gif просто есть два подхода в сборке проектов: через хитрую правку makefile и через щелканье мышкой по разным опциям в GUI. мне как-то ближе второй подход, ради чего и использую Eclipse. хочется в том же ключе и с этой задачей справиться smile.gif


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ARV   Дополнительный препроцессор для GCC   Nov 15 2009, 16:11
- - mdmitry   Цитата(ARV @ Nov 15 2009, 19:11) возникла...   Nov 15 2009, 19:08
|- - AHTOXA   Я понимаю, что мой совет немного не по теме, но. ...   Nov 17 2009, 09:45
||- - Laksus   Цитата(AHTOXA @ Nov 17 2009, 12:45) Я пон...   Feb 20 2011, 16:28
|- - klen   вообщето истинно правильный способ - не использова...   Nov 17 2009, 09:52
- - ARV   ну разумеется, столь очевидные вещи, как runtime-п...   Nov 17 2009, 10:13
- - mdmitry   Цитата(ARV @ Nov 17 2009, 13:13) что каса...   Nov 17 2009, 10:40
- - klen   2_Zltigo Зря Вы свой пост сразуже удалили.. там...   Nov 17 2009, 10:45
|- - mdmitry   Цитата(klen @ Nov 17 2009, 13:45) 2_Zltig...   Nov 17 2009, 10:59
|- - ARV   Цитата(klen @ Nov 17 2009, 13:45) процес ...   Nov 17 2009, 13:19
|- - klen   Цитата(ARV @ Nov 17 2009, 16:19) да не уш...   Nov 17 2009, 17:15
- - dxp   Цитата(ARV @ Nov 17 2009, 16:13) что каса...   Nov 18 2009, 06:39
- - _Pasha   Цитата(ARV @ Nov 17 2009, 14:13) что каса...   Nov 18 2009, 06:52
- - ARV   Цитата(_Pasha @ Nov 18 2009, 09:52) В люб...   Nov 18 2009, 08:31


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 10:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.01422 секунд с 7
ELECTRONIX ©2004-2016