Для проекта, над которым я работаю, я пишу мини -стандартную замену библиотеки. Для этого я сейчас пытаюсь реализовать исключения. Итак, я написал следующий минимальный код < /p>
int memory[4];
void* __cxa_allocate_exception(long unsigned int thrown_size) throw()
{
return memory;
}
void __cxa_free_exception(void * thrown_exception) throw()
{
}
void __cxa_throw(void* thrown_exception, void * tinfo, void (*dest)(void*))
{
while(1){};
}
extern "C" void _start()
{
throw 2;
}
< /code>
Однако при составлении этого с -nostdlib я получаю следующую ошибку < /p>
undefined reference to `typeinfo for int'
< /code>
Одна из самых больших вещей, выталкивающей меня здесь, это то, что является «typeinfo для int» ??? Это не имя функции, переменная и т. Д., Поскольку в ней есть места. Проверка вывода компилятора в Godbolt показывает следующее < /p>
mov esi, OFFSET FLAT:typeinfo for int
< /code>
Так что я полностью потерян в отношении того, что на самом деле есть! < /p>
Кроме Кажется, не работает для меня. Я поместил вышеупомянутый код в Godbolt, со следующими флагами компилятора < /p>
-nostdlib -frtti -static-libstdc++
< /code>
Однако я все еще получаю такую же ошибку, и я не уверен, почему. Для справки, вот код на Godbolt, показывающий указанную ошибку.
Подробнее здесь: https://stackoverflow.com/questions/794 ... without-th
C ++ неопределенная ссылка на `typeinfo для int 'при броске исключения без стандартной библиотеки ⇐ C++
Программы на C++. Форум разработчиков
1739749768
Anonymous
Для проекта, над которым я работаю, я пишу мини -стандартную замену библиотеки. Для этого я сейчас пытаюсь реализовать исключения. Итак, я написал следующий минимальный код < /p>
int memory[4];
void* __cxa_allocate_exception(long unsigned int thrown_size) throw()
{
return memory;
}
void __cxa_free_exception(void * thrown_exception) throw()
{
}
void __cxa_throw(void* thrown_exception, void * tinfo, void (*dest)(void*))
{
while(1){};
}
extern "C" void _start()
{
throw 2;
}
< /code>
Однако при составлении этого с -nostdlib я получаю следующую ошибку < /p>
undefined reference to `typeinfo for int'
< /code>
Одна из самых больших вещей, выталкивающей меня здесь, это то, что является «typeinfo для int» ??? Это не имя функции, переменная и т. Д., Поскольку в ней есть места. Проверка вывода компилятора в Godbolt показывает следующее < /p>
mov esi, OFFSET FLAT:typeinfo for int
< /code>
Так что я полностью потерян в отношении того, что на самом деле есть! < /p>
Кроме Кажется, не работает для меня. Я поместил вышеупомянутый код в Godbolt, со следующими флагами компилятора < /p>
-nostdlib -frtti -static-libstdc++
< /code>
Однако я все еще получаю такую же ошибку, и я не уверен, почему. Для справки, вот код на Godbolt, показывающий указанную ошибку.
Подробнее здесь: [url]https://stackoverflow.com/questions/79444143/c-undefined-reference-to-typeinfo-for-int-when-throwing-exception-without-th[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия