From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <3F071311.4050303@mtu-net.ru> Date: Sat, 05 Jul 2003 22:04:01 +0400 From: "Oleg N. Kayunov" User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru-RU; rv:1.2.1) Gecko/20030210 X-Accept-Language: ru-ru, en MIME-Version: 1.0 To: community@altlinux.ru References: <3F04937C.2040705@mtu-net.ru> <20030704051342.GA18686@altlinux.ru> <3F0532A6.7090407@mtu-net.ru> <20030704081407.GA19989@altlinux.ru> <3F05508F.9070501@mtu-net.ru> <20030704105440.GA21625@altlinux.ru> <3F069B6A.7010006@mtu-net.ru> <20030705160034.GA27585@altlinux.ru> In-Reply-To: <20030705160034.GA27585@altlinux.ru> X-Enigmail-Version: 0.70.0.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit Subject: [Comm] Re: gcc =?koi8-r?b?zsHewcwg1NLFws/XwdTYIHBlcnNvbmFsaXR5?= X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.1.1 Precedence: list Reply-To: community@altlinux.ru List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jul 2003 18:04:14 -0000 Archived-At: List-Archive: List-Post: 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.