Я работаю с верилатором на C++ и написал следующий тестовый код:
#include "Vmux_2_1.h"
#include
#include
#include
std::unique_ptr trace = std::make_unique();
int main() {
std::unique_ptr kContext =
std::make_unique();
std::unique_ptr kTop = std::make_unique();
kContext->traceEverOn(true);
kTop->trace(trace.get(), 99);
trace->open("waveform.fst");
trace->close();
return 0;
}
Vmux_2_1 — это класс мультиплексора, созданный верилятором.
Этот код сегмента, похоже, не выполняет никакой реальной работы, но в конце концов он вышел из строя.
Но если я перенесу трассировку в функцию main(), все будет работать хорошо, вот код:
< pre class="lang-cpp Prettyprint-override">#include "Vmux_2_1.h"
#include
#include
#include
int main() {
std::unique_ptr kContext =
std::make_unique();
std::unique_ptr trace = std::make_unique();
std::unique_ptr kTop = std::make_unique();
kContext->traceEverOn(true);
kTop->trace(trace.get(), 99);
trace->open("waveform.fst");
trace->close();
return 0;
}
Я попробовал clang++ и g++, чтобы скомпилировать этот проект, но оба потерпели неудачу, я не знаю, что с ним не так.
Я распечатал информацию об отладке :
[New Thread 0x7ffff7a006c0 (LWP 519617)]
[New Thread 0x7ffff70006c0 (LWP 519618)]
[New Thread 0x7ffff66006c0 (LWP 519619)]
[New Thread 0x7ffff5c006c0 (LWP 519620)]
[New Thread 0x7ffff52006c0 (LWP 519621)]
[New Thread 0x7ffff48006c0 (LWP 519622)]
[New Thread 0x7ffff3e006c0 (LWP 519623)]
[New Thread 0x7ffff34006c0 (LWP 519624)]
[New Thread 0x7ffff2a006c0 (LWP 519625)]
[New Thread 0x7ffff20006c0 (LWP 519627)]
[New Thread 0x7ffff16006c0 (LWP 519628)]
[New Thread 0x7ffff0c006c0 (LWP 519629)]
[New Thread 0x7ffff02006c0 (LWP 519630)]
[New Thread 0x7fffef8006c0 (LWP 519631)]
[New Thread 0x7fffeee006c0 (LWP 519632)]
[Thread 0x7ffff7a006c0 (LWP 519617) exited]
[Thread 0x7ffff66006c0 (LWP 519619) exited]
[Thread 0x7ffff5c006c0 (LWP 519620) exited]
[Thread 0x7ffff70006c0 (LWP 519618) exited]
[Thread 0x7ffff52006c0 (LWP 519621) exited]
[Thread 0x7ffff3e006c0 (LWP 519623) exited]
[Thread 0x7ffff34006c0 (LWP 519624) exited]
[Thread 0x7ffff48006c0 (LWP 519622) exited]
[Thread 0x7ffff2a006c0 (LWP 519625) exited]
[Thread 0x7ffff20006c0 (LWP 519627) exited]
[Thread 0x7ffff0c006c0 (LWP 519629) exited]
[Thread 0x7ffff02006c0 (LWP 519630) exited]
[Thread 0x7ffff16006c0 (LWP 519628) exited]
[Thread 0x7fffef8006c0 (LWP 519631) exited]
[Thread 0x7fffeee006c0 (LWP 519632) exited]
Thread 1 "trace" received signal SIGSEGV, Segmentation fault.
0x00007ffff7ccafc6 in std::__detail::_List_node_base::_M_transfer (this=0x7fffffffd1d0, __first=0x4ef060, __last=0x4ef46f) at ../../../../../libstdc++-v3/src/c++98/list.cc:102
102 __last->_M_prev->_M_next = this;
Подробнее здесь: https://stackoverflow.com/questions/789 ... program-ex
Переменные VerilatedFstC, обернутые std::unique_ptr, аварийно завершали работу при выходе из программы ⇐ C++
Программы на C++. Форум разработчиков
1726462934
Anonymous
Я работаю с верилатором на C++ и написал следующий тестовый код:
#include "Vmux_2_1.h"
#include
#include
#include
std::unique_ptr trace = std::make_unique();
int main() {
std::unique_ptr kContext =
std::make_unique();
std::unique_ptr kTop = std::make_unique();
kContext->traceEverOn(true);
kTop->trace(trace.get(), 99);
trace->open("waveform.fst");
trace->close();
return 0;
}
Vmux_2_1 — это класс мультиплексора, созданный верилятором.
Этот код сегмента, похоже, не выполняет никакой реальной работы, но в конце концов он вышел из строя.
Но если я перенесу трассировку в функцию main(), все будет работать хорошо, вот код:
< pre class="lang-cpp Prettyprint-override">#include "Vmux_2_1.h"
#include
#include
#include
int main() {
std::unique_ptr kContext =
std::make_unique();
std::unique_ptr trace = std::make_unique();
std::unique_ptr kTop = std::make_unique();
kContext->traceEverOn(true);
kTop->trace(trace.get(), 99);
trace->open("waveform.fst");
trace->close();
return 0;
}
Я попробовал clang++ и g++, чтобы скомпилировать этот проект, но оба потерпели неудачу, я не знаю, что с ним не так.
Я распечатал информацию об отладке :
[New Thread 0x7ffff7a006c0 (LWP 519617)]
[New Thread 0x7ffff70006c0 (LWP 519618)]
[New Thread 0x7ffff66006c0 (LWP 519619)]
[New Thread 0x7ffff5c006c0 (LWP 519620)]
[New Thread 0x7ffff52006c0 (LWP 519621)]
[New Thread 0x7ffff48006c0 (LWP 519622)]
[New Thread 0x7ffff3e006c0 (LWP 519623)]
[New Thread 0x7ffff34006c0 (LWP 519624)]
[New Thread 0x7ffff2a006c0 (LWP 519625)]
[New Thread 0x7ffff20006c0 (LWP 519627)]
[New Thread 0x7ffff16006c0 (LWP 519628)]
[New Thread 0x7ffff0c006c0 (LWP 519629)]
[New Thread 0x7ffff02006c0 (LWP 519630)]
[New Thread 0x7fffef8006c0 (LWP 519631)]
[New Thread 0x7fffeee006c0 (LWP 519632)]
[Thread 0x7ffff7a006c0 (LWP 519617) exited]
[Thread 0x7ffff66006c0 (LWP 519619) exited]
[Thread 0x7ffff5c006c0 (LWP 519620) exited]
[Thread 0x7ffff70006c0 (LWP 519618) exited]
[Thread 0x7ffff52006c0 (LWP 519621) exited]
[Thread 0x7ffff3e006c0 (LWP 519623) exited]
[Thread 0x7ffff34006c0 (LWP 519624) exited]
[Thread 0x7ffff48006c0 (LWP 519622) exited]
[Thread 0x7ffff2a006c0 (LWP 519625) exited]
[Thread 0x7ffff20006c0 (LWP 519627) exited]
[Thread 0x7ffff0c006c0 (LWP 519629) exited]
[Thread 0x7ffff02006c0 (LWP 519630) exited]
[Thread 0x7ffff16006c0 (LWP 519628) exited]
[Thread 0x7fffef8006c0 (LWP 519631) exited]
[Thread 0x7fffeee006c0 (LWP 519632) exited]
Thread 1 "trace" received signal SIGSEGV, Segmentation fault.
0x00007ffff7ccafc6 in std::__detail::_List_node_base::_M_transfer (this=0x7fffffffd1d0, __first=0x4ef060, __last=0x4ef46f) at ../../../../../libstdc++-v3/src/c++98/list.cc:102
102 __last->_M_prev->_M_next = this;
Подробнее здесь: [url]https://stackoverflow.com/questions/78988884/verilatedfstc-variables-wrapped-with-stdunique-ptr-crashed-when-the-program-ex[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия