Easyelectronics.ru

Электроника для всех
Текущее время: 23 авг 2019, 23:11

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Инициализация массива через #include "path"
СообщениеДобавлено: 02 май 2019, 19:53 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 16 окт 2014, 06:32
Сообщения: 56
Откуда: г. Черногорск Респ.Хакасия
Всем привет. Подскажите по синтаксису GCC (или trueSTUDIO не уверен кто отвечает за это). В общем есть проекты написанные в KEIL. Пытаюсь перетащить
на trueSTUDIO но вылазит ошибка при такой конструкции
Код:
const char pump[]=
#include "Bitmaps/pump.h"

Если возможность таким же способом инициализировать массивы в trueSTUDIO.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Инициализация массива через #include "path"
СообщениеДобавлено: 02 май 2019, 20:06 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 3878
Откуда: КЧР, поселок Нижний Архыз
Да любой нормальный компилятор это проглотит. Но лучше, чтобы не запутаться, называть файл с данными как-нибудь иначе, например, pump.databitmaps. Либо делать отдельный сишный файл, где будет написано
Код:
const char pump[]= {данные}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Инициализация массива через #include "path"
СообщениеДобавлено: 02 май 2019, 22:15 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 3537
ну разве так можно песать?
#include "xx.h"

..а в файле xx.h
const char[] = {1, 2,3};


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Инициализация массива через #include "path"
СообщениеДобавлено: 02 май 2019, 22:37 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 16 окт 2014, 06:32
Сообщения: 56
Откуда: г. Черногорск Респ.Хакасия
Писать так можно и было написано много проектов( не мной) в каждом более 50 .h файлов с самими массивами. массивы были проинициализированы способом
как писал выше. Я знаю что можно все переписать как было сказано
Цитата:
#include "xx.h"

..а в файле xx.h
const char[] = {1, 2,3};

Но вопрос про то как все это исправить в trueSTUDIO с мин. переделками.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Инициализация массива через #include "path"
СообщениеДобавлено: 03 май 2019, 00:04 
Старожил

Зарегистрирован: 17 дек 2014, 04:38
Сообщения: 676
Да, чудны дела твои, господи !
Вы головой ударились больно ? Или как понимать выше сказанное ? После выше написанного, я начинаю понимать cheblin-а. Кто в хидерах описывает константы, да и вообще переменные ? Переменные и константы описываются в файлах *.с . А в хидерах extern char pump[];. Все имена (переменных, функций), которые заносятся в таблицу имен ВСЕГДА определяются в *.c файлах, а объявляются в хидерах.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Инициализация массива через #include "path"
СообщениеДобавлено: 03 май 2019, 12:34 
Старожил
Аватара пользователя

Зарегистрирован: 01 авг 2016, 10:47
Сообщения: 277
Откуда: Таганрог
ну когда идет работа с ЦОС, то коэффициенты для фильтров удобно из матлаба через файл.h передавать. во первых по названию видно что за фильтр, во вторых удобно пробовать с разными характеристиками.

Keil\SES проглатывают такой код:

q31_t g_nFirCoeffs32_DecimateSt1_uEeg[ND_DECIMATE] = {
#include "fir_32_16_kaiser_dec_1000_500.hex"
};

думаю что и trueSTUDIO скушает и ешё попросит


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Инициализация массива через #include "path"
СообщениеДобавлено: 03 май 2019, 15:26 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2138
pvo125 писал(а):
Но вопрос про то как все это исправить в trueSTUDIO с мин. переделками.

Почитать как перестать стрелять себе в ногу на C, переделать нормально и больше не писать никогда такой говно-код.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Инициализация массива через #include "path"
СообщениеДобавлено: 03 май 2019, 17:25 
Старожил

Зарегистрирован: 17 дек 2014, 04:38
Сообщения: 676
Си это свобода, можно - все ! Но, что бы не "выстрелить себе в ногу", нужно придерживаться определенных правил построения кода. Си за ручку не водит и пальчиком не грозит, но это не значит что нужно совать гвоздик в розетку.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB