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

one_eight_seven

Участник*
  • Постов

    1 610
  • Зарегистрирован

  • Посещение

  • Победитель дней

    1

Весь контент one_eight_seven


  1. а с -fno-inline что не так? А, понял, так же 100% хочется. Ну да, было бы полезно.
  2. Видимо, вы отвечали, пока я ссылку вставлял. У меня сегодня с этим какие-то проблемы. Да. Именно так. На самом деле, такая функция не может быть неинлайновой, потому что иначе будет ругань на множественное определение и ошибка компиляции.
  3. Такие заявления неплохо бы подверждать ссылками. https://en.cppreference.com/w/cpp/language/inline
  4. Одна функция, в отрыве от всего проекта, включая опции компиляции, ничего не показывает. (В общем-то, это то же самое, что вы сказали во втором сообщении). P.S. Можете посмотреть здесь. Поиск по слову "inline", и чтение результатов - даёт некотрое понимание. Например, что мало слова "inline", нужно ещё и сам механизм инлайна включить. Не вставил ссылку: https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
  5. Оно и должно быть в header'e, ODR требует, чтобы тело функции было видно везде, где используется "инлайнуемый" (о какой термин выдумал!) Потому что этим занимается оптимизатор, к нему приходит уже скомпилированный код, а 100%, это означает - "инлайнить даже когда это невозможно", но оптимизатор не должен ломать работоспособность программы. А "инлайнить всегда, когда это возможно", - такиой ключ вам выше привёл @Forger:
  6. Они передаются в отдельном скрипте. Поищите что-то вроде tcl scripting for modelsim или modelsim tcl commands в документации
  7. Это не делают в тестбенче. Откуда такие требования?
  8. P.S. Посмотрел. Не компилятор вычисляет, а программа. Ну да. Это же быстрее, чем делать полноценный вызов функции, пролог, эпилог, вся вот эта прелесть. А то, что математическая модель, которую вы себе представляете делает одно действие или другое вам кажется оптимальнее, это только кажется. А сделать так, как вы хотите, - это будет два условных бренча, что тоже не факт, что быстрее, а по размеру программы -точно больше (это же O1 - он не только о скорости. но и о размере думает). P.P.S Ну и да - никаких побочек тут нет, наверняка, он тоже на них смотрит, это легко проверить, кстати.
  9. Это не проблема языка. Это проблема управления конфигурациями ПО. Уже, кстати, решена, и не раз.
  10. Советую учебник Виноградова "Логика" для средней школы. Это не издëвка, а правда совет. Отношения вида и рода, абстрагирование, определение понятия - как раз описывают как это делается правильно.
  11. На начальном этапе работа сильно отличается. Нужно строить архитектуру и абстрагировать объекты. Вы, кстати, уже сами к этому пришли, выделили объект который будет меняться от реализации к реализации. Теперь надо продумать Ъ интерфейс, чтобы можно было бесстыдно полиморфировать. И так - для каждого объекта. Ну а аппаратные и программные накладные расходы - тема интересная, но у неë есть свойство - о ней говорят абстрактно, в то время как надо просто сделать и посмотреть - приемлемые ли накладные или нет, и чаще окажется, что более чем приемлемые. А если нет, - тогда уже профилировать.
  12. Только если вы C в последний раз видели году в 95. Ну, это уже лет 20 - разные, пусть и сильно похожие, языки. В C++ настолько есть ВСЁ, что на нëм можно программировать сильно по-разному. Потому и спрашиваю - вам ООП или процедурный подход? Если процедурный, то можно коллбэки, если ООП, то не надо колбэками костылить.
  13. Это невозможно сказать, без знания того, зачем вам c++. Если для ООП, то кардинально неверное. Если для более строгой типизации, и, может быть шаблонов - тогда может быть и верное.
  14. Это не колхоз. Это C. Решение здесь - ABC (abstract virtual class), но я не знаю, какие у них накладные расходы, и применяются ли они при программировании микроконтроллеров.
  15. ключ линкера --print-memory-usage Если не вызываете напрямую ld, а в качестве фронтенда gcc, то: Wl,--print-memory-usage
  16. Если правильно помню, они не патентовали прямоугольник и перелистывание страниц.
  17. Да. только вам самому надо буден написать обработку разделителей. Преобразования строк в числа в верилоге есть. Погуглите verilog file io operations.
  18. Ну это не моделсим, а стандарт. Там прямо есть фраза: 6.2.1 в стандартах 2001 и 2005 годов. Как правильно именно в верилог? Вариант 1 - считать из файла. Вариант 2 (синтезируемый, кстати) : assign {I_value[0], I_value[1], ...} = {-2, -1, ...}; Вариант 3 - использовать SystemVerilog. reg signed [15:0] I_value[64-1:0] = '{-2,-1,...};
  19. Вообще, из директории, откуда запускаете симуляцию. Можете включить поддержку SystemVerilog и проверить (это для линукса): import "DPI-C" function string getenv(input string env_name); module top; initial begin $display("$PWD = %s", getenv("PWD") ); end endmodule
  20. Там же английским по белому написано: у вас integer там, где ожидается точка с запятой (;). Смотрите на самый конец предыдущей строки.
  21. ага, защита есть, сопротивление канала, это же не силовые транзисторы с миллиомами в открытом состоянии.
×
×
  • Создать...