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

 
 
 
Reply to this topicStart new topic
> Контрольная сумма выходного файла линкера, Linux / Eclipse / GCC
nanorobot
сообщение Aug 25 2017, 04:11
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 244
Регистрация: 29-02-08
Пользователь №: 35 503



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

Сообщение отредактировал nanorobot - Aug 25 2017, 04:13
Go to the top of the page
 
+Quote Post
scifi
сообщение Aug 25 2017, 05:00
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(nanorobot @ Aug 25 2017, 07:11) *
Частенько доводится чистить исходники от закомментированных, по ходу дела, фрагментов. Порой эти фрагменты занимают не одну страницу. Так недолго не заметить и удалить пару тройку незакомментированных строк внутри большого закомментированоого фрагмента. Компиляция и контроль CRC после каждого удаления помогли бы этого избежать.

Есть же специальные программы, которые, например, могут посчитать число незакомментированных строк и многое другое. Вот ими и надо пользоваться.
Ну и система контроля версий обязательно должна быть. Без вариантов.
Go to the top of the page
 
+Quote Post
nanorobot
сообщение Aug 25 2017, 05:29
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 244
Регистрация: 29-02-08
Пользователь №: 35 503



Цитата(scifi @ Aug 25 2017, 10:00) *
Есть же специальные программы, которые, например, могут посчитать число незакомментированных строк и многое другое. Вот ими и надо пользоваться.
Ну и система контроля версий обязательно должна быть. Без вариантов.


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

Сообщение отредактировал nanorobot - Aug 25 2017, 05:30
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 25 2017, 06:49
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



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


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
scifi
сообщение Aug 25 2017, 07:48
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(nanorobot @ Aug 25 2017, 08:29) *
Не могу представить зачем бы мне могло потребоваться считать число закомментированных строк...

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

Цитата(nanorobot @ Aug 25 2017, 07:11) *
Так недолго не заметить и удалить пару тройку незакомментированных строк внутри большого закомментированоого фрагмента.

Go to the top of the page
 
+Quote Post
jcxz
сообщение Aug 25 2017, 08:44
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(nanorobot @ Aug 25 2017, 07:11) *
Так недолго не заметить и удалить пару тройку незакомментированных строк внутри большого закомментированоого фрагмента.

От этого помогает цветовая маркировка текста в редакторе.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Aug 25 2017, 09:18
Сообщение #7


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(jcxz @ Aug 25 2017, 11:44) *
От этого помогает цветовая маркировка текста в редакторе.

А еще стиль шрифта - курсив, полужирный. У меня все комментарии зеленые и курсивом.
Go to the top of the page
 
+Quote Post
yes
сообщение Aug 25 2017, 10:20
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



а что, ниодного труЪ программиста нету sm.gif тогда я скажу
для исключения кода из компиляции нужно пользоваться препроцессором
#if 0 например

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

ну а идентичность файлов проще всего md5sum проверять (хотя смысл этого, в данном контексте, мне не понятен)
Go to the top of the page
 
+Quote Post
psL
сообщение Aug 25 2017, 11:49
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 526
Регистрация: 5-08-05
Пользователь №: 7 390



Цитата(nanorobot @ Aug 25 2017, 08:29) *
Системой контроля версий пользуюсь, разумеется, RabbitVCS, но ее возможности востребованы в более сеоьезных случаях...

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

кроме того, для оценки работоспособности в проекте д.б. тесты...
Go to the top of the page
 
+Quote Post
scifi
сообщение Aug 25 2017, 12:05
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(yes @ Aug 25 2017, 13:20) *
а по поводу счета контрольных сумм и т.п. SRecord (srec_cat которая) умеет не только srecord-ы обрабатывать, но и кучу других форматов, но командная строка там настолько затейлива, что бывало почти добившись какого-то изыска от этого срекката, плевал на него и писал на питоне то, что надо sm.gif

Поначалу тоже шло со скрипом. Но со временем, видимо, удалось настроиться на одну волну с автором сего дивного софта. Теперь затруднений не испытываю.
Go to the top of the page
 
+Quote Post

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

 


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


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