[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