Jump to content

    
Sign in to follow this  
nanorobot

Контрольная сумма выходного файла линкера

Recommended Posts

Хотелось бы чтоб по окончании компиляци/линковки в конец выходного файла помещалась бы его контрольная сумма для программного контроля целостности прошивки. Кроме того было б неплохо, если бы ее значение выводилось в окне Console. Частенько доводится чистить исходники от закомментированных, по ходу дела, фрагментов. Порой эти фрагменты занимают не одну страницу. Так недолго не заметить и удалить пару тройку незакомментированных строк внутри большого закомментированоого фрагмента. Компиляция и контроль CRC после каждого удаления помогли бы этого избежать. Заранее согласен с тем, что для этой цели достаточно контролировать размер выходного файла, но контроль CRC представляется более надежным. Догадываюсь, что вероятно это можно реализовать в скрипте линкера, но мне это пока не по силам.

Edited by nanorobot

Share this post


Link to post
Share on other sites
Частенько доводится чистить исходники от закомментированных, по ходу дела, фрагментов. Порой эти фрагменты занимают не одну страницу. Так недолго не заметить и удалить пару тройку незакомментированных строк внутри большого закомментированоого фрагмента. Компиляция и контроль CRC после каждого удаления помогли бы этого избежать.

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

Ну и система контроля версий обязательно должна быть. Без вариантов.

Share this post


Link to post
Share on other sites
Есть же специальные программы, которые, например, могут посчитать число незакомментированных строк и многое другое. Вот ими и надо пользоваться.

Ну и система контроля версий обязательно должна быть. Без вариантов.

 

Не могу представить зачем бы мне могло потребоваться считать число закомментированных строк... Системой контроля версий пользуюсь, разумеется, RabbitVCS, но ее возможности востребованы в более сеоьезных случаях - типа что я вчера-позавчера-неделюназад намудрил, что такая то фича стала работать не так как нужно.. А я имею в виду маленькое оперативное удобство, которым можно воспользоваться при минимуме телодвижений.

Edited by nanorobot

Share this post


Link to post
Share on other sites

Утилита из набора SRecord может считать довольно много разных контрольных сумм. Запускать ее после линковки из makefile.

Share this post


Link to post
Share on other sites
Не могу представить зачем бы мне могло потребоваться считать число закомментированных строк...

Должно быть, у меня глюки.

 

Так недолго не заметить и удалить пару тройку незакомментированных строк внутри большого закомментированоого фрагмента.

 

Share this post


Link to post
Share on other sites
Так недолго не заметить и удалить пару тройку незакомментированных строк внутри большого закомментированоого фрагмента.

От этого помогает цветовая маркировка текста в редакторе.

Share this post


Link to post
Share on other sites
От этого помогает цветовая маркировка текста в редакторе.

А еще стиль шрифта - курсив, полужирный. У меня все комментарии зеленые и курсивом.

Share this post


Link to post
Share on other sites

а что, ниодного труЪ программиста нету :) тогда я скажу

для исключения кода из компиляции нужно пользоваться препроцессором

#if 0 например

 

а по поводу счета контрольных сумм и т.п. SRecord (srec_cat которая) умеет не только srecord-ы обрабатывать, но и кучу других форматов, но командная строка там настолько затейлива, что бывало почти добившись какого-то изыска от этого срекката, плевал на него и писал на питоне то, что надо :)

 

ну а идентичность файлов проще всего md5sum проверять (хотя смысл этого, в данном контексте, мне не понятен)

Share this post


Link to post
Share on other sites
Системой контроля версий пользуюсь, разумеется, RabbitVCS, но ее возможности востребованы в более сеоьезных случаях...

git, например, кроме изменений между коммитами, показывает изменения и до и после внесения в индекс, непонятно как вы это по crc поймете? выучите crc каждого файла наизусть? :laughing:

 

кроме того, для оценки работоспособности в проекте д.б. тесты...

Share this post


Link to post
Share on other sites
а по поводу счета контрольных сумм и т.п. SRecord (srec_cat которая) умеет не только srecord-ы обрабатывать, но и кучу других форматов, но командная строка там настолько затейлива, что бывало почти добившись какого-то изыска от этого срекката, плевал на него и писал на питоне то, что надо :)

Поначалу тоже шло со скрипом. Но со временем, видимо, удалось настроиться на одну волну с автором сего дивного софта. Теперь затруднений не испытываю.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this