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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Неиспользуемые метки, как посмотреть
Sergei Frolov
сообщение May 23 2007, 07:52
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 28-05-05
Из: Питер
Пользователь №: 5 495



Есть большой исходник на ассемблере. Там имеется куча подпрограмм, и не все они используются в программе.
Есть ли способы узнать, какие метки не использованы напрямую при компиляции? Есть ли какие-нибудь программы по этому поводу, утилиты и пр.?
Go to the top of the page
 
+Quote Post
CD_Eater
сообщение May 23 2007, 07:56
Сообщение #2


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

Группа: Новичок
Сообщений: 173
Регистрация: 3-09-04
Из: Moscow
Пользователь №: 595



Несложно написать самому.
Go to the top of the page
 
+Quote Post
add
сообщение May 23 2007, 08:06
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 345
Регистрация: 10-10-05
Пользователь №: 9 459



Цитата
Есть ли способы узнать, какие метки не использованы напрямую при компиляции

кометировать по одной (закоментировать "//") метке, и компилировать и т. д. ошибка есть, значит используется.. нет не используется...


--------------------
Если задачу можно решить, то не надо тревожиться. А если нельзя решить, то тревожиться бесполезно.
Go to the top of the page
 
+Quote Post
Sergei Frolov
сообщение May 23 2007, 08:09
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 28-05-05
Из: Питер
Пользователь №: 5 495



Было бы несложно, я бы сам и написал.
Но меня интересует, есть ли способы узнать, какие метки не использованы напрямую при компиляции? Есть ли какие-нибудь программы по этому поводу, утилиты и пр.?
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение May 23 2007, 08:09
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Метки место не занимают. Используемые или не используемые. А если на метку нету ссылки, то это ещё совсем не значит, что данный код не используется. Так что придётся делать анализ программный и потом внимательно просматривать выявленные случаи.
Go to the top of the page
 
+Quote Post
Sergei Frolov
сообщение May 23 2007, 08:11
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 28-05-05
Из: Питер
Пользователь №: 5 495



Цитата(add @ May 23 2007, 11:06) *
кометировать по одной (закоментировать "//") метке, и компилировать и т. д. ошибка есть, значит используется.. нет не используется...


Спасибо. Но это долго, когда количество подпрограмм за сотню.
Мне хочется видеть сразу списком.
Go to the top of the page
 
+Quote Post
KRS
сообщение May 23 2007, 08:12
Сообщение #7


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

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Sergei Frolov @ May 23 2007, 11:52) *
Есть большой исходник на ассемблере. Там имеется куча подпрограмм, и не все они используются в программе.
Есть ли способы узнать, какие метки не использованы напрямую при компиляции? Есть ли какие-нибудь программы по этому поводу, утилиты и пр.?


Объявить каждую подпрограмму как PUBLIC и разделить по модулям
потом в map файле посмотреть какие модули используются
для IAR директивы MODULE ENDMOD
Go to the top of the page
 
+Quote Post
Sergei Frolov
сообщение May 23 2007, 08:13
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 28-05-05
Из: Питер
Пользователь №: 5 495



Цитата(SasaVitebsk @ May 23 2007, 11:09) *
Метки место не занимают. Используемые или не используемые. А если на метку нету ссылки, то это ещё совсем не значит, что данный код не используется. Так что придётся делать анализ программный и потом внимательно просматривать выявленные случаи.


Это всё понятно. Это частный случай. Для начала мне нужно убрать неиспользуемые метки.
Go to the top of the page
 
+Quote Post
KRS
сообщение May 23 2007, 08:22
Сообщение #9


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

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Скомпилировать!
Потом загрузить в IDA и посмотреть wink.gif
Go to the top of the page
 
+Quote Post
Sergei Frolov
сообщение May 23 2007, 08:24
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 28-05-05
Из: Питер
Пользователь №: 5 495



А серьезно?
Go to the top of the page
 
+Quote Post
Палыч
сообщение May 23 2007, 08:36
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Можно, наверное, воспользоваться каким-нибудь редактором, в котором реализован поиск. Загружаете Ваш исходник в редактор, и пытаетесь найти имя первой программы-кандидата на вычеркивание. Если нашли только один раз (нет вызова), этим же редактором можно поправить исходник - выкинуть подпрограмму. Такая процедура будет длинной - необходимо будет пройти в несколько проходов: программа, вызов которой обнаружился в выброшенной программе, может уже и не использоваться!
Go to the top of the page
 
+Quote Post
Sergei Frolov
сообщение May 23 2007, 08:38
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 28-05-05
Из: Питер
Пользователь №: 5 495



Цитата(Палыч @ May 23 2007, 11:36) *
Можно, наверное, воспользоваться каким-нибудь редактором, в котором реализован поиск. Загружаете Ваш исходник в редактор, и пытаетесь найти имя первой программы-кандидата на вычеркивание. ...


Комментировать метки и перекомпилировать быстрее, чтобы компилятор ругался или нет. Но мне хочется получить сразу список.
Go to the top of the page
 
+Quote Post
KRS
сообщение May 23 2007, 09:29
Сообщение #13


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

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Sergei Frolov @ May 23 2007, 12:24) *
А серьезно?

Так серьезно! IDA прекрасно покажет какие части программы используются!
Go to the top of the page
 
+Quote Post
defunct
сообщение May 23 2007, 14:52
Сообщение #14


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата
Есть большой исходник на ассемблере.

Большой это сколько строк?
Go to the top of the page
 
+Quote Post
Sergei Frolov
сообщение May 24 2007, 04:41
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 28-05-05
Из: Питер
Пользователь №: 5 495



Цитата(defunct @ May 23 2007, 17:52) *
Большой это сколько строк?


Около 40000-50000 по листингу.
Go to the top of the page
 
+Quote Post

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

 


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


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