-
- До сих пор, я объявлял переменную в Х-файле, инклудил его в майн.ц
и больше ниучом себе не отказывал. Создавал файлы.ц с функцыями,
инклудил их в майн.ц и ни одна переменная не страдала. Ни в ГЦЦ для
АВР, ни в ГЦЦ для ПИК32 такой %ни не было. - mse homjak(17.07.2023 14:40)
- Ходил под пулями и ни одну не поймал. Везунчик! :-) - SciFi(17.07.2023 14:42)
- Какие пули? Там всё логично: инклуд, как банальная вставка текста
из файла в майн. Чо там можэт пойти не так? - mse homjak(17.07.2023 14:47)
- Месье знает толк в развлечениях. Tyмблep(1097 знак., 17.07.2023 16:11)
- Если вы посмотрите на файлы прожэкта, то увидите, что ваш пример
принцыпиально отличается от моего и в таком варианте у меня проблем
нет. Если использовать в SomeRoutine() переменную XX_MM, то, по
идее, огребёте как и я. Например, таким образом: mse homjak(347 знак., 17.07.2023 16:47 - 17:18, ссылка, ссылка)
- Нет, это не так. Tyмблep(900 знак., 17.07.2023 18:00)
- Именно для того, чтобы собрать все глобальные переменные в один файл, всё и затеяно. - mse homjak(17.07.2023 18:10)
- Должен признаться - однажды gcc сделал так: Tyмблep(218 знак., 17.07.2023 18:10)
- SciFi - прав. - Cкpипaч(17.07.2023 17:01)
- Спору нет, знать бы в чом... - mse homjak(17.07.2023 17:06)
- В *.h файлы следует включать объявления extern int var; а саму int var; определить только в одном main.c. Так
будет кошернее и всех должно устроить. - reZident(17.07.2023 17:18)
- Так оно кошерно, но когда в майн болтается куча переменных... - mse homjak(17.07.2023 17:21)
- Можно и не в main, ключевое - только в одном месте. Конечно,
логичнее придерживаться модульной структуры и создавать
(определять) переменную только в том *.с, в котором функции с ней
работающие. - Cкpипaч(17.07.2023 17:29)
- Проблема в том, что работать с кой-какими переменными будут во
многих *.ц. Оттого и кипишь. - mse homjak(17.07.2023 17:34)
- А я наверное пишу совсем неправильно и потому во всех проектах создаю для main.c кроме main.h еще и var.h. В main.h пишу все общие дефайны проекта и typedef-ы, а в var.h глобальные переменные. Ну а extern-ы в соответствующих c-файлах. Глобальные - по минимуму. - my504(17.07.2023 22:21)
- Модульность. Геттеры и сеттеры (условно), но на самом деле что-то
более осмысленное должно быть. Это же йэзыг высокого
штиляуровня. Если хотите превратить его обратно в ассемблер, сам себе злобный буратина. Впрочем, у нас швабода, можно и ассемблер на сях. - SciFi(17.07.2023 18:33)- Настоящий Программист способен на любом языке написать программу на
Фортране(С) - mse homjak(17.07.2023 19:16)
- Я пишу на Паскале. На любом языке :) Cкpипaч(42 знак., 17.07.2023 19:18)
- Я пишу под давлением 100500 Паскалей :-( - SciFi(17.07.2023 19:20)
- Вообще-то, Паскаль это апафеоз структурного программирования. Не
объектного, и не функционального. В принципе, чтобы код работал -
самое то. - Cкpипaч(17.07.2023 19:22)
- Когда-то давным-давно я даже что-то о нём знал. Осталось
воспоминание, что там значительное пересечение с сями. Модульность
достигается похожим образом. - SciFi(17.07.2023 19:27)
- В общем-то достаточно было запомнить одно различие :. Паскаль -
Европа, Ц - Пиндостан. - Kpoк(17.07.2023 21:02)
- Си - главный китайский начальник! - SciFi(17.07.2023 21:05)
- В общем-то достаточно было запомнить одно различие :. Паскаль -
Европа, Ц - Пиндостан. - Kpoк(17.07.2023 21:02)
- Когда-то давным-давно я даже что-то о нём знал. Осталось
воспоминание, что там значительное пересечение с сями. Модульность
достигается похожим образом. - SciFi(17.07.2023 19:27)
- Вообще-то, Паскаль это апафеоз структурного программирования. Не
объектного, и не функционального. В принципе, чтобы код работал -
самое то. - Cкpипaч(17.07.2023 19:22)
- Я пишу под давлением 100500 Паскалей :-( - SciFi(17.07.2023 19:20)
- Я пишу на Паскале. На любом языке :) Cкpипaч(42 знак., 17.07.2023 19:18)
- Настоящий Программист способен на любом языке написать программу на
Фортране(С) - mse homjak(17.07.2023 19:16)
- Почитай классиков. Серьёзно. Тебе уже раз пять пересказали как это ими было задумано и как работает. - Cкpипaч(17.07.2023 17:37)
- Проблема в том, что работать с кой-какими переменными будут во
многих *.ц. Оттого и кипишь. - mse homjak(17.07.2023 17:34)
- Ну так кашрут и эстетика ни разу не синонимы. Вообще я (когда программизЪмом от неизбежности страдал) глобальные переменные в глобальную структуру упихивал. Для эстетизЪму. - reZident(17.07.2023 17:24)
- Можно и не в main, ключевое - только в одном месте. Конечно,
логичнее придерживаться модульной структуры и создавать
(определять) переменную только в том *.с, в котором функции с ней
работающие. - Cкpипaч(17.07.2023 17:29)
- Так оно кошерно, но когда в майн болтается куча переменных... - mse homjak(17.07.2023 17:21)
- Читайте учебник. Как вариант, самый первый от Кернигана и Ричи. Cкpипaч(113 знак., 17.07.2023 17:11)
- В *.h файлы следует включать объявления extern int var; а саму int var; определить только в одном main.c. Так
будет кошернее и всех должно устроить. - reZident(17.07.2023 17:18)
- Спору нет, знать бы в чом... - mse homjak(17.07.2023 17:06)
- Нет, это не так. Tyмблep(900 знак., 17.07.2023 18:00)
- Если вы посмотрите на файлы прожэкта, то увидите, что ваш пример
принцыпиально отличается от моего и в таком варианте у меня проблем
нет. Если использовать в SomeRoutine() переменную XX_MM, то, по
идее, огребёте как и я. Например, таким образом: mse homjak(347 знак., 17.07.2023 16:47 - 17:18, ссылка, ссылка)
- Отказ от чтения священных текстов обрекает вас на вечные муки. Что ж, столь тяжкий грех должен караться, всё справедливо. - SciFi(17.07.2023 14:48)
- Месье знает толк в развлечениях. Tyмблep(1097 знак., 17.07.2023 16:11)
- Какие пули? Там всё логично: инклуд, как банальная вставка текста
из файла в майн. Чо там можэт пойти не так? - mse homjak(17.07.2023 14:47)
- Ходил под пулями и ни одну не поймал. Везунчик! :-) - SciFi(17.07.2023 14:42)
- До сих пор, я объявлял переменную в Х-файле, инклудил его в майн.ц
и больше ниучом себе не отказывал. Создавал файлы.ц с функцыями,
инклудил их в майн.ц и ни одна переменная не страдала. Ни в ГЦЦ для
АВР, ни в ГЦЦ для ПИК32 такой %ни не было. - mse homjak(17.07.2023 14:40)