Перейти к содержанию
    

Неиспользуемые метки

Есть большой исходник на ассемблере. Там имеется куча подпрограмм, и не все они используются в программе.

Есть ли способы узнать, какие метки не использованы напрямую при компиляции? Есть ли какие-нибудь программы по этому поводу, утилиты и пр.?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Было бы несложно, я бы сам и написал.

Но меня интересует, есть ли способы узнать, какие метки не использованы напрямую при компиляции? Есть ли какие-нибудь программы по этому поводу, утилиты и пр.?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Метки место не занимают. Используемые или не используемые. А если на метку нету ссылки, то это ещё совсем не значит, что данный код не используется. Так что придётся делать анализ программный и потом внимательно просматривать выявленные случаи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Спасибо. Но это долго, когда количество подпрограмм за сотню.

Мне хочется видеть сразу списком.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть большой исходник на ассемблере. Там имеется куча подпрограмм, и не все они используются в программе.

Есть ли способы узнать, какие метки не использованы напрямую при компиляции? Есть ли какие-нибудь программы по этому поводу, утилиты и пр.?

 

Объявить каждую подпрограмму как PUBLIC и разделить по модулям

потом в map файле посмотреть какие модули используются

для IAR директивы MODULE ENDMOD

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Метки место не занимают. Используемые или не используемые. А если на метку нету ссылки, то это ещё совсем не значит, что данный код не используется. Так что придётся делать анализ программный и потом внимательно просматривать выявленные случаи.

 

Это всё понятно. Это частный случай. Для начала мне нужно убрать неиспользуемые метки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скомпилировать!

Потом загрузить в IDA и посмотреть ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно, наверное, воспользоваться каким-нибудь редактором, в котором реализован поиск. Загружаете Ваш исходник в редактор, и пытаетесь найти имя первой программы-кандидата на вычеркивание. Если нашли только один раз (нет вызова), этим же редактором можно поправить исходник - выкинуть подпрограмму. Такая процедура будет длинной - необходимо будет пройти в несколько проходов: программа, вызов которой обнаружился в выброшенной программе, может уже и не использоваться!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно, наверное, воспользоваться каким-нибудь редактором, в котором реализован поиск. Загружаете Ваш исходник в редактор, и пытаетесь найти имя первой программы-кандидата на вычеркивание. ...

 

Комментировать метки и перекомпилировать быстрее, чтобы компилятор ругался или нет. Но мне хочется получить сразу список.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А серьезно?

Так серьезно! IDA прекрасно покажет какие части программы используются!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...