From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Sun, 4 Jan 2004 19:44:33 +0300 From: "Dmitry V. Levin" To: ALT Devel discussion list Subject: Re: [devel] libglade Message-ID: <20040104164433.GB27179@basalt.office.altlinux.org> Mail-Followup-To: ALT Devel discussion list References: <20040104030924.603b3da0.peet@altlinux.ru> <20040104161051.2d7f5f1d.peet@altlinux.ru> <20040104141744.GA27179@basalt.office.altlinux.org> <20040104150151.GE2064@sirius.home> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="oC1+HKm2/end4ao3" Content-Disposition: inline In-Reply-To: <20040104150151.GE2064@sirius.home> X-fingerprint: 9658 398D 181B 1200 8FC5 26B8 F6F8 846B C1E2 3429 X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.1.3 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jan 2004 16:44:35 -0000 Archived-At: List-Archive: List-Post: --oC1+HKm2/end4ao3 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit On Sun, Jan 04, 2004 at 06:01:51PM +0300, Sergey Vlasov wrote: > On Sun, Jan 04, 2004 at 05:17:44PM +0300, Dmitry V. Levin wrote: > > On Sun, Jan 04, 2004 at 04:10:51PM +0300, Peter V. Saveliev wrote: > > > Нарыл. Если использовать g++, то происходят описанные события. Если же cc - > > > то всё работает номально. Без изменения кода. > > > > > > Может кто-либо прокомментировать это явление, кроме как "c++ сосёт"? > > Вы пытаетесь компилировать исходник на C компилятором C++? > Бесполезное занятие, надо использовать соответствующий компилятор и > правильно расставлять extern "C" для связи кусков на C и C++. > > > Разве что "libglade сосёт". > > > > Попробуйте сделать ваш custom callback C-функцией, т.е. extern "C". > > Если после этого с использованием g++ заработает, то libglade надо править > > на тему поддержки demangling'а. > > А надо ли? Вроде бы в общем случае extern "C" может менять даже > calling convention, поэтому с точки зрения стандарта C++ отсутствие > extern "C" там, где надо - ошибка. > > Кроме того, тут как раз не demangling, а поиск по имени, причём с > неизвестной сигнатурой - т.е. вообще нерешаемая задача. По имени можно вычислить сигнатуру. Только, действительно, надо ли? Если по дизайну libglade'а не положено, то, наверное, нет смысла. -- ldv --oC1+HKm2/end4ao3 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (GNU/Linux) iD8DBQE/+ELx9viEa8HiNCkRAuOoAJwLMPtkNiMd7fjxC+DU++T1PiyoPwCeIcR2 wdJps48/RWw4Leds8m7OvHM= =nVrE -----END PGP SIGNATURE----- --oC1+HKm2/end4ao3--