[Comm] Re: gcc начал требовать personality
Oleg N. Kayunov
=?iso-8859-1?q?okayunov_=CE=C1_mtu-net=2Eru?=
Сб Июл 5 22:04:01 MSD 2003
Alexey Voinov пишет:
>Oleg N. Kayunov wrote
>
>
>>>>>Комметариии вида // в C --- gcc'изм и не является признаком C++
>>>>>
>>>>>
>>>> Ладно... Надо же...
>>>> А расширение (cpp)?
>>>>
>>>>
>>>А вот это как раз и говорит gcc, что исходник на C++
>>>
>>>
>> Таки возвращаясь к исходному вопросу:
>>получается, что gcc транслировал Accerman.cpp именно как C++ программу?
>>Включая подход к именам функций?
>>
>>
>конечно, и об этом написано в info gcс, если утановлен пакет gcc3.2-doc
>
Да я это и так ещё раньше понял. Потому и удивляюсь (см. ниже, о
логичности).
>>>Могу предложить только чётко определиться с используемыми языками и
>>>привести команды компиляции в соответствие с языками. Этого можно достичь
>>>либо давая правильные расширения файлам, либо указывая язык явно параметром
>>>-x c или -x c++.
>>>
>>>
>> Дык!!!
>> Я таки не понял: ежели у меня gcc и так транслировал Accerman.cpp
>>как C++ файл, то почему ситуация у У МЕНЯ изменилась после замены gcc на
>>g++? И самое главное - почему У ВАС-ТО gcc оттранслировал и отлинковал
>>всё без проблем (в отличие от меня)??? Это следствие того, что у Вас
>>чуть более поздняя версия GCC (т.е. устранён некий хомут (он-же - баг))
>>или у Вас как-то по иному настроено окружение? Или попросту GCC
>>уважает/боиться Вас больше чем меня? :-)
>>
>>
>Это следствие того, что я, видя что программа написана на C, дал файлу
>расширение C, и, совершенно естественно, никаких проблем не возникло.
>
А-а-а... Сменили расширение...
Ну тады - ой!
>Если используется g++, то при линковке добавляется несколько бибилиотек,
>стандартных для C++.
>
Т.е. gcc создаёт из *.cpp объектный файл с C++ вызовами, но когда
начинает его линковать, то в C++ - ые библиотеки не смотрит? О-о-очень
логично, но придётся запомнить. :-((
> одной из этих библиотек (а именно в libsupc++)
>определён символ __gxx_personality_v0.
>
Опцию -lsupc++ в случае чего поставить? ;-)
>> Без понимания оных нюансов трудновато как-то ЧЁТКО определятся (я
>>ведь был вполне уверен, что и так транслирую как C++). Можно только
>>шаманить.
>>Вы согласны?
>>
>>
>Для того, чтобы грамотно смешивать C и C++ в рамках одной программы имеет
>смысл ознакомиться со стандартом.
>
Дык!!!
Да где же это я в этом самом Accerman.cpp что-то с чем-то смешать
умудрился??
Можно ткнуть пальцем?
Нет, ну честно - совсем не понимаю. Mea culpa, однако.
Потому и непонятно - куда смотреть-то. С чего начинать.
> В противном случае проблемы неизбежны.
>
>
Вот уж в этом-то сомневаться никак не приходится.
--
== В действительности все обстоит совершенно иначе чем на самом деле. ==
BR, Oleg N. Kayunov.
Подробная информация о списке рассылки community