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

 
 
> linker
Злодей
сообщение Jun 17 2009, 11:24
Сообщение #1


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

Группа: Участник
Сообщений: 149
Регистрация: 29-04-08
Из: Петербург
Пользователь №: 37 142



Здравствуйте!

WinAVR, родной makefile.

main.c
Код
#include <avr/io.h>

int do_not_link_me( int arg )
{
    return arg * arg;
}

int main( void )
{
}


main.lss ( По сути листинг прошивки )
Код
int do_not_link_me( int arg )
{
  88:    88 9f           mul    r24, r24
  8a:    90 01           movw    r18, r0
  8c:    89 9f           mul    r24, r25
  8e:    30 0d           add    r19, r0
  90:    98 9f           mul    r25, r24
  92:    30 0d           add    r19, r0
  94:    11 24           eor    r1, r1
    return arg * arg;
}


Хочу так, что бы в прошивке не было неиспользуемых функций. Усердно читаю и пробую ld options...

Помогите, пожалуста, терминами ( как эту проблему правильно называть ) ну и с решением. Спасибо!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Злодей
сообщение Jun 17 2009, 13:09
Сообщение #2


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

Группа: Участник
Сообщений: 149
Регистрация: 29-04-08
Из: Петербург
Пользователь №: 37 142



Добавлю, что в приведённом примере функция не линкуется если её объявить static.

Что сделать, бы модули неиспользуемые не линковать? Некоторые доки вгоняют в полную печаль...
Go to the top of the page
 
+Quote Post
alx2
сообщение Jun 19 2009, 18:16
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091



Цитата(Злодей @ Jun 17 2009, 18:09) *
Добавлю, что в приведённом примере функция не линкуется если её объявить static.
Хочу добавить, что иначе и быть не может: у статических объектов область видимости - файл, поэтому линкеру они не видны, он о их существовании ничего не знает (исключением, по-моему, яувляются только статические члены классов).
Цитата(Злодей @ Jun 19 2009, 03:11) *
(А то забуду) В FAQ надо отправить hex2bin и bin2hex посредством srecord
А что это и для чего?


--------------------
Всего наилучшего,
Alex Mogilnikov
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jun 20 2009, 18:31
Сообщение #4


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(alx2 @ Jun 19 2009, 21:16) *
у статических объектов область видимости - файл, поэтому линкеру они не видны, он о их существовании ничего не знает (исключением, по-моему, яувляются только статические члены классов).

Такие обьекты должны быть видны линкеру посредством их использования другими (нестатическими) обьектами\функциями. В примпре, приведённом у топикстартера, функция int do_not_link_me( int arg ) нигде не используется, поэтому если её обьявить статической, она справедливо будет выкинута.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Злодей   linker   Jun 17 2009, 11:24
|- - aesok   Для GCC: Единицей обработки компилятора является ...   Jun 20 2009, 20:18
|- - alx2   Цитата(IgorKossak @ Jun 20 2009, 23:31) Т...   Jun 21 2009, 14:24
|- - IgorKossak   Цитата(alx2 @ Jun 21 2009, 17:24) ? Не по...   Jun 21 2009, 17:17
|- - aesok   Цитата(IgorKossak @ Jun 21 2009, 21:17) В...   Jun 21 2009, 18:58
|- - alx2   Цитата(IgorKossak @ Jun 21 2009, 22:17) В...   Jun 23 2009, 09:29
|- - aesok   Цитата(alx2 @ Jun 23 2009, 13:29) Целью п...   Jun 23 2009, 18:11
|- - alx2   Цитата(aesok @ Jun 23 2009, 23:11) Если к...   Jun 24 2009, 10:54
- - mdmitry   Уже обсуждалось на форуме, поищите, пожалуйста. Со...   Jun 17 2009, 13:13
- - Злодей   Спасибо, коллега подсказал параметры компиляции -f...   Jun 17 2009, 13:34
- - mdmitry   Именно они, но я их не могу запомнить. Не пора...   Jun 18 2009, 12:16
- - Злодей   Тогда сразу в -Os ... Вероятно, есть ньюансы, из-з...   Jun 18 2009, 22:11
- - IgorKossak   Да, Вы правы, оговорился. Но независимо от того, к...   Jun 22 2009, 06:29
|- - demiurg_spb   Цитата(IgorKossak @ Jun 22 2009, 10:29) р...   Jun 22 2009, 14:41
|- - mdmitry   Цитата(demiurg_spb @ Jun 22 2009, 18:41) ...   Jun 22 2009, 16:05
|- - demiurg_spb   Цитата(mdmitry @ Jun 22 2009, 20:05) объя...   Jun 22 2009, 16:14
- - mdmitry   Гарантированно инлайн и никаких мыслей более   Jun 22 2009, 16:22
- - demiurg_spb   Цитата(mdmitry @ Jun 22 2009, 20:22) Гара...   Jun 22 2009, 16:26
- - ReAl   Цитата(demiurg_spb @ Jun 22 2009, 19:26) ...   Jun 22 2009, 16:58


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 00:02
Рейтинг@Mail.ru


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