Обсуждаем контроллеры компании Atmel.
Чт авг 17, 2023 14:42:39
Добрый день!
В среде "Atmel Studio 7.2" набераю код.
Получилось несколько файлов.
В одной паре "* С и .h" например некая библиотека,
в другой паре ещё что-то... Так вот понадобилось выводить
"Кириллицу" на Китайский " 1602 " и пришлось состряпать
функцию которая будет работать с массивом и CGRAM но не суть...
Суть в том что эта функция находится в одной паре мне её нужно
вызвать из другой пары, но тогда у меня массив в её аргументе
куда я его перередаю подсвечивается КРАСНЫМ и прилетает ошибка
типа не задекларирован массив функции...
Не хочется перетаскивать всё в ту пару откуда её " зову " лишняя заморочка.
Вот может кто знает вдруг есть какая небудь директива чтоб все переменные и массивы
были видны из любой точки проекта????
Естественно хеддеры вначале уже подключены.
Пн авг 21, 2023 13:39:56
Вообще-то, во всех книжках область видимости переменных описывается практически сразу. Например, во втором издании "Программирование на C" авторов Керниган и Ритчи - на странице 44. Если заниматься программированием без и до чтения этой книги, то имеет смысл попросить администраторов создать раздел на форуме с названием "Вопросы от aleksey chilov"
Пн авг 21, 2023 15:22:57
Если переменную будите использовать больше чем в двух местах, то проще создать файл нп. hardware.h
и вставить туда ссылки на объявления переменных и функций.
- Код:
#ifndef HARDWARE_H_INCLUDED
#define HARDWARE_H_INCLUDED
extern uint8_t error; //Dla hranenija nomera oshibki
// Initializacija zeleza
extern void init_hardware(void);
#endif // HARDWARE_H_INCLUDED
В файлах просто делаете
- Код:
#include "hardware.h"
Для чего нужны #ifndef #define #endif, думаю разберетесь сами.
Вт авг 22, 2023 01:43:01
21й век на дворе
- Код:
#pragma once
extern uint8_t error; //Dla hranenija nomera oshibki
// Initializacija zeleza
extern void init_hardware(void);
Вт авг 22, 2023 08:27:13
#pragma once не является стандартом даже в 21 веке. Кроме того, использование стандартного метода дает возможность управляемого, селективного подключения
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.