Добрый день!
В среде "Atmel Studio 7.2" набераю код.
Получилось несколько файлов.
В одной паре "* С и .h" например некая библиотека,
в другой паре ещё что-то... Так вот понадобилось выводить
"Кириллицу" на Китайский " 1602 " и пришлось состряпать
функцию которая будет работать с массивом и CGRAM но не суть...
Суть в том что эта функция находится в одной паре мне её нужно
вызвать из другой пары, но тогда у меня массив в её аргументе
куда я его перередаю подсвечивается КРАСНЫМ и прилетает ошибка
типа не задекларирован массив функции...
Не хочется перетаскивать всё в ту пару откуда её " зову " лишняя заморочка.
Вот может кто знает вдруг есть какая небудь директива чтоб все переменные и массивы
были видны из любой точки проекта????
Естественно хеддеры вначале уже подключены.
Atmel Snudio 7.2
-
aleksey chilov
- Нашел транзистор. Понюхал.
- Сообщения: 167
- Зарегистрирован: Вс мар 27, 2022 09:38:17
- Реклама
-
codenamehawk
- Вымогатель припоя
- Сообщения: 528
- Зарегистрирован: Вт фев 09, 2010 17:52:26
Re: Atmel Snudio 7.2
Посмотрите на extern
https://www.google.com/search?client=fi ... ern+c+zpsr
https://www.google.com/search?client=fi ... ern+c+zpsr
Re: Atmel Snudio 7.2
Вообще-то, во всех книжках область видимости переменных описывается практически сразу. Например, во втором издании "Программирование на C" авторов Керниган и Ритчи - на странице 44. Если заниматься программированием без и до чтения этой книги, то имеет смысл попросить администраторов создать раздел на форуме с названием "Вопросы от aleksey chilov"
-
codenamehawk
- Вымогатель припоя
- Сообщения: 528
- Зарегистрирован: Вт фев 09, 2010 17:52:26
Re: Atmel Snudio 7.2
Если переменную будите использовать больше чем в двух местах, то проще создать файл нп. hardware.h
и вставить туда ссылки на объявления переменных и функций.
В файлах просто делаете
Для чего нужны #ifndef #define #endif, думаю разберетесь сами.
и вставить туда ссылки на объявления переменных и функций.
Код: Выделить всё
#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"- DetSimen
- Родился
- Сообщения: 9
- Зарегистрирован: Пн окт 07, 2019 10:14:37
- Откуда: СФО, уездный город Н-ск
Re: Atmel Snudio 7.2
21й век на дворе
Код: Выделить всё
#pragma once
extern uint8_t error; //Dla hranenija nomera oshibki
// Initializacija zeleza
extern void init_hardware(void);
Праграмный кот. Хожу по цыкалу кругом.
- Реклама
Re: Atmel Snudio 7.2
#pragma once не является стандартом даже в 21 веке. Кроме того, использование стандартного метода дает возможность управляемого, селективного подключения


