Size: a a a

2021 September 02

АГ

Александр Гравит... in Embedded Group
имхо. если есть инструмент, задача под него есть
источник

NK

ID:0 in Embedded Group
#Москва #EmbeddedLinux #ITвакансия #Разботчик #developer #EmbeddedDeveloper #встроенноеПО
⭐️Приглашаем Embedded Linux программиста
Компания Итэлма занимается разработкой и производством автомобильных электронных блоков (управление двигателем, кузовной электроникой, системы телематики и т.д.)
Проект ЭРА ГЛОНАСС.
Заработная плата – до 200 тр.
Локация – Москва.
Задачи:
🔸Разработка и сопровождение ПО Linux-модулей вычислительно-телематических устройств автомобилей
🔸Разработка бизнес-логики
🔸Проектирование протоколов взаимодействия модулей и систем
Ожидаем:
🔸Опыт работы с Embedded Linux
🔸Знание ядра OС Linux
Предлагаем:
🔸Официальное оформление по ТК РФ
🔸Гибкое начало рабочего дня, гибридный режим работы
🔸Повышение квалификации за счет компании
🔸Компенсация за питание
🔸Занятия спортом
🔸Бесплатная отапливаемая парковка в БЦ
Буду рада резюме и рекомендациям  https://t.me/Valeriya_HRM, +7-995-797-08-22 (WhatsApp), career@xrc.ru
источник

VO

Vyacheslav Olkhovche... in Embedded Group
как будто хедер обладает какой-то магией.
если имя глобальное то оно полубас будет засорять пространство имен. и нельзя будет слинковать два модуля у которых по какой-то причине имена внутри совпали. а если бы все внутрение имена были бы статиком -- это не помешало бы
источник

AT

Alexey Tsvetkov in Embedded Group
Вот за это я люблю с++, там есть пространства имен. Особенно актуально для enum, потому что они в си все глобально видны
источник

VO

Vyacheslav Olkhovche... in Embedded Group
а раньше еще и поля структур тоже были глобально видны.
источник

AT

Alexey Tsvetkov in Embedded Group
Не слышал о таком. Это как?
источник

VO

Vyacheslav Olkhovche... in Embedded Group
это было давно, в начале 70-х
источник

АГ

Александр Гравит... in Embedded Group
если не вынести в хедер, переменная не будет доступна в другом файле. верно?
источник

VO

Vyacheslav Olkhovche... in Embedded Group
нет
источник

АГ

Александр Гравит... in Embedded Group
- мааагия )
источник

VO

Vyacheslav Olkhovche... in Embedded Group
с чего бы?
источник

АГ

Александр Гравит... in Embedded Group
забей
источник

АГ

Александр Гравит... in Embedded Group
хотя не забивай. создаем переменную в .с файле, но не расшариваем через хедер. получается своеобразный аналог поля класса. сласс в этом случае это файл. получается ооп в СИ )))
источник

АГ

Александр Гравит... in Embedded Group
ой вот только не надо что тиражировать нельзя такие поля через копии объектов, мы же в си.
источник

АГ

Александр Гравит... in Embedded Group
и не благодярите
источник

AT

Alexey Tsvetkov in Embedded Group
Тогда в другом си файле компилятор ругнется на undeclared variable, но проглотит. Если переменная не static и одна с таким именем, то линкер ее потом найдет и будет все ок.
источник

VO

Vyacheslav Olkhovche... in Embedded Group
ооп в си делается не так. а вот примерно так:

    The dbopen() function returns a pointer to a DB structure on success and
    NULL on error.  The DB structure is defined in the <db.h> include file,
    and contains at least the following fields:

    typedef struct {
            DBTYPE type;
            int (*close)(DB *db);
            int (*del)(const DB *db, const DBT *key, u_int flags);
            int (*fd)(const DB *db);
            int (*get)(const DB *db, const DBT *key, DBT *data, u_int flags);
            int (*put)(const DB *db, DBT *key, const DBT *data,
                 u_int flags);
            int (*sync)(const DB *db, u_int flags);
            int (*seq)(const DB *db, DBT *key, DBT *data, u_int flags);
    } DB;
источник

AT

Alexey Tsvetkov in Embedded Group
😭
источник

VO

Vyacheslav Olkhovche... in Embedded Group
не проглотит. но всегда можно самому её объявить. а вот если она в исходном файле  будет static -- ничто не поможет
источник

АГ

Александр Гравит... in Embedded Group
глазаа мои глаза ...
источник