Pull to refresh
144
11.1
Александр Рябиков @rsashka

Системный архитектор

Send message
Я и сейчас раскрываю приватные объявления при сборке юнит тестов, чтобы не заморачиваться с наследованием классов.
Меня удивило предложение использовать двоеточия в макросах
Причем тут эти макросы?
Я про двоеточие
warning: ISO C++11 requires whitespace after the macro name
error: expected primary-expression before ‘public’
note: in expansion of macro ‘private’
error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive]
note: in expansion of macro ‘private’
error: expected ‘;’ at end of member declaration
note: in expansion of macro ‘private’
#define private: public:
А разве так прокатит???
Если оставить только скобки, то в коде будет ошибка компиляции
if (true)
  MACRO(foo); // <- "Лишняя" `;`
else // <- Ошибка: оторванный `else`
  /* что-то еще */;
Именно для того, чтобы избежать подобных багов, у макросов должна быть объявлена своя область видимости. Для удобства в этих целях принято использовать цикл do {} while (0);.

Цель конструкции do {} while (0); немного другая. Не объявить область видимости, это и обычными скобками можно сделать
Цикл do/while уникален тем, что является единственной (почти) в языке С грамматической конструкцией, которая формирует блок, и при этом всегда безусловно заканчивается на ;. Благодаря этой замыкающей; мы можем более естественным образом использовать do {… } while (0) внутри составных макросов для объединения их в единый statement.
Может сделать на сайте отдельный Хаб для экспериментов с генеративными нейронными сетями?
Замечательная статья и удивительный слог!
Но меня окончательно порвало после фразы:
Но нет повода расстраиваться, вспомните про самый провальный спринт в мировой истории: 5 дней сотворения и полтора миллиарда лет непрерывного рефакторинга.
Если все получится, сможете стать Ярдреем, но в области ПО.
Упаси Боже от такой славы
Изначально буфера для DMA распределялись статически, а не в куче, поэтому проблем не возникло.
Я понял (уже почитал описание). Хотя мне все равно какой вариант кучи использовать, т.к. выделенную память я не освобождаю (только один раз выделил на старте и больше не трогаю).

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

Ну а Хабр решил использовать как шпаргалку для памяти :-). Может еще кому пригодится.
Предлаю пока не дергаться и рассматривать данную статью как публичную претензию для начала разговора. А вот если они не свяжутся или условия не устроят, тогда поступать так, как посоветует юрист.
Спасибо, не знал.
Хотя, если честно, то я и не разбирался настолько подробно (сам сейчас использую heap_4).
Это как раз очень вероятно.
Но мало вероятно, что они купили и право на дальнейшее распространение.
Безусловно можно. Но все же хотелось сделать все с минимальными переделками, чтобы не словить ошибок из-за неправильного аллоцирования объектов.

Да и использую я gcc под STM32CubeIDE.
А давайте забьмемся, что если юрист найдется, то вы мне..., ну не знаю, перечислите 10 процентов от полученной компенсации (если она будет)?
А если не найдется, то я сам готов выступить в роли юриста, и возьму на себя расходы по подготовке материалов для этого разбирательства?

Но прежде скиньте ссылку (или пришлите в личку) лицензию, по которой вы передаете свои наработки.
Ну уже значительно понятнее.
Доработка продавалась другим покупателям под какой лицензией?
Другие покупатели могут её перепродавать?

А юрист любой, кто разбирается в авторских правах.
Думаю, он сам найдется, прочитав данную статью ;-)
Я знаю анекдот про «нюанс», но не наблюдаю открытого уголовного дела, про автоматчиков под окнами тоже ничего не написано, да и Хабр не жалобная книга.

Поэтому может быть напишешь без изподвыподвертов простыми словами, как получилось, что код оказался у ОЗОНА, и если ты им сам его же и продал, то на каких условиях?
Напиши простыми словами без иносказаний, откуда у них появилось твоя доработка?
Если они её сперли, то документируй нарушение и иди к юристам, а если по хорошему не договоритесь, то в суд.
А если ты им сам писал, продал и передал права, то может быть они и правы?
Регистрация ПО не обязательна
Если бы я публиковал материал как статью, то я так бы и поступил.
А так, мне реально понравился заголовок исходной новости.
Даже специально добавил тег «юмор» :-)

Information

Rating
846-th
Location
Россия
Date of birth
Registered
Activity

Specialization

Embedded Software Engineer, Software Architect
Lead
C++
OOP
Linux
Programming microcontrollers
Embedded system
C
Qt
Software development