Forger 26 28 декабря, 2022 Опубликовано 28 декабря, 2022 · Жалоба Just now, tonyk_av said: динамической памяти Ну да, для полноты картины тут не хватает еще дин. памяти 💪 1 minute ago, tonyk_av said: Если они в ПЗУ, то тогда у ТС не было бы вопроса с передачей типа данных Передача типа данных занимает всего ОДИН БАЙТ в озу, а хранение всех видов индексов (таблица) прекрасно можно хранить в ROM. Впрочем, из-за отсутствия вменяемого объяснения сути самой задачи я мог неправильно понять затею ТС Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AndyBig 8 28 декабря, 2022 Опубликовано 28 декабря, 2022 · Жалоба 32 minutes ago, Forger said: А все ли данные там динамичные и предполагают изменения в рантайме? Хороший вопрос, но ответа на него нет, ТС не раскрывает своих целей 🙂 Но судя по тому коду, который он пытается запустить - да. Мое понимание его задачи: в процессе выполнения программы где-то в одном месте разместить по определенному адресу памяти некоторое значение, которое может быть char, short, int или double, а потом где-то в другом месте определить значение какого типа лежит по этому адресу и корректно получить его. Правда, зачем это - я не знаю. Все равно резервировать память надо будет под максимальный тип, и при его записи-чтении можно к этому максимальному типу и приводить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 28 декабря, 2022 Опубликовано 28 декабря, 2022 · Жалоба On 12/28/2022 at 11:07 AM, Forger said: Впрочем, из-за отсутствия вменяемого объяснения сути самой задачи я мог неправильно понять затею ТС тут нет никакой мистики. если можно сэкономить 100 байт - я предпочитаю сэкономить. если нет - на нет и суда нет. а генерик нужен потому что пользователь в скрипте может обратиться к переменным разных типов данных. а мой интерпретатор скрипта довольно простенький, приходится искать пути. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 26 28 декабря, 2022 Опубликовано 28 декабря, 2022 · Жалоба 7 minutes ago, jenya7 said: генерик генерик - это что-то из области лекарств, где вы встречали такой термин в программировании? 9 minutes ago, jenya7 said: потому что пользователь в скрипте может обратиться к переменным разных типов данных. обратиться - передать номер типа в функцию разбора, это всего ОДИН байт. Повторю в который раз все тот же вопрос - обязательно ли хранить в ОЗУ значения в всех ста типов (или сколько их там)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tonyk_av 45 28 декабря, 2022 Опубликовано 28 декабря, 2022 · Жалоба 2 hours ago, jenya7 said: генерик нужен потому что пользователь в скрипте может обратиться к переменным разных типов данных Ну вот, всё и прояснилось. Тебе нужно, чтобы а=123 обрабатывалась как число для b=456+a , и при этом в выражении d="stupid"+a это же 'а' было интерпретировано как строка. Для этого тебе как раз и подойдёт моё предложение хранить и передавать переменную как строку, по разному интерпретируя её в зависимости от контекста. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AndyBig 8 28 декабря, 2022 Опубликовано 28 декабря, 2022 · Жалоба 4 hours ago, tonyk_av said: Для этого тебе как раз и подойдёт моё предложение хранить и передавать переменную как строку, по разному интерпретируя её в зависимости от контекста. А я бы конвертировал в строку только по необходимости. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tgruzd 11 29 декабря, 2022 Опубликовано 29 декабря, 2022 · Жалоба 2 часа назад, AndyBig сказал: А я бы конвертировал в строку только по необходимости. +1 Мне почему-то кажется, что там даже не в строках дело, а вроде отличить флоат от инта хотят. Да даже если и так, то один байт для идентификатора типа - не большая цена. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tonyk_av 45 29 декабря, 2022 Опубликовано 29 декабря, 2022 (изменено) · Жалоба 1 hour ago, tgruzd said: а вроде отличить флоат от инта хотят ТС хочет в зависимости от контекста одну и ту же строку интерпретировать или как float, или как int, или как string. 4 hours ago, AndyBig said: А я бы конвертировал в строку только по необходимости. Так я об этом и говорю. Изменено 29 декабря, 2022 пользователем tonyk_av Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tgruzd 11 29 декабря, 2022 Опубликовано 29 декабря, 2022 · Жалоба 5 минут назад, tonyk_av сказал: ТС хочет в зависимости от контекста одну и ту же строку интерпретировать или как float, или как int, или как string. Судя по прошлым темам, ТС занимается обработкой скриптов которые должны управлять мотором (в числе прочего, видимо). И этап парсера он, судя по всему, преодолел. А теперь занимается вычислением выражений. Впрочем, это просто мои догадки, основанные ни на чём. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 30 декабря, 2022 Опубликовано 30 декабря, 2022 (изменено) · Жалоба On 12/28/2022 at 7:54 PM, tonyk_av said: это же 'а' было интерпретировано как строка. Для этого тебе как раз и подойдёт моё предложение хранить и передавать переменную как строку, по разному интерпретируя её в зависимости от контекста. интерпретировать строку это медленно. если бы я выбрал такой путь половина тем были бы неактуальны. 🙂 Изменено 30 декабря, 2022 пользователем jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tonyk_av 45 30 декабря, 2022 Опубликовано 30 декабря, 2022 · Жалоба Ессно. Заведи структуру из кода значения и union, в котором хранишь значение. И передавай в функцию структуру. Это если не хочешь использовать перегрузку или шаблоны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться