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

 
 
 
Reply to this topicStart new topic
> Keil CARM, проблема с компиляцией больших файлов.
KostyanPro
сообщение Jun 25 2007, 15:55
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 160
Регистрация: 30-01-07
Из: Minsk
Пользователь №: 24 870



Использую Keil v3.33 и компилятор CARM 2.42. Нарвался на следующий баг.

Один из файлов проекта превышает 800 строк (более 20кБ) . При этом компилятор на этом файле начинает подтормаживать , его также поддерживает и линковшик. При размере файла более 1000 строк компиляция + линковка может занимать более 1 минуты.

Есть ли способ это победить , либо необходимо только уменьшать размеры файлов ??
Go to the top of the page
 
+Quote Post
etoja
сообщение Jun 26 2007, 03:22
Сообщение #2


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

Группа: Свой
Сообщений: 1 121
Регистрация: 14-01-05
Из: Москва
Пользователь №: 1 952



А ещё Кейл может просто отказаться компилировать большие тексты на С.
Поэтому я перешёл с Кейла на IVCC7ARM (Imagecraft).
Go to the top of the page
 
+Quote Post
VAI
сообщение Jun 26 2007, 03:25
Сообщение #3


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

Группа: Модераторы
Сообщений: 1 120
Регистрация: 17-06-04
Пользователь №: 37



А сами Вы в таком здоровом файле легко ориентируетесь?
Проще разбить на несколько мелких файлов, каждый будет содержать от отдной до нескольких функций, выполняющих какое-то одно, логически завершенное действие.
Или 800..1000 строк - это у Вас одна такая функция?


--------------------
Если зайца бить, его можно и спички научить зажигать
Сколько дурака не бей - умнее не будет. Зато опытнее
Go to the top of the page
 
+Quote Post
etoja
сообщение Jun 26 2007, 04:15
Сообщение #4


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

Группа: Свой
Сообщений: 1 121
Регистрация: 14-01-05
Из: Москва
Пользователь №: 1 952



Для VAI:

Как-то не так давно здесь обсуждались исходные тексты TCP/IP стеков. В частности стек с сайта

Title: AT-Modem, PPP, UDP, ICMP & TCP
Author: lexxy (C Moss)
Registered at AVRfreaks.net May 22, 2004
www.avrfreaks.net

Проект состоит из 20 файлов, в том числе:
main.c 25кб 857 строк
ppp.c 58кб 1746 строк
tcp.c 46кб 1160 строк
Go to the top of the page
 
+Quote Post
VAI
сообщение Jun 26 2007, 04:49
Сообщение #5


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

Группа: Модераторы
Сообщений: 1 120
Регистрация: 17-06-04
Пользователь №: 37



Дело рук самих утопающих (и авторов текстов) использовать длиннющие файлы и устарелые, не поддерживаемые производителем компиляторы...


--------------------
Если зайца бить, его можно и спички научить зажигать
Сколько дурака не бей - умнее не будет. Зато опытнее
Go to the top of the page
 
+Quote Post
vesago
сообщение Jun 26 2007, 11:31
Сообщение #6


Тутэйшы
****

Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263



Тут уж ничего не поделаешь. У меня проект из множества файлов. Максимально 2000 строк около 70кб. Компилит секунд за 20. Попробуйте снести и поставить мдк302а. Там вроде последнее обновление карма.
Go to the top of the page
 
+Quote Post
KostyanPro
сообщение Jun 26 2007, 16:31
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 160
Регистрация: 30-01-07
Из: Minsk
Пользователь №: 24 870



Цитата(VAI @ Jun 26 2007, 06:25) *
Или 800..1000 строк - это у Вас одна такая функция?

800..1000 строк -- одна функция реализующая алгоритм работы девайса с помошью конечного автомата. Получилось весьма читабельно , но !! с этим багом smile.gif

Цитата
Попробуйте снести и поставить мдк302а.

Благодарю, попробую yeah.gif
Go to the top of the page
 
+Quote Post
etoja
сообщение Jun 27 2007, 03:43
Сообщение #8


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

Группа: Свой
Сообщений: 1 121
Регистрация: 14-01-05
Из: Москва
Пользователь №: 1 952



Компилятор ICCV7(Imagecraft) компилитует 2000 строк за 2 секунды.
В скомпилированной программе обработчик прерывания входит в прерывание быстрее, чем после Кейла.
Сравнение компиляторов производилось на одном и том же исходном С тексте для процессора LPC2138.
Go to the top of the page
 
+Quote Post
abcdefg
сообщение Jun 27 2007, 15:08
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 201
Регистрация: 23-01-06
Из: Msk
Пользователь №: 13 490



Цитата(KostyanPro @ Jun 26 2007, 20:31) *
Благодарю, попробую yeah.gif


У меня какое-то время назад вообще линкер (2.54а) зависал, помог откат к более ранней версии компилятора. Сейчас опять 2.54а и вроде без глюков. Смотрю свой проект: около 290кб кода, есть есть несколько файлов по 20-30к. Время линкования около 20 секунд (селерон4-3Ггц), но при этом подвисает вся система...
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 20th June 2025 - 22:12
Рейтинг@Mail.ru


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