* Re: [Comm] gcc & stl
2005-05-30 10:35 ` Andrey Rybak
@ 2005-05-30 10:51 ` Alexey I. Froloff
2005-05-30 10:56 ` Andrey Rybak
2005-05-30 11:05 ` Serge Polkovnikov
2005-05-30 10:53 ` Шайхутдинов Дамир
` (3 subsequent siblings)
4 siblings, 2 replies; 25+ messages in thread
From: Alexey I. Froloff @ 2005-05-30 10:51 UTC (permalink / raw)
To: ALT Linux Community
[-- Attachment #1: Type: text/plain, Size: 787 bytes --]
* Andrey Rybak <ra@> [050530 14:42]:
> > g++ компилирует сразу из C++ в объектный код - как следствие,
> > программа получается более оптимизированной.
> g++ - это всего лишь ссылка на gcc. Как она избавляется от лишнего
> преобразования C++->C ?
$ ls -lL /usr/bin/gcc-3.3
-rwxr-xr-x 2 root root 81200 Jan 14 20:11 /usr/bin/gcc-3.3
Неужели вы думаете, что компилятор C может занимать 80K?
P.S. ls -l /usr/lib/gcc-lib/i586-alt-linux/3.3.3/
P.P.S. Нет у меня тут gcc 3.4, пути немного другие, но смысл тот
же.
--
Regards, Sir Raorn.
-------------------
ALT QA Team Robot, который осуществлял пересборку, просил передать, что
если его запись в changelog'ах пакетов со временем будет забыта, то он
расстраиваться по этому поводу не станет.
-- ldv in devel@
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [Comm] gcc & stl
2005-05-30 10:51 ` Alexey I. Froloff
@ 2005-05-30 10:56 ` Andrey Rybak
2005-05-30 14:25 ` Andrey Rahmatullin
2005-05-30 11:05 ` Serge Polkovnikov
1 sibling, 1 reply; 25+ messages in thread
From: Andrey Rybak @ 2005-05-30 10:56 UTC (permalink / raw)
To: community
>
>Неужели вы думаете, что компилятор C может занимать 80K?
>
>
Это много или мало? ;-)
>P.S. ls -l /usr/lib/gcc-lib/i586-alt-linux/3.3.3/
>
>P.P.S. Нет у меня тут gcc 3.4, пути немного другие, но смысл тот
>же.
>
>
Уточните Вашу реплику - какой тотже смысл?
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [Comm] gcc & stl
2005-05-30 10:56 ` Andrey Rybak
@ 2005-05-30 14:25 ` Andrey Rahmatullin
0 siblings, 0 replies; 25+ messages in thread
From: Andrey Rahmatullin @ 2005-05-30 14:25 UTC (permalink / raw)
To: community
[-- Attachment #1: Type: text/plain, Size: 479 bytes --]
On Mon, May 30, 2005 at 01:56:30PM +0300, Andrey Rybak wrote:
> >Неужели вы думаете, что компилятор C может занимать 80K?
> Это много или мало? ;-)
Мало.
> >P.P.S. Нет у меня тут gcc 3.4, пути немного другие, но смысл тот
> >же.
> Уточните Вашу реплику - какой тотже смысл?
Смысл тот же для 3.4 и 3.4.
--
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(8):
> В системе установлен kudzu ?
Конечно да. Какое хайку без кудзы? :)
-- avp in sisyphus@
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [Comm] gcc & stl
2005-05-30 10:51 ` Alexey I. Froloff
2005-05-30 10:56 ` Andrey Rybak
@ 2005-05-30 11:05 ` Serge Polkovnikov
2005-05-30 12:27 ` Vasya Makarov
2005-05-30 14:53 ` Andrey Rahmatullin
1 sibling, 2 replies; 25+ messages in thread
From: Serge Polkovnikov @ 2005-05-30 11:05 UTC (permalink / raw)
To: ALT Linux Community
понеділок 30 травень 2005 13:51, Alexey I. Froloff Ви написали:
> > g++ компилирует сразу из C++ в объектный код - как следствие,
> >
> > > программа получается более оптимизированной.
> >
> > g++ - это всего лишь ссылка на gcc. Как она избавляется от лишнего
> > преобразования C++->C ?
>
> $ ls -lL /usr/bin/gcc-3.3
> -rwxr-xr-x 2 root root 81200 Jan 14 20:11 /usr/bin/gcc-3.3
>
> Неужели вы думаете, что компилятор C может занимать 80K?
>
> P.S. ls -l /usr/lib/gcc-lib/i586-alt-linux/3.3.3/
>
> P.P.S. Нет у меня тут gcc 3.4, пути немного другие, но смысл тот
> же.
Только что откомпилировал свою прогу и с gcc -lstdc++ и с g++ - размер один в
один. Думаю код тоже.
--
С уважением,
Сергей Полковников
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [Comm] gcc & stl
2005-05-30 11:05 ` Serge Polkovnikov
@ 2005-05-30 12:27 ` Vasya Makarov
2005-05-30 14:53 ` Andrey Rahmatullin
1 sibling, 0 replies; 25+ messages in thread
From: Vasya Makarov @ 2005-05-30 12:27 UTC (permalink / raw)
To: community
Serge Polkovnikov пишет:
> ...
> Только что откомпилировал свою прогу и с gcc -lstdc++ и с g++ - размер один в
> один. Думаю код тоже.
>
>
diff подтверждает?
--
Regards,
Vasya
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [Comm] gcc & stl
2005-05-30 11:05 ` Serge Polkovnikov
2005-05-30 12:27 ` Vasya Makarov
@ 2005-05-30 14:53 ` Andrey Rahmatullin
2005-05-30 15:17 ` Andrey Rahmatullin
1 sibling, 1 reply; 25+ messages in thread
From: Andrey Rahmatullin @ 2005-05-30 14:53 UTC (permalink / raw)
To: community
[-- Attachment #1: Type: text/plain, Size: 722 bytes --]
On Mon, May 30, 2005 at 02:05:02PM +0300, Serge Polkovnikov wrote:
> Только что откомпилировал свою прогу и с gcc -lstdc++ и с g++ - размер один в
> один. Думаю код тоже.
wrar@wrars-comp ~ $ gcc 1.cpp -lstdc++ -o gcc.out
wrar@wrars-comp ~ $ g++ 1.cpp -o g++.out
wrar@wrars-comp ~ $ l *.out
-rwxr-xr-x 1 wrar wrar 8208 Май 30 20:51 g++.out
-rwxr-xr-x 1 wrar wrar 8160 Май 30 20:50 gcc.out
wrar@wrars-comp ~ $ <1.cpp
#include <iostream>
int main()
{
std::cout << "Hello, world";
return 0;
}
--
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(8):
>ЗЫ. Я ещё подумал: если джава-приложения не собираются в хэшере, то как
>в Сизиф попал OO.o?
С трудом :)
-- jaa in sisyphus@
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [Comm] gcc & stl
2005-05-30 10:35 ` Andrey Rybak
2005-05-30 10:51 ` Alexey I. Froloff
@ 2005-05-30 10:53 ` Шайхутдинов Дамир
2005-05-30 11:00 ` Andrey Rybak
2005-05-30 11:04 ` Sergey Lebedev
` (2 subsequent siblings)
4 siblings, 1 reply; 25+ messages in thread
From: Шайхутдинов Дамир @ 2005-05-30 10:53 UTC (permalink / raw)
To: community
30.05.05 в 14:35 Andrey Rybak в своём письме писал(а):
> Шайхутдинов Дамир wrote:
>
>> 30.05.05 в 13:25 Andrey Rybak в своём письме писал(а):
>>
>>
>> Насколько я понял из курения мануала по gcc (info gcc, если
>> заинтересует)
>> gcc -lstdc++ сначала перегоняет C++ код в C, затем компилирует
>> компилятором языка C, получается объектный код (к нему потом
>> прилинковывает библиотечки приплюснутые) - то есть делает лишнее
>> преобразование C++->C.
>>
>> g++ компилирует сразу из C++ в объектный код - как следствие,
>> программа получается более оптимизированной.
>>
> g++ - это всего лишь ссылка на gcc. Как она избавляется от лишнего
> преобразования C++->C ?
У меня вовсе не ссылка (RH9). Альта под рукой сейчас нет.
ls -l /usr/bin/g++
-rwxr-xr-x 4 root root 81348 Фев 25 2003 /usr/bin/g++
Что у тебя говорит
rpm -qa | grep gcc
?
--
WBR,
Damir Shayhutdinov
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [Comm] gcc & stl
2005-05-30 10:53 ` Шайхутдинов Дамир
@ 2005-05-30 11:00 ` Andrey Rybak
2005-05-30 11:41 ` Шайхутдинов Дамир
0 siblings, 1 reply; 25+ messages in thread
From: Andrey Rybak @ 2005-05-30 11:00 UTC (permalink / raw)
To: community
> У меня вовсе не ссылка (RH9). Альта под рукой сейчас нет.
>
> ls -l /usr/bin/g++
> -rwxr-xr-x 4 root root 81348 Фев 25 2003 /usr/bin/g++
>
> Что у тебя говорит
> rpm -qa | grep gcc
> ?
>
>
gcc3.3-c++-3.3.3-alt7
gcc-c++-common-1.4.6-alt1
gcc3.3-g77-3.3.3-alt7
libgcc3.4-3.4.3-alt4
gcc-g77-common-1.4.6-alt1
gcc-common-1.4.6-alt1
gcc3.3-3.3.3-alt7
>
>
>
>
>
>
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [Comm] gcc & stl
2005-05-30 11:00 ` Andrey Rybak
@ 2005-05-30 11:41 ` Шайхутдинов Дамир
0 siblings, 0 replies; 25+ messages in thread
From: Шайхутдинов Дамир @ 2005-05-30 11:41 UTC (permalink / raw)
To: community
30.05.05 в 15:00 Andrey Rybak в своём письме писал(а):
>> Что у тебя говорит
>> rpm -qa | grep gcc
>> ?
>>
>>
> gcc3.3-c++-3.3.3-alt7
> gcc-c++-common-1.4.6-alt1
> gcc3.3-g77-3.3.3-alt7
> libgcc3.4-3.4.3-alt4
> gcc-g77-common-1.4.6-alt1
> gcc-common-1.4.6-alt1
> gcc3.3-3.3.3-alt7
Тогда просто сравни
rpm -ql gcc3.3
и
rpm -ql gcc3.3-c++
И увидишь чем просто gcc отличается от gcc с поддержкой c++ наличием
специального файла cc1plus в /usr/lib/gcc-lib/i586-alt-linux (путь по
памяти), у меня в RH9 лежит по пути /usr/lib/gcc-lib/i386-redhat-linux
Этот файл отвечает за компиляцию C++ кода, и вызывается gcc при компиляции
cpp файлов.
Ему для работы требуются некоторые настройки (в том числе указание
библиотек и ключей), которые автоматически указывает g++, но не указывает
gcc.
Поведение программы, которую вызывают через симлинк может сильно
отличаться от обычного (хорошая иллюстрация этого - busybox).
Поэтому для полной уверенности в правильности скомпилированного плюснутого
кода используй g++.
--
WBR,
Damir Shayhutdinov
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [Comm] gcc & stl
2005-05-30 10:35 ` Andrey Rybak
2005-05-30 10:51 ` Alexey I. Froloff
2005-05-30 10:53 ` Шайхутдинов Дамир
@ 2005-05-30 11:04 ` Sergey Lebedev
2005-05-30 11:12 ` Andrey Rybak
2005-05-30 11:13 ` Vasya Makarov
2005-05-30 11:20 ` Andrew Borodin
4 siblings, 1 reply; 25+ messages in thread
From: Sergey Lebedev @ 2005-05-30 11:04 UTC (permalink / raw)
To: community
On 30 May, Andrey Rybak wrote:
> Шайхутдинов Дамир wrote:
>
> >30.05.05 в 13:25 Andrey Rybak в своём письме писал(а):
> >
> >
> >Насколько я понял из курения мануала по gcc (info gcc, если заинтересует)
> >gcc -lstdc++ сначала перегоняет C++ код в C, затем компилирует
> >компилятором языка C, получается объектный код (к нему потом
> >прилинковывает библиотечки приплюснутые) - то есть делает лишнее
> >преобразование C++->C.
> >
> >g++ компилирует сразу из C++ в объектный код - как следствие,
> >программа получается более оптимизированной.
> >
> g++ - это всего лишь ссылка на gcc. Как она избавляется от лишнего
> преобразования C++->C ?
Нуууууууууу.
А если полностью заглядеть, всю цепочку symlink'ов?
-=(barabashka)=- [linuxcomp:~] ls -al `which gcc`
lrwxrwxrwx 1 root root 30 Апр 7 14:50 /usr/bin/gcc ->/etc/alternatives/|usr|bin|gcc
-=(barabashka)=- [linuxcomp:~] ls -al /etc/alternatives/\|usr\|bin\|gcc
lrwxrwxrwx 1 root root 20 Апр 7 14:50
/etc/alternatives/|usr|bin|gcc -> /usr/bin/gcc_wrapper
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [Comm] gcc & stl
2005-05-30 11:04 ` Sergey Lebedev
@ 2005-05-30 11:12 ` Andrey Rybak
0 siblings, 0 replies; 25+ messages in thread
From: Andrey Rybak @ 2005-05-30 11:12 UTC (permalink / raw)
To: community
>А если полностью заглядеть, всю цепочку symlink'ов?
>
>
Да уже заглянул :-) . А вот мана на этот враппер нету :'( .
>-=(barabashka)=- [linuxcomp:~] ls -al `which gcc`
>lrwxrwxrwx 1 root root 30 Апр 7 14:50 /usr/bin/gcc ->/etc/alternatives/|usr|bin|gcc
>
>-=(barabashka)=- [linuxcomp:~] ls -al /etc/alternatives/\|usr\|bin\|gcc
>lrwxrwxrwx 1 root root 20 Апр 7 14:50
>/etc/alternatives/|usr|bin|gcc -> /usr/bin/gcc_wrapper
>
>
>
>
Всем спасибо за обсуждение.
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [Comm] gcc & stl
2005-05-30 10:35 ` Andrey Rybak
` (2 preceding siblings ...)
2005-05-30 11:04 ` Sergey Lebedev
@ 2005-05-30 11:13 ` Vasya Makarov
2005-05-30 11:20 ` Andrew Borodin
4 siblings, 0 replies; 25+ messages in thread
From: Vasya Makarov @ 2005-05-30 11:13 UTC (permalink / raw)
To: community
Andrey Rybak пишет:
> Шайхутдинов Дамир wrote:
>
>> 30.05.05 в 13:25 Andrey Rybak в своём письме писал(а):
>>
>>
>> Насколько я понял из курения мануала по gcc (info gcc, если заинтересует)
>> gcc -lstdc++ сначала перегоняет C++ код в C, затем компилирует
>> компилятором языка C, получается объектный код (к нему потом
>> прилинковывает библиотечки приплюснутые) - то есть делает лишнее
>> преобразование C++->C.
>>
>> g++ компилирует сразу из C++ в объектный код - как следствие,
>> программа получается более оптимизированной.
>>
> g++ - это всего лишь ссылка на gcc. Как она избавляется от лишнего
> преобразования C++->C ?
>
>
Одна и таже программа вызываемая по разным именам может делать
_совершенно_ разные весчи.
--
Regards,
Vasya
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [Comm] gcc & stl
2005-05-30 10:35 ` Andrey Rybak
` (3 preceding siblings ...)
2005-05-30 11:13 ` Vasya Makarov
@ 2005-05-30 11:20 ` Andrew Borodin
4 siblings, 0 replies; 25+ messages in thread
From: Andrew Borodin @ 2005-05-30 11:20 UTC (permalink / raw)
To: community
On Mon, May 30, 2005 at 01:35:35PM +0300, Andrey Rybak wrote:
> g++ - это всего лишь ссылка на gcc. Как она избавляется от
> лишнего преобразования C++->C ?
Сылка -- это другое имя файла. А в программе всегда есть
возможность узнать, с каким именем она запущена. И в зависимости
от этого имени вести себя тем или иным образом.
--
С уважением,
А. Бородин.
^ permalink raw reply [flat|nested] 25+ messages in thread