VCucumber 0 21 июля, 2015 Опубликовано 21 июля, 2015 · Жалоба кокос, gcc Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
megajohn 3 21 июля, 2015 Опубликовано 21 июля, 2015 · Жалоба дык классические __DATE__ __TIME__ https://gcc.gnu.org/onlinedocs/cpp/Standard...ned-Macros.html только не забыть ребилдить всё, так как obj содержищий эти строки может не обновлятся, если правите другой файл Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Fedor 0 21 июля, 2015 Опубликовано 21 июля, 2015 · Жалоба кокос, gcc gcc struct version_s{ uint16_t major; uint16_t minor; char *bdate; }; const version_t version __section(._version) = { .major = V_MAJOR, .minor = V_MINOR, .bdate = __DATE__ " " __TIME__ , }; Секцию прописать в скрипте загрузчика в нужном месте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 21 июля, 2015 Опубликовано 21 июля, 2015 · Жалоба Дата билда - это моветон. Код ревизии из системы контроля версий - это комильфо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VCucumber 0 21 июля, 2015 Опубликовано 21 июля, 2015 · Жалоба так и как сделать это комильфо ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 61 21 июля, 2015 Опубликовано 21 июля, 2015 · Жалоба так и как сделать это комильфо ? при сборке позвать систему контроля версий и спросить у неё, какая сейчас ревизия. Полученную ревизию, например, можно скормить компилятору через командную строку ключик -D. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Fedor 0 21 июля, 2015 Опубликовано 21 июля, 2015 · Жалоба Для svn можно сделать: http://stackoverflow.com/questions/16248/g...umber-into-code а вот, например, гит не дает номер ревизии, но можно попробывать через метки (tags). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VCucumber 0 21 июля, 2015 Опубликовано 21 июля, 2015 · Жалоба сделал через date ибо номер билда ни о чём не говорит Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 44 21 июля, 2015 Опубликовано 21 июля, 2015 (изменено) · Жалоба при сборке позвать систему контроля версий и спросить у неё, какая сейчас ревизия. Полученную ревизию, например, можно скормить компилятору через командную строку ключик -D. А что, просто ревизию в основном файле прописать через дефайн?? Всегда так делал - просто и понятно, а всякие системы контроля версий и еще фиг знает чего, зачем? Вы ведь не свою собственную винду с нуля пишете Изменено 21 июля, 2015 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 21 июля, 2015 Опубликовано 21 июля, 2015 · Жалоба а всякие системы контроля версий и еще фиг знает чего, зачем? Как зачем? Для контроля версий, конечно. Оч. рекомендую, кстати. А ещё советую сверлить дырки в бетоне перфоратором, а не буравчиком :-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 44 21 июля, 2015 Опубликовано 21 июля, 2015 · Жалоба Как зачем? Для контроля версий, конечно. Оч. рекомендую, кстати. И что это мне даст? Я и так прекрасно версии своих прог контролирую, без доп. приблуд Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 21 июля, 2015 Опубликовано 21 июля, 2015 · Жалоба И что это мне даст? Я и так прекрасно версии своих прог контролирую, без доп. приблуд Хозяин - барин. Я без системы контроля версий уже сошёл бы с ума, причём не единожды. От числа и масштаба задач зависит, конечно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VCucumber 0 22 июля, 2015 Опубликовано 22 июля, 2015 · Жалоба да это не беда, вот как вы поступаете, когда какой-то код нужно вынести в библиотеку ? на большом компе проблем нет - вынес и если что поправил вызовы в сотне проектов в самом худшем случае максимум комп перезагрузишь из-за изменений в библиотеке а для мк ? очень хочется иметь отдельный полный каталог на каждый проект, чтобы в случае косяков в библиотеке чего-нибудь в куда-нибудь физически не въехало а как библиотеку править, что, её потом по всем проектам копировать ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 220 22 июля, 2015 Опубликовано 22 июля, 2015 · Жалоба И что это мне даст? Я и так прекрасно версии своих прог контролирую, без доп. приблуд При очередной сборке забудете этот дефайн с ревизией поменять. Мы написали скрипт, запускаемый в Prebuild, который получает с SVN-а ревизию и пишет её в хидер (в виде дефайна) подключаемый к проекту (с пересборкой всего проекта при его обновлении). Также в этот хидер пишется дата/время, сетевое имя компа на котором делается сборка и виндовый логин юзера. Это всё включается в выходной образ прошивки по фиксированному адресу вместе с CRC образа. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
den_po 0 22 июля, 2015 Опубликовано 22 июля, 2015 · Жалоба Для svn можно сделать: http://stackoverflow.com/questions/16248/g...umber-into-code а вот, например, гит не дает номер ревизии, но можно попробывать через метки (tags). Можно и номер ревизии получить, только толку от него нет. С гитом стоит использовать хеш, можно сокращённый. Например так: git log -1 --pretty=format:"#define FWVERHASH 0x%%h" > gitver.h Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться