-
- Докладываю, работающее решение: maleon(762 знак., 17.08.2023 09:28)
- А вот как такое предупреждение задавить, вопрос ещё тот. Другие
давятся, а такое ничем. Досадно. maleon(21834 знак., 17.08.2023 11:56)
- Ты прям классически. С костылями бежишь по граблям :-) - RxTx(17.08.2023 13:14)
- Заело, не мог остановиться. И по граблям, и по костылям, и с
завязанными глазами, куда нам от наших кактусов? maleon(357 знак., 17.08.2023 14:20)
- Кстати, а вот еще такая идея: il-2(768 знак., 17.08.2023 14:35)
- А чем вас этот вариант не устроил? =AlexD=(1237 знак., 17.08.2023 14:31)
- Это должно было бы сработать для С++, для С при помощи
типизированной константы (даже статической) невозможно описать
массив такого размера (ошибка компиляции). При помощи константы
заданной дефайном это можно сделать (так обычно и делается) - maleon(17.08.2023 17:17)
- Какого конкретно размера? Не должно быть отличий С и С++ в этом
месте. В любом случае ты же дефайн для инициализации чего то
используешь. Тех же указателей и массивов. - =AlexD=(17.08.2023 17:24)
- такого maleon(44 знак., 17.08.2023 21:16, ссылка, картинка)
- Можно попробовать поколдовать со структурами и массивами. А там и sizeof может помочь. Но это всё некрасиво, конечно. SciFi(1 знак., 18.08.2023 09:34, ссылка)
- А, теперь понял о чём речь. Да, в Сях const это не константа, а
всего лишь ридонли валюе, увы. Могу лишь предложить создавать
массивы не статически, а через maloc. - =AlexD=(18.08.2023 09:28)
- В версии ГЦЦ 11+, ужэ константа. По крайней мере, у АВР. - mse homjak(18.08.2023 10:14)
- такого maleon(44 знак., 17.08.2023 21:16, ссылка, картинка)
- Какого конкретно размера? Не должно быть отличий С и С++ в этом
месте. В любом случае ты же дефайн для инициализации чего то
используешь. Тех же указателей и массивов. - =AlexD=(17.08.2023 17:24)
- Это должно было бы сработать для С++, для С при помощи
типизированной константы (даже статической) невозможно описать
массив такого размера (ошибка компиляции). При помощи константы
заданной дефайном это можно сделать (так обычно и делается) - maleon(17.08.2023 17:17)
- Заело, не мог остановиться. И по граблям, и по костылям, и с
завязанными глазами, куда нам от наших кактусов? maleon(357 знак., 17.08.2023 14:20)
- Ты прям классически. С костылями бежишь по граблям :-) - RxTx(17.08.2023 13:14)
- Т.е. теперь все в одном файле, но править надо в 2-х местах :-) - il-2(17.08.2023 09:59)
- Классега. «Превозмогая трудности». :))))))) RxTx(1 знак., 17.08.2023 13:23, картинка)
- Наверное можно сделать так, что бы править в одном месте, типа
такого: AlexBi(329 знак., 17.08.2023 10:19)
- Описать массив с размером COUNT_BLOCKS не позволяет, была такая попытка - maleon(17.08.2023 11:48)
- Как-то так? >>> SciFi(1 знак., 17.08.2023 10:21, ссылка)
- Тут С++ и С# а надо вроде бы C и C# Хотя, да, изобрел велосипед :) - AlexBi(17.08.2023 10:54)
- шило <=> мыло ? - SciFi(17.08.2023 10:00)
- Ничего страшного, так проще не забыть по сравнению с двумя файлами в разных проектах. - =AlexD=(17.08.2023 10:05)
- А вот как такое предупреждение задавить, вопрос ещё тот. Другие
давятся, а такое ничем. Досадно. maleon(21834 знак., 17.08.2023 11:56)
- мб через сериализацию? - Vit(16.08.2023 17:56)
- Ну а почему нельзя сею процедуру софтверно организовать? SERGHIO(872 знак., 16.08.2023 17:50)
- Кстати, что-то на похожую тему на stackoverflow: SciFi(1 знак., 16.08.2023 16:28, ссылка)
- Ну там в общем то есть грязный, но работающий хак. - =AlexD=(16.08.2023 17:02)
- Странно, в обозначении (названии) язык C# есть решетка, а всего, с чем она обычно должна была бы работать нет. Непорядок - maleon(16.08.2023 16:10)
- Делаем хидер в котором объявляем static const int Conctanta=314;
Хидер инклюдим во все файлы проекта. За одно отключаем
соответствующие предупреждение - IBAH(16.08.2023 14:45)
- Проекты как бы на разных языках, Не знаю как С-шный хидер
подключить к проекту на С# - maleon(16.08.2023 16:22)
- Через дефайн типа компилятора. - BlackMorda(16.08.2023 21:47)
- Это не сработало, правда там у меня не правда "NETFRAMEWORK" а "NET" определено в С#. Компилятор ветку "#else" не компилирует, но синтаксис в ней проверяет и при ошибке дальше ничего не делает. С компилятор всё отличненько схавал, никаких вопросов, ошибок и предупреждений maleon(4 знак., 16.08.2023 22:04, ссылка)
- Через дефайн типа компилятора. - BlackMorda(16.08.2023 21:47)
- А теперь изучи, сколько у тебя копий этой константы в
результирующей прошивке, ыыыгыгыыгы. Константы в коде каждого файла
должны юзаться, и должны юзаться через нетипизированный указатель,
чтобы компилер не встроил в код. - RxTx(16.08.2023 16:10)
- Ну встроил и встроил, в чём печаль? - SciFi(16.08.2023 16:31)
- Когда подобным образом размножаются немалые костантые массивы это увеличивает размер. - RxTx(16.08.2023 17:07)
- нормальный линкер при оптимизации проверит и скоалесит идентичные сучности. gnu ld и gold это умею делать лет 20. если линкер тупой но хороший с/с++ компиллер заменитн const на constexp или consteval , тогда в объектниках линкер будет понимать что это одно и тоже по сопутствующей инфе о объекте. - klen(16.08.2023 16:28)
- Ну встроил и встроил, в чём печаль? - SciFi(16.08.2023 16:31)
- Проекты как бы на разных языках, Не знаю как С-шный хидер
подключить к проекту на С# - maleon(16.08.2023 16:22)
- Кажись кресты умеют сами определять где extern, но это не точно. - IBAH(16.08.2023 14:39)
- Желание верное. Кросс-языковые, кросс-платформенные и подобные
проекты требуют отдельного обращения. Принято иметь ОДИН исходный
файл с определениями и препроцессирующий инструмент (тулзу,
утилиту), который создаст выходные файлы под разные языки. Для TXT
файла констант вида NAME VALUE такая утилита или скрипт (или две
утилиты, const2c, const2csharp) пишутся быстрее чем ты набил сюда
вопрос, это несколькок строчек. Не надо бояться пистаь скрипты или
си-утилитки. Как RxTx(172 знак., 16.08.2023 14:16)
- Да быстрее написать скрипт, чем писать сюда. Но всё таки, чисто "академически", знает ли кто ответ на исходный вопрос, возможно ли такое "из коробки" для этих языков? Похоже это невозможно, раз нет ни одного ответа по существу. Но тем не менее, я благодарен всем ответившим за участие и желание помочь! - maleon(16.08.2023 14:22)
- Конечно, можно воспользоваться скриптом, скажем на Питоне (ещё один язык вдобавок), который будет следить за соответствием и приводить одно в соответствие с другим. Это как решение может быть, но так делать не хочу, запускать скрипт каждый раз перед компиляцией. Да и возможны проблемы с переносимостью на другой ПК, где может не быть Питона, или какого то пакета к нему - maleon(16.08.2023 14:16)
- Всегда можно внедрить в процесс сборки генерацию этих двух файлов из третьего. Или первого из второго. Или второго из первого. gawk для этого хорошо подходит. - SciFi(16.08.2023 14:13)
- Вынеси их в переменные сборочных окружений, любым удобным способом. - выaпpвaпp(16.08.2023 14:03)
- нужно этот 1(один) файл прописать в обоих средах, путь к нему
указать и алга. - Nikolay801_(16.08.2023 13:23)
- Синтаксисы языков разные, способы включения разные - maleon(16.08.2023 14:02)
- в одном файле написать 2 раза с условной компиляцией Nikolay801_(70 знак., 16.08.2023 14:52)
- Проверил, подлый компилятор С# (с Визуал Студией в придачу) залезли
в ветку "#else" и выдали ошибку (падла), очень-очень жаль, каменный
цветок не получается maleon(74 знак., 16.08.2023 18:33)
- "#if NETFRAMEWORK" нельзя заменить на "#ifdef NETFRAMEWORK"? - BlackMorda(16.08.2023 22:15)
- В этом что то есть, главное оба значения тут рядом, перед глазами. Забыть или не увидеть несоответствие трудно maleon(43 знак., 16.08.2023 16:33)
- Проверил, подлый компилятор С# (с Визуал Студией в придачу) залезли
в ветку "#else" и выдали ошибку (падла), очень-очень жаль, каменный
цветок не получается maleon(74 знак., 16.08.2023 18:33)
- шо в сишелл не работает? #define MAX_VAL (19) - Nikolay801_(16.08.2023 14:34)
- в одном файле написать 2 раза с условной компиляцией Nikolay801_(70 знак., 16.08.2023 14:52)
- Синтаксисы языков разные, способы включения разные - maleon(16.08.2023 14:02)
- Цитата: "Часто меняющиеся константы". Не мое дело, но похоже вы
задумали что-то не то. - Cкpипaч(16.08.2023 13:22)
- Согласен, но тут другое, я просто не знаю, как обосновать желание
воспользоваться общим файлом. Просто хотелось бы таки получить
ответ на интересующий вопрос, а не почему нельзя такое делать - maleon(16.08.2023 14:08)
- Телепаты подсказывают что речь идет о базе данных. - Cкpипaч(16.08.2023 17:02)
- У меня один проект под несколько разных (похожих) железок.. поддерживаются старые, появляются новые. С течение времени перестал заниматься хернёй... POV(357 знак., 16.08.2023 14:18, картинка)
- Согласен, но тут другое, я просто не знаю, как обосновать желание
воспользоваться общим файлом. Просто хотелось бы таки получить
ответ на интересующий вопрос, а не почему нельзя такое делать - maleon(16.08.2023 14:08)
- #define в обоих языках работает одинаково. - =AlexD=(16.08.2023 13:17)
- #define в C# не работает так, потому что это не поможет, лучше бы
#include maleon(149 знак., 16.08.2023 14:09 - 16:06)
- Не надо гнать, препроцессор в шарпе есть, как и директива
препроцессора #define , правда возможно она не работает для замены
символов, но в любом случае есть #if , а это уже открывает
некоторые варианты. =AlexD=(1 знак., 16.08.2023 14:36, ссылка)
- #define там есть, только работает не как в С. Цитата по ссылке: mrFirst(288 знак., 16.08.2023 15:10, )
- Четать по сцылке я умею, и о том сразу упомянул. - =AlexD=(16.08.2023 15:34)
- #define там есть, только работает не как в С. Цитата по ссылке: mrFirst(288 знак., 16.08.2023 15:10, )
- Не надо гнать, препроцессор в шарпе есть, как и директива
препроцессора #define , правда возможно она не работает для замены
символов, но в любом случае есть #if , а это уже открывает
некоторые варианты. =AlexD=(1 знак., 16.08.2023 14:36, ссылка)
- #define в C# не работает так, потому что это не поможет, лучше бы
#include maleon(149 знак., 16.08.2023 14:09 - 16:06)
- [off] Eddy_Em(149 знак., 16.08.2023 13:17)
- Я по началу хотел делать в СиБилдере нынешнем, но определили Визуал
Студию и C#, увы - maleon(16.08.2023 14:10)
- Qt неплох - scorpion(16.08.2023 19:20)
- Вот оно чё! А я дурак еще на делфи пишу, на шарпе
немного..скриптики всякие, sql... на бейсике всё писать надо чтобы
не разбрасываться! - POV(16.08.2023 13:25)
- А как же FORTRAN77 ? А COBOL ? :) - scorpion(16.08.2023 19:19)
- ...и в одно лицо. Cкpипaч(244 знак., 16.08.2023 13:20)
- Ну, в моем случае так и происходит. А ещё я полностью "в одно лицо"
уже три прибора разработал: и чертежи железа, и электронику, и софт
под ПК. Eddy_Em(66 знак., 16.08.2023 15:03)
- Мне ещё приходится и механику делать, и оптику обмозговывать. Надо вот ещё сварку освоить. - scorpion(16.08.2023 19:32)
- Я это называю тупиком,
правда многие там обои поклеили. Комфортное место. Тихое, уютное. Плохо другое - время уходит. - Cкpипaч(16.08.2023 17:01)- Время в любом случае уходит. Eddy_Em(81 знак., 16.08.2023 17:14)
- Не бойтесь. Говорят, в Москве, в Кащенко, торжэственно открыли новый корпус, для освоивших спецификацию Цпп23. - mse homjak(16.08.2023 23:03)
- Поначалу всё страшно. - scorpion(16.08.2023 19:33)
- Время в любом случае уходит. Eddy_Em(81 знак., 16.08.2023 17:14)
- Так все самому - денег мало, а суеты много. Не издеваюсь, наша
команда лет 30 назад сложилась, новые вписались, кто то из прежних
всех надуть пытался, теперь в ссылке в деревне. - Visitor(16.08.2023 15:17)
- В моем случае реально нет кандидатур в команду. Скажем, разработка
под МК - вообще исключительно на мне. Даже простую схемотехнику не
на кого отдать. И под линукс нижний уровень некому писать, а GUI
лично мне вообще не нужны... - Eddy_Em(16.08.2023 15:38)
- В личку напишите, город где живете и чем желаете заниматься.
Схематик на мне, а с МК некоторые сложности есть. Кто то и
дистанционно работает с нами. Обсудить с начальством только в
сентябре получится. Отпуск у всех. - Visitor(16.08.2023 15:45)
- Боюсь, что вам не понравится за 25 тыр в месяц работать (и то, 25
тыр - это если до ведущего инженера дослужиться). Eddy_Em(137 знак., 16.08.2023 16:52)
- это вам работу предлагают - mrFirst(17.08.2023 13:12, )
- Я бы подумал после этого :))) - RxTx(17.08.2023 13:24)
- Спишемся, денег и больше можно. - Visitor(16.08.2023 18:01)
- Товарищ надеется, что вам понравится. И не за 25, наверное. - mse homjak(16.08.2023 17:42)
- это вам работу предлагают - mrFirst(17.08.2023 13:12, )
- Боюсь, что вам не понравится за 25 тыр в месяц работать (и то, 25
тыр - это если до ведущего инженера дослужиться). Eddy_Em(137 знак., 16.08.2023 16:52)
- Ну да, ну да.. 15 лет я также думал.. пока не попал в контору где
зарплаты достойные платят, а не "ну работают же, с хераль
поднимать". - POV(16.08.2023 15:43)
- Работать на дядю и быть в команде - разные понятия. Только кому больше дано, с того больше спросится. - Visitor(16.08.2023 15:50)
- В личку напишите, город где живете и чем желаете заниматься.
Схематик на мне, а с МК некоторые сложности есть. Кто то и
дистанционно работает с нами. Обсудить с начальством только в
сентябре получится. Отпуск у всех. - Visitor(16.08.2023 15:45)
- В моем случае реально нет кандидатур в команду. Скажем, разработка
под МК - вообще исключительно на мне. Даже простую схемотехнику не
на кого отдать. И под линукс нижний уровень некому писать, а GUI
лично мне вообще не нужны... - Eddy_Em(16.08.2023 15:38)
- Ну, в моем случае так и происходит. А ещё я полностью "в одно лицо"
уже три прибора разработал: и чертежи железа, и электронику, и софт
под ПК. Eddy_Em(66 знак., 16.08.2023 15:03)
- Я по началу хотел делать в СиБилдере нынешнем, но определили Визуал
Студию и C#, увы - maleon(16.08.2023 14:10)
- Докладываю, работающее решение: maleon(762 знак., 17.08.2023 09:28)