-
- В целом правильно. Но есть нюанс, который позволяет существовать и
другому мнению. Вот SciFi и стебется в своей манере :-) Если кратко
- количество экземпляров статической переменной будет строго равно
количеству экземпляров функции. Ну а далее - вам видней, сколько у
вас этих функций :-) - il-2(21.04.2024 08:40)
- Вы знаете способ создать более одного экземпляра функции? Cкpипaч(134 знак., 21.04.2024 10:45)
- -> il-2(1 знак., 21.04.2024 12:23, ссылка)
- А кто ему помешает заинлайнить? Видимость переменной, это только шкрябочка в мосхе линкера. - mse homjak(21.04.2024 11:24)
- Определение функции поместить в хедер. Функция статическая. Вот и
будут одноименные функции в разных сишных модулях, включающих этот
хедер. - SciFi(21.04.2024 11:23)
- Можно попробовать на макросах накрутить "манглинг", чтобы на каждый вызов создавался свой экземпляр функции. - LightElf(21.04.2024 11:47)
- Проблема не в одинаковых функциях. mse homjak(259 знак., 21.04.2024 11:39)
- Контекст нужно указывать в явной форме. Можно хранить "снаружи" и
передавать указатель, можно внутри и передавать индекс. Cкpипaч(62 знак., 21.04.2024 12:00)
- Как сделать закат солнца вручную, вполне понятно. Хочеца
непонятного: то-ли севрюжины с хреном, то-ли зарезать кого-нибудь. - mse homjak(21.04.2024 13:25)
- Не советую. Сделай лучше шашлыки с красным вином :) Cкpипaч(29 знак., 21.04.2024 13:39)
- +1. Несколько экземпляров функций принято делать, если они отличаются кодом или типом параметров. Например в графических либах такое делают. В том же OpenGL тысяча почти одинаковых функций, пишут одну с кучей #ifdef, а потом её тысячу раз вставляют, обложив разными #define - LightElf(21.04.2024 12:07)
- Как сделать закат солнца вручную, вполне понятно. Хочеца
непонятного: то-ли севрюжины с хреном, то-ли зарезать кого-нибудь. - mse homjak(21.04.2024 13:25)
- Контекст нужно указывать в явной форме. Можно хранить "снаружи" и
передавать указатель, можно внутри и передавать индекс. Cкpипaч(62 знак., 21.04.2024 12:00)
- Как элегантно! Вы правы. - Cкpипaч(21.04.2024 11:29)
- Я стебусь по поводу "другого места". Вот честно не могу понять, как
мсье хомяк вычисляет, какое место другое, а какое нет. - SciFi(21.04.2024 10:22)
- Ну, я-ж примерный механизьм описал: при количестве вызовов больше
одного, компилер создаёт двумерный массив, где первый индекс, номер
вызова, а второй, индекс для доступа к статической переменной, если
больше одной. И заход в каждый вызов происходит прозрачно для
пользователя. Не будет-жэ он лезть в ассемблер. mse homjak(136 знак., 21.04.2024 11:22)
- Это в матлабе так, любое число матрицей считается, поэтому и тормозит дико. В маткаде как то проще, но фильтр с IIR только в 2001i смоделировать смог, 2014 и прочие от двойной сигмы в ступор впадают. - Visitor(21.04.2024 11:53)
- Такого идиотизма точно нет. - Cкpипaч(21.04.2024 11:36)
- Догадываюсь. - mse homjak(21.04.2024 11:40)
- Ну, я-ж примерный механизьм описал: при количестве вызовов больше
одного, компилер создаёт двумерный массив, где первый индекс, номер
вызова, а второй, индекс для доступа к статической переменной, если
больше одной. И заход в каждый вызов происходит прозрачно для
пользователя. Не будет-жэ он лезть в ассемблер. mse homjak(136 знак., 21.04.2024 11:22)
- Вы знаете способ создать более одного экземпляра функции? Cкpипaч(134 знак., 21.04.2024 10:45)
- В целом правильно. Но есть нюанс, который позволяет существовать и
другому мнению. Вот SciFi и стебется в своей манере :-) Если кратко
- количество экземпляров статической переменной будет строго равно
количеству экземпляров функции. Ну а далее - вам видней, сколько у
вас этих функций :-) - il-2(21.04.2024 08:40)