Все смешалось, предлагаю или закончить, или тему новую поднять, а?
мне че то было скучно, и делать было нечего, а вы кстате стали катализатором))) и я решил пару блинков сделать, и просто опубликовал еще блинки тут, которых возможно не было…
тогда надо 2 темы! в первой только коды, а во второй флуд, к тому же тема же чистилась еще ? некоторые версии наверное утеряны, а так обновим память, и может даже что то новое появится, все же лучше чем гелиостат за копейки делать….
и я бы сделал 2 категории блинков, с загрузкой через ардуино идэ, и через программатор, без бутлоадера
Чтобы глобальная переменная была видима только в своем файле (или compilation unit’e, говоря терминами GCC) переменная должна быть статической. Глобальной статической. Иначе линкер ругаться будет при линковке, обнаружив несколько переменных с одинаковым именем.
По поводу глобальных переменных. ИСПОЛЬЗУЙТЕ!. Ничего постыдного в этом нет, а чтобы убедиться в этом - открываем исходный код Linux, Cisco IOS, FreeBSD и убеждаемся.
Это все сектантство - “глобальные переменные от диавола“, “goto - прямая дорога в преисподнюю“, “возвращать результат через параметр-указатель - грех и просто некрасиво”, и так далее. Поменьше обращаем внимание на это и пишем так, как удобно.
“Ох, не надо бы вслух, ох, не надо бы!” ![]()
Дискуссию зарождаю же ![]()
Таки да. Как говорится,
« … исключительно ради поддержания интеллектуального уровня общения …»
вот был у меня примерчик, когда через goto решалось очень красиво и компактно, а без, надо было ужом повертеться
![]()
Ужооооом проверяться
![]()
П@сд#ц, товарищи!
Удалось?
так GOTO есть, вот и не пришлось
Не было бы GOTO, было бы еще проще.
И без всяких ужей.
Нет, кроме шуток: опубликуйте условие задачи, для которой по Вашему мнению наилучшим решением является использование GOTO.
не вспомню где код, если встретится кусок - выложу
Нет, на самом деле интересно было бы посмотреть пример, где GOTO действительно необходим. Я не утверждаю, что такое невозможно, но лично мне с таким сталкиваться не приходилось.
За последние 15-20 лет я ни разу не использовал GOTO. Даже на Фортране.
надо было выпрыгнуть из цикла строго в определённую точку программы
Это не задача, это - особенность реализации.
Хотелось бы услышать аргументы в пользу того, что такая необходимость была вызвана структурой самой задачи, а не погрешностями в проектировании решения.
void process_matrix() {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
if (matrix[i][j] == CRITICAL_VALUE) {
goto matrix_processing_done; }
// Обработка...
}
}
matrix_processing_done:
// Дополнительная логика...
}
воспользуйтесь моим, если спросят нафига, скажите что например использовать флаги для условия это слишком долгое выполнение кода! и вовсе удобно понимать куда надо переходить, однако если захотят, все равно докопаются, и вы нечего не докажете)))
Чушь.
goto сбрасывает конвейер и тем самым замедляет выполнение кода.
А флаги тут вообще ни при чем.
