@ProCxx

Страница 2084 из 2477
Alexander
23.05.2018
12:42:07
и компилироваться несколько раз, соттв.

Max
23.05.2018
12:42:24
более того иногда содержимое хедера может меняться типа всяких boost.pp

Сиие
23.05.2018
12:42:30
У нас с вами какие-то разные знания о сборщиках

Google
Сиие
23.05.2018
12:43:49
Вы говорите о какой-то хуйне которая работать в принципе не может

Max
23.05.2018
12:44:41
ну а как по твоему работает препроцессор?

лет 30 уже работает если не больше

Сиие
23.05.2018
12:47:35
лет 30 уже работает если не больше
по вашей логики если я создам два три файла, в одном создам ГЛОБАЛЬНУЮ переменную "А", потом подключу этот файл в двух других файлах то у меня будет ДВЕ переменные "А"? для каждого из файлов?

ну а как по твоему работает препроцессор?
и это вообще задача скорее линковщика

Max
23.05.2018
12:56:22
по вашей логики если я создам два три файла, в одном создам ГЛОБАЛЬНУЮ переменную "А", потом подключу этот файл в двух других файлах то у меня будет ДВЕ переменные "А"? для каждого из файлов?
а если в 2 cpp явно создать две глобальные статичесике переменные с одинаковым именем, то они сольются в одну? а если мне надо именно две и просто имя совпало?

Aidar
23.05.2018
12:57:55
static
static linkage?

Сиие
23.05.2018
12:58:00
Статические в каком смысле?
Да просто глобальные в общей зоне видимости, тут без разницы

Google
Aidar
23.05.2018
12:58:00
Будет две

Max
23.05.2018
12:58:19
static linkage?
обьявлены с ключевым словом static

Сиие
23.05.2018
12:58:42
static linkage?
static unsigned short attribute ((aligned (16))) app_spi_rx_buffer1[1];

Aidar
23.05.2018
12:58:43
Тоесть no-linkage

Сиие
23.05.2018
12:59:13
Тоесть no-linkage
просто статик, не усложняй

Max
23.05.2018
12:59:14
а как с linkage?

Aidar
23.05.2018
12:59:22
Ну не сольются они

inline extern сольются

Max
23.05.2018
13:00:10
ну вот да

получится две копии

Сиие
23.05.2018
13:00:33
ну вот да
екстен это не переменная

Max
23.05.2018
13:00:47
а теперь если будет один хедер с определением аткой переменной и он будет инклюдится в два цппшника, будет две переменных?

Сиие
23.05.2018
13:00:48
Aidar
23.05.2018
13:00:59
Max
23.05.2018
13:01:11
я не про екстерн

просто статик

Сиие
23.05.2018
13:01:17
extern int foo=8;
екстерн с "=" не наботает

Aidar
23.05.2018
13:01:23
Уверен?

Это объявление с определением

Сиие
23.05.2018
13:01:35
Уверен?
совершенно полностью

Google
Сиие
23.05.2018
13:02:00
Это объявление с определением
екстерн это не определение, это заявление, то эта переменная была объявлена в другом месте

Уверен?
можешь провериь

Aidar
23.05.2018
13:03:26
Ладно ты прав

Не шарю в синтаксисе

Сиие
23.05.2018
13:04:36
кортиночки порезали, так бы показал скрин

Aidar
23.05.2018
13:06:09
Стоп блджад о каком вы статике

Max
23.05.2018
13:06:27
ну вот срыв покровов какойто со статиками

все запутались

так что в итоге если будет один инклюд со статиком в разные цпп?

Aidar
23.05.2018
13:06:55
Internal linkage или static storage duration?

Первое 2 переменные Второе зависит от того как объявлена функция

Сиие
23.05.2018
13:07:57
так что в итоге если будет один инклюд со статиком в разные цпп?
не бывает инклюдов в конкретный ЦПП, есть инклюд в проект

Aidar
23.05.2018
13:08:19
Да их три обычных блджад

Aidar
23.05.2018
13:08:42
Где

В классе?

Max
23.05.2018
13:08:57
Aidar
23.05.2018
13:09:09
Значит первое

Сиие
23.05.2018
13:09:12
просто в файле

Google
Aidar
23.05.2018
13:09:39
static foo(){
Почему он ваще мне функцию показал

Max
23.05.2018
13:09:47
не бывает инклюдов в конкретный ЦПП, есть инклюд в проект
#include <string> в cpp тоеж в проект инклюдится? а если содержимое хедера меняется в зависимости от определенных макросов в точке инклюда?

Aidar
23.05.2018
13:09:51
Ну будет 2 функции

Кажется чаты поменялись ролями

Тут обсуждают какую-то дичь а в том холивары за винапи

Max
23.05.2018
13:11:54
Ну будет 2 функции
и каждая с отдельной статической переменной внутри функции

Max
23.05.2018
13:18:54
дичь? а потом такое всплывет в проекте и будешь думать почему курсор между функциями прыгает или почему сделал в одном месте изменение в переменной, а в другом месте все по старому

Egor
23.05.2018
13:20:03
и часто приходится лепить статические переменные в хедерах?

Admin
ERROR: S client not available

Max
23.05.2018
13:21:28
я ваще не пишу глобальные переменные. но вот каждый раз встречаю энтерпрайзные проекты с такими вещами

нынешний проект где одни синглтоны

ранее не встерчал такого

до этого было что зависимости передавались через 100500 указателей по всему проекту (сырых да) и периодически оно падало тк указатель протухал

тут хотя быне падает

так что хочется знать все нюансы такого говнокода

разве это плохо?

Egor
23.05.2018
13:26:31
пример?

Google
Сиие
23.05.2018
13:27:01
пример?
static unsigned short attribute ((aligned (16))) app_spi_rx_buffer1[1];

пример?
зачем мне её делать не глобальной?

Egor
23.05.2018
13:27:54
ты мне скажи

Сиие
23.05.2018
13:28:59
ты мне скажи
нет смысла, как и нет смысла её пихать в классы, не надо всё притягивать в ООП когда это надо и не надо

Egor
23.05.2018
13:30:00
необходимость многих экзепляров чем обусловлена?

Egor
23.05.2018
13:30:20
этой переменной

Сиие
23.05.2018
13:30:47
он один на весь проэкт

и таскать его через ссылки и гетеры смысла нет

Egor
23.05.2018
13:32:34
ты точно не потерял нить разговора? по твоим словам у тебя статическая переменная объявлена в хедере, который подключается в несколько файлов - она не глобальная и у неё много копий

Сиие
23.05.2018
13:35:00
так, ещё раз разговор о статической глобальной переменной, вне класса, которая обьявлена в хедере, я правильно всё понял?

Egor
23.05.2018
13:35:24
она уже не будет глобальной, если статик

Сиие
23.05.2018
13:35:38
она уже не будет глобальной, если статик
она не будет глобальной если она статик и объявлена внутри тела класса

тогда она будет условно глобальной для всех членов класса, и будет в единственном екземпляре

Aidar
23.05.2018
13:37:48
с какого перепуга?
Он имел ввиду у нее internal linkage

Egor
23.05.2018
13:38:57
с какого перепуга?
ну, если что, это так)

Сиие
23.05.2018
13:40:55
ну, если что, это так)
может ты про другой статик какой-то говоришь?

Max
23.05.2018
13:41:08
мне кажется вы запутались в static, они бывают разные

и что вообще обсуждают тут, lifetime или scope?

Страница 2084 из 2477