Перейти к содержанию
    

Just now, tonyk_av said:

динамической памяти

Ну да, для полноты картины тут не хватает еще дин. памяти 💪

1 minute ago, tonyk_av said:

Если они в ПЗУ, то тогда у ТС не было бы вопроса с передачей типа данных

Передача типа данных занимает всего ОДИН БАЙТ в озу, а хранение всех видов индексов (таблица) прекрасно можно хранить в ROM.

Впрочем, из-за отсутствия вменяемого объяснения сути самой задачи я мог неправильно понять затею ТС

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

32 minutes ago, Forger said:

А все ли данные там динамичные и предполагают изменения в рантайме?

Хороший вопрос, но ответа на него нет, ТС не раскрывает своих целей 🙂 Но судя по тому коду, который он пытается запустить - да.

Мое понимание его задачи: в процессе выполнения программы где-то в одном месте разместить по определенному адресу памяти некоторое значение, которое может быть char, short, int или double, а потом где-то в другом месте определить значение какого типа лежит по этому адресу и корректно получить его. Правда, зачем это - я не знаю. Все равно резервировать память надо будет под максимальный тип, и при его записи-чтении можно к этому максимальному типу и приводить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 12/28/2022 at 11:07 AM, Forger said:

Впрочем, из-за отсутствия вменяемого объяснения сути самой задачи я мог неправильно понять затею ТС

тут нет никакой мистики. если можно сэкономить 100 байт - я предпочитаю сэкономить. если нет - на нет и суда нет. а генерик нужен потому что пользователь в скрипте может обратиться к переменным разных типов данных.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 minutes ago, jenya7 said:

генерик

генерик - это что-то из области лекарств,

где вы встречали такой термин в программировании?

9 minutes ago, jenya7 said:

потому что пользователь в скрипте может обратиться к переменным разных типов данных.

обратиться - передать номер типа в функцию разбора, это всего ОДИН байт. 

Повторю в который раз все тот же вопрос - обязательно ли хранить в ОЗУ значения в всех ста типов (или сколько их там)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, jenya7 said:

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

Ну вот, всё и прояснилось.

Тебе нужно, чтобы

а=123

обрабатывалась как число для

 b=456+a

, и при этом в выражении

d="stupid"+a

это же 'а' было интерпретировано как строка. Для этого тебе как раз и подойдёт моё предложение хранить и передавать переменную как строку, по разному интерпретируя её в зависимости от контекста.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 hours ago, tonyk_av said:

Для этого тебе как раз и подойдёт моё предложение хранить и передавать переменную как строку, по разному интерпретируя её в зависимости от контекста.

А я бы конвертировал в строку только по необходимости.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, AndyBig сказал:

А я бы конвертировал в строку только по необходимости.

+1

Мне почему-то кажется, что там даже не в строках дело, а вроде отличить флоат от инта хотят. Да даже если и так, то один байт для идентификатора типа - не большая цена. 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, tgruzd said:

а вроде отличить флоат от инта хотят

ТС хочет в зависимости от контекста одну и ту же строку интерпретировать или как float, или как int, или как string.

 

4 hours ago, AndyBig said:

А я бы конвертировал в строку только по необходимости.

Так я об этом и говорю.

Изменено пользователем tonyk_av

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 минут назад, tonyk_av сказал:

ТС хочет в зависимости от контекста одну и ту же строку интерпретировать или как float, или как int, или как string.

Судя по прошлым темам, ТС занимается обработкой скриптов которые должны управлять мотором (в числе прочего, видимо).  И этап парсера он, судя по всему, преодолел. А теперь занимается вычислением выражений. Впрочем, это просто мои догадки, основанные ни на чём.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 12/28/2022 at 7:54 PM, tonyk_av said:

это же 'а' было интерпретировано как строка. Для этого тебе как раз и подойдёт моё предложение хранить и передавать переменную как строку, по разному интерпретируя её в зависимости от контекста.

интерпретировать строку это медленно. если бы я выбрал такой путь половина тем были бы неактуальны. 🙂

Изменено пользователем jenya7

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ессно.

Заведи структуру из кода значения и union, в котором хранишь значение. И передавай в функцию структуру. Это если не хочешь использовать перегрузку или шаблоны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...