Объявлено (http://lists.freebsd.org/pipermail/freebsd-current/2014-Febr...) о переводе актуальной кодовой базы FreeBSD-CURRENT на Clang 3.4 и новые версии сопутствующих библиотек и компонентов LLVM 3.4. Выпуск Clang 3.4 примечателен (http://www.opennet.me/opennews/art.shtml?num=38798) реализацией всех возможностей чернового варианта будущего стандарта C++1y и существенным увеличением производительности генераторов кода.
Сообщается, что добавленные в LLVM 3.4 улучшения позволяют начать интеграцию Clang для дополнительных архитектур FreeBSD, таких как powerpc, mips и arm64. Пользователям и мэйнтейнерам портов рекомендует обратить внимание на более жесткий контроль опций: некоторые ранее игнорируемые флаги, которые не удалось распознать (например, специфичные для GCC опции для тонкой настройки режимов оптимизации), теперь могут привести к выводу ошибки.URL: http://lists.freebsd.org/pipermail/freebsd-current/2014-Febr...
Новость: http://www.opennet.me/opennews/art.shtml?num=39107
Чего только не сделают люди чтобы ни в коем случае не помешать никому закрыть код.
Как-бы наоборот, BSD и другие либеральные лицензии это и позволяют, а GPL нет.
Что плохого в том, что кто-то будет использовать код в закрытых проектах, не открывая его?
Онониму это не важно. Ему важно чтобы был повод это "обсудить".
GPL это позволяет.GPL не позволяет предоставлять пользователям протрояненый блоб, без исходников. Честь ей и хвала за это.
ЖПЛ требует чтобы код был доступен для всех без ограничений, а протрояненым может быть любая программа и не каждый "эксперт" сможет найти все проблемы.
> ЖПЛ требует чтобы код был доступен для всех без ограничений, а протрояненым
> может быть любая программа и не каждый "эксперт" сможет найти все
> проблемы.А они и так ни фера не находят. Толку-то....
ЖПЛ перечитай. Исходники надо предоставлять только пользователям программы. Если ты продаешь программу, то и исходники должен дать только своим клиентам. Хотя, конечно, клиенты потом исходники имеют право опубликовать.
Более того пользователь может незначительно доработать программу и так же продавать. Иначе говоря с GPL есть шанс продать всего одну копию программы.
Добавьте механизм динамической компоновки с бинарными модулями и продавайте блобы :-).
> Добавьте механизм динамической компоновки с бинарными модулями и продавайте блобы :-).Ничего хорошего в дышащих на ладан полулегальных бизнес-моделях нет. Тупиковая ветвь эволюции.
> с GPL есть шанс продать всего одну копию программы.и это хорошо.
> может быть любая программа и не каждый "эксперт" сможет найти все проблемы.Может. Однако если обуть на исходник - поиск здорово усложнится.
А ваш открытый Линукс, написанный на языке с закрытым стандартом (за копию стандарта С и С++ вам нужно отдать по $300), является открытым? Кто-то там (не будем называть по имени) говорил, что если я пользовался проприетарной тулзой для трансформации одного формата данных в другой и не выложил её исходники и исходники данных, мой код не является полностью открытым, хотя в программе нужны только результаты.
Годный вброс.
Но аналогия не совсем верна. Стандарт языка - это не исходный код. У него другие лицензии. У Си-шного она какая-то проприетарная, ага.А еще есть сайт lwn.net, где подписка на новости платная, 10.5 бакса в квартал, минимум.
В том что апстрим не дождётся патчей.
Так хуже от этого будет не только апстриму, но и закрытому проекту.
Закрытому проекту хуже не будет - он-то свои модификации будет использовать.А апстрим их не получит.
> Закрытому проекту хуже не будет - он-то свои модификации будет использовать.
> А апстрим их не получит.а то, что этому проекту придется потом "натягивать" свои патчи на более свежий код апстрима не подумали? можете, ради интереса, посмотреть коммит лог фревый, на тему sponsored by:
понятно, что далеко не все попадает назад в проект, но это уже проблемы (если проблемы) тех, кто эти левые патчи мейнейнит там в сторонке
Да им похъ, они ради "защиты интеллектуальной собственности" один раз натянут и париться больше не будут. Да и для доработок, которые не затрагивают ВЕСЬ код - допустим, если код хорошо поделён на модули - проблемы потом это поддерживать особой нет.
> а то, что этому проекту придется потом «натягивать» свои патчи на более
> свежий код апстрима не подумали?не придётся. большинство проприерастов прекращают «натягивать патчи на код апстрима» и развивают свою ветку отдельно. по многим причинам.
да одна там причина, просто цепочка последовательных шагов/фаз.
примерно таких — 1) не дам (да это и дополнительные трудности), 2) тяжело интегрировать из апстрима (к себе), 3) ну и хрен с ним (с апстримом).
> да одна там причинадалеко не одна. одна из причин, например — это то, что некоторые проводят т.н. «аудит кода», и не хотят проводить его при каждом слиянии заново.
см. пукт 2.
>> а то, что этому проекту придется потом «натягивать» свои патчи на более
>> свежий код апстрима не подумали?
> не придётся. большинство проприерастов прекращают «натягивать патчи на код апстрима»
> и развивают свою ветку отдельно. по многим причинам.ну я встречал нечто на основе 6.2, когда уже 8.0 в релизе была:) но в мейнстрим таки иногда "вкусности" появляются и тут уж зависит от того сколько сил есть у тех кто "зажал". может быть даже проще "слить" свои наработки.
отвлеченно (наверное) от темы, там в последних месяца 3-4 человек из citrix.com патчи на ревью засылает, типа dom0 под фрей, зачем-то им это нужно, мне кажется:)
> фревый, на тему sponsored by:Много тебе фирма Сони наспонсировала? Они вон запускают у себя игры, а кое-кто клюет без драйверов на новые GPU этого семейства. Вот это по корпорасовски и есть честная игра - когда апстрим в просocе и третий сорт.
>> фревый, на тему sponsored by:
> Много тебе фирма Сони наспонсировала? Они вон запускают у себя игры, аих я не помню по коммит-логу (но это не означает, что этого не было).
вот легкий греп по логу дает r217044, например.
"thanks to Geoff Levand of Sony Computer Entertainment for advice on the LV1 hypervisor." NDA поди нарушил, гад такой. можете его слить работодателю если это успокоит ваше жжение ниже поясницы!;-)
> кое-кто клюет без драйверов на новые GPU этого семейства. Вот это
> по корпорасовски и есть честная игра - когда апстрим в просocе
> и третий сорт.ну кто-то, возможно, "клюет без драйверов". я последних ~10лет только nVidia покупаю, даже в начале нулевых когда у меня была вин2к на десктопе. оно работает, без лишнего секса. у меня нет сыпи от "еп, я поставил БЛОБ!!"
> "thanks to Geoff Levand of Sony Computer Entertainment for advice on the
> LV1 hypervisor."О, целый совет по какому-то гипервизору (казалось бы, как это относится к драйверам на новые амдшные APU?). Ну все, фирме Сони надо памятник поставить за вклад в развитие BSD.
> если это успокоит ваше жжение ниже поясницы!;-)
По-моему, жжение не у меня.
> ну кто-то, возможно, "клюет без драйверов". я последних ~10лет только nVidia покупаю,
А фирма Сони почему-то использует AMDшные APU. Им вот можно. А таким как ты - нет. Вот только такой подход нравится не всем. Вот и осталась горстка негордых любителей жрать третий сорт и несколько наиболее жлобских конторок.
> я поставил БЛОБ!!"
Что довольно феерично для того кто наяривает на сборку из исходников всего и вся. Двойные стандарты - они такие.
>> "thanks to Geoff Levand of Sony Computer Entertainment for advice on the
>> LV1 hypervisor."
> О, целый совет по какому-то гипервизору (казалось бы, как это относится к
> драйверам на новые амдшные APU?). Ну все, фирме Сони надо памятник
> поставить за вклад в развитие BSD.консультация, что нужно сделать, чтобы запустить freebsd на плейстейшн. ты ожидал что они должны слить вообще все свои наработки?:-)
>> если это успокоит ваше жжение ниже поясницы!;-)
> По-моему, жжение не у меня.а по-моему, как раз-таки у тебя, тебя же беспокоит то, что сони "зажала", при этом ты не используешь обсуждаемую ОС. как это называется?:-)
>> ну кто-то, возможно, "клюет без драйверов". я последних ~10лет только nVidia покупаю,
> А фирма Сони почему-то использует AMDшные APU. Им вот можно. А таким
> как ты - нет. Вот только такой подход нравится не всем.
> Вот и осталась горстка негордых любителей жрать третий сорт и несколько
> наиболее жлобских конторок.ну да, все вокруг идиоты кроме тебя, ясно:)
>> я поставил БЛОБ!!"
> Что довольно феерично для того кто наяривает на сборку из исходников всего
> и вся. Двойные стандарты - они такие.голоса в твоей голове такое говорят? не слушай их, они лгут
> Так хуже от этого будет не только апстриму, но и закрытому проекту.Да, хуже будет всем. Называется такая ловушка - "трагедия общин". Ну типа общего колодца, из которого каждому локально выгодно вычерпать воду до дна. Чтобы избежать этой ловушки приходится устанавливать общие правила "выкручивающие руки", типа GPL.
> общего колодца, из которого каждому локально выгодно вычерпать воду до дна.Некоторые понимают что так делать не следует, лишь когда их всех вместе начинает жутко долбить сушняк.
> Что плохого в том, что кто-то будет использовать код в закрытых проектах, не открывая его?То что это гомно может попасться нам. И если там например баг будет - фиг его починишь.
>> Что плохого в том, что кто-то будет использовать код в закрытых проектах, не открывая его?
> То что это гомно может попасться нам. И если там например баг
> будет - фиг его починишь.боюсь, что вам, нищебродам, максимум что попадется - какая-либо фигня с кастрированой убунту на борту и стимом, размером с видак "электроника вм-12" за $50 которые вы точно также "фиг его починишь". видишь ли, мой ананимный друг, сам факт "швабоды" не даст тебе мозгов чтобы понять что там не так. возможо, кто-то умнее тебя и сможет починить (если ему будет до этого какой-либо интерес), только время, думаю, будет сопоставимо со временем которое потребуется "блободелу" чтобы выпустить свежую "фирмварь".
ты это VMware скажи, которые свои код не открывают, где используется вместе с линукс
> Чего только не сделают люди чтобы ни в коем случае не помешать никому закрыть код.Например, ядро под GPLv3 не переведут.
Так Линус известен беспринципностью.
> Так Линус известен беспринципностью.Он известен тем что не чинит то что не сломано или если есть риск что сломается еще больше. Кроме всего прочего это действие требует спросить согласия у всех кто когда либо коммитил в ядро. Что нереально.
если бы ядро было бы GPLv3, то оно больше бы походило на NetBSD зато идейно чистое
Но ведь это и есть подлинная свобода для разработчика. Хочешь, чтобы твой код всегда оставался открытым - лицензируй под GPL, на здоровье. Хочешь, чтобы твой код использовался как можно более шире - тоже пожалуйста. Полная свобода выбора.
Пример "как можно более шире" в случае с FreeBSD не канает...
Ну как же, Sony вон вовсю использует. И шире и глубже.
Разработчики FreeBSD счастливы, насколько я понимаю.
>Ну как же, Sony вон вовсю использует. И шире и глубже.BSD - 300 Mb source
Android - 2Gb sourceОбъемы продаж планшетов и смартфонов подсказать, или сами найдете?
>>Ну как же, Sony вон вовсю использует. И шире и глубже.
> BSD - 300 Mb source
> Android - 2Gb source
> Объемы продаж планшетов и смартфонов подсказать, или сами найдете?Некорректное сравнение размера исходников и количество продаж, винда вообще не опен сорс, а на десктопах распространена больше чем весь опен сорс вместе взятый. Кстати количество устройств на OS X и iOS тоже не малое, а корни их в FreeBSD. Чую Apple не зрая в FreeBSD Clang закинула =)
>Чую Apple не зрая в FreeBSD Clang закинула =)Cкандалы. Интриги. Расследования.
мужики-то и не знали, что это было apple, вот это сюжет!
> BSD - 300 Mb source
> Android - 2Gb sourceЕсли уж на то пошло, половина дров SoC нынче в майнлайн. А у некоторых только дырка от бублика вместо драйверов на свежие APU. Отдача от сони в апстрим налицо...
> Чего только не сделают люди чтобы ни в коем случае не помешать
> никому закрыть код.Чего только не сделают люди, чтобы спровоцировать холивар.
Хорошая новость. Теперь приложение должно собираться двумя разными компиляторами, что сделает его код немного лучше.
спорно. напрмер: 2Х компилятора => 2Х костылей для обходя локальных проблем компилятора
2 компилятора -> повод написать нормальный код вместо двух наборов костылей.
Учитывая ущербность языка на котором это всё пишется то без костылей никуда.
Вот-вот, айзену уже предлагали переписать всё на его панацеи.
Он как-то сдулся.Лучшего языка не придумали. И вряд ли придумают.
А всё потому, что процессоры до сих пор цифровые и понимают только двоичную систему.
Вот так.
И никакой язык, никакие абстракции не заменят знания, которые нужны для понимания их работы.
По крайней мере эффективно не заменит.
Либо индус, либо засучиваешь рукава.
> Лучшего языка не придумалиЯзык выбирается в зависимости от задачи, конкретных условий и обстоятельств.
Вы же ничем от Java-индуса не отличаетесь принципиально с такими утверждениями.
Ты сабж то прочитал, индус?Повторяю:
>Объявлено о переводе актуальной кодовой базы FreeBSD-CURRENT на Clang 3.4Кодовая база.
База.зыж
Положительно неучи никогда не знают рамок своего невежества.
>Язык выбирается в зависимости от задачи, конкретных условий и обстоятельств.Ага, щас.
>Лучшего языка не придумали. И вряд ли придумают.Всё уже познано. Развитие закончено.
>И никакой язык, никакие абстракции не заменят знания, которые нужны для понимания их работы.
процесс двусторонний. Знания должны делать инструменты лучше.
>> Лучшего языка не придумали. И вряд ли придумают.
> Всё уже познано. Развитие закончено.По принципу «Разрушить, а затем…»?
Ау! Язык С (да и С++) развиваются. С11 есть, С14 вот обещают.>> И никакой язык, никакие абстракции не заменят знания, которые нужны для понимания их работы.
> процесс двусторонний. Знания должны делать инструменты лучше.Так и флаг вам в руки. Делайте.
При чём тут предложения неучей использовать жабу/этк в указанных сабжем целях, не понятно. И объясняется только невежеством.
зыж
Поясняю:
$ file /opt/oracle-jdk-bin-1.7.0.51/bin/java
/opt/oracle-jdk-bin-1.7.0.51/bin/java: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, BuildID[sha1]=b82a586842f6da3df8a61093daadf04180e85c16, not stripped
$ ldd /opt/oracle-jdk-bin-1.7.0.51/bin/java
linux-vdso.so.1 (0x00007fffd15b1000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fafe6f02000)
libjli.so => /opt/oracle-jdk-bin-1.7.0.51/bin/../lib/amd64/jli/libjli.so (0x00007fafe6ceb000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fafe6ae7000)
libc.so.6 => /lib64/libc.so.6 (0x00007fafe6738000)
/lib64/ld-linux-x86-64.so.2 (0x00007fafe711f000)
>>> Лучшего языка не придумали. И вряд ли придумают.
>> Всё уже познано. Развитие закончено.
> По принципу «Разрушить, а затем…»?Разрушать Си никто не собирается. Как ты думаешь это можно сделать?
> Ау! Язык С (да и С++) развиваются. С11 есть, С14 вот обещают.
«K&R» C (1978)
ANSI C (1989)
C90 (1990)
C99 (1999)
C11 (2011)
с14 (?)Костыли - костыляются.
> Так и флаг вам в руки. Делайте.
уже давно сделано.
> Разрушать Си никто не собирается. Как ты думаешь это можно сделать?Косить под дурачка у дурачков всегда плохо получалось. ☺
Так, для справки.
От себя — а я где-то говорил, что айзены хотели именно С переписать на жабе?
Ай-ай-ай, какое передёргивание.
> «K&R» C (1978)
> ANSI C (1989)
> C90 (1990)
> C99 (1999)
> C11 (2011)
> с14 (?)
> Костыли - костыляются.О! Тут до жабы им далеко!. 1.2 => 1.3; 1.3 => 1.4; 1.4 => 1.5;… — это было настоящее шаманство. С куклами вуду и прочими атрибутами.
И это не говоря уже о «жаба от сан», «жаба от ibm», «жаба от оракл (jinitiator)», «открытая жаба»,… разбавляя всё это ынтырпрайс ыдышн и тд.
> уже давно сделано.ГдЕ?!!! ☺
>> Разрушать Си никто не собирается. Как ты думаешь это можно сделать?
> Косить под дурачка у дурачков всегда плохо получалось. ☺
> Так, для справки.Справка принята. Отвечайте на вопрос.
> От себя — а я где-то говорил, что айзены хотели именно С
> переписать на жабе?
> Ай-ай-ай, какое передёргивание.ты с кем сейчас разговариваешь?
> О! Тут до жабы им далеко!. 1.2 => 1.3; 1.3 => 1.4;
> 1.4 => 1.5;… — это было настоящее шаманство. С куклами вуду
> и прочими атрибутами.
> И это не говоря уже о «жаба от сан», «жаба от ibm»,
> «жаба от оракл (jinitiator)», «открытая жаба»,… разбавляя
> всё это ынтырпрайс ыдышн и тд.какой словесный салат))
>> уже давно сделано.
> ГдЕ?!!! ☺oberon/modula.
Ada и APL врываются в этот тред
Да-да, чудик выше объявил конкурс экзотических языков. ☺
> конкурс экзотических языковси и цпп тут побеждают с огромным отрывом. выиграть у них в плане «экзотичности» сложно.
> си и цпп тут побеждают с огромным отрывомДа.
На них по крайней мере кодовая база может быть построена.
>> си и цпп тут побеждают с огромным отрывом
> Да.
> На них по крайней мере кодовая база может быть построена.с непременными областями, огорожеными табличками «ахтунг! минен!»
Ну, эти надписи торчат ещё из железа (acpi, apic,… usb — сколько там решили всё-таки выделить на таймоут монтирования сторэдж-девайсов? 10? 15? 20?).Зато указанная выше кодовая база их может локализовать. ☺
Чего не могут указанные обероно-жабы. Никто так и не решился написать. ☹
> Ну, эти надписи торчат ещё из железаэто не является достаточной причиной, чтобы ещё и в языке бережно раскладывать грабли.
> Чего не могут указанные обероно-жабы. Никто так и не решился написать. ☹
эвона как… на обероне ажно целую ось отгрохали (он для написания этой оси и создавался, вообще-то). и на active oberon ещё одну.
да, проекты это исследовательские в основном, пиаром никто не занимался. тем не менее, oberon активно использовался. по гибкости у этих ОС до сих пор нет конкурентов.
>> Ну, эти надписи торчат ещё из железа
> это не является достаточной причиной, чтобы ещё и в языке бережно раскладывать грабли.Да нету там граблей.
Пока этот язык на платформу не натягиваешь.> эвона как… на обероне ажно целую ось отгрохали
Это из которой я не могу ни напечатать, ни посмотреть?
Нда, кому и кобыла невеста.
>> эвона как… на обероне ажно целую ось отгрохали
> Это из которой я не могу ни напечатать, ни посмотреть?так ты и на lamborghini ездить не можешь: нет его у тебя. ergo, lamborghini — бесполезная фигня с квадратными колёсами.
С каких пор у них квадратные колёса?
И да, для большинства это бесполезная фигня.
> Да нету там граблей.
> Пока этот язык на платформу не натягиваешь.См. undefined behavior.
> с непременными областями, огорожеными табличками «ахтунг! минен!»А ты хотел в работающий ядерный реактор без свинцовых трусов лазить, чтоли?
> Ada и APL врываются в этот тред…но поскольку они очень неповоротливые, то не успевают вовремя затормозить и со свистом пролетают дальше.
> Справка принята. Отвечайте на вопрос.Справка была риторической.
Какой вопрос то?
>ты с кем сейчас разговариваешь?Предположительно с человеком с минимумом интелекта.
>какой словесный салат))Предположение не подтвердилось :D
> oberon/modula.докажи. (С моей стороны — вон он сабж)
> Справка была риторической.
> Какой вопрос то?
>>>> Лучшего языка не придумали. И вряд ли придумают.
>>> Всё уже познано. Развитие закончено.
>> По принципу «Разрушить, а затем…»?
> Разрушать Си никто не собирается. Как ты думаешь это можно сделать?и дальше была риторика :D
>> oberon/modula.
> докажи. (С моей стороны — вон он сабж)костыли - доказательство инвалидности, а не развития.
>>> oberon/modula.
>> докажи. (С моей стороны — вон он сабж)
> костыли - доказательство инвалидности, а не развития.т.е. не будет?
я так и думал ☺
>>>> oberon/modula.
>>> докажи. (С моей стороны — вон он сабж)
>> костыли - доказательство инвалидности, а не развития.
> т.е. не будет?от меня - неа.
> я так и думал ☺
да тебе вообще собеседник не нужен :D
>от меня - неа.ожидаемо.
>да тебе вообще собеседник не нужен :Dдля тебя этот термин — слишком громкое заявление. ☺
>> oberon/modula.
> докажи.берём oberon language report. читаем. сравниваем со стандартом си. плачем, и понимаем, что такого бездарного нагромождения костылей на костыли, как в стандарте си, нигде больше не найти, пожалуй. и что характерно — всё без толку, потому что на каждом шагу натыкаешься на UB.
О! Программисты-теоретики в трэде?
А печатать мне на принтер (или посмотреть на экране) этот стандарт предлагается программ-костылей из С? ☺
> О! Программисты-теоретики в трэде?теоретики писали стандарт. получилось — вполне логично — УГ.
> А печатать мне на принтер (или посмотреть на экране) этот стандарт предлагается
> программ-костылей из С? ☺(пожимает плечами) поставь себе native oberon и печатай из него, кто запрещает?
Да-да, один уже пробовал так напечатать на своём hp.
Получился gnu/linux.
На сях. ☺Тоже ждёт и теоретиков с оберона (или с другой альфа-центавры на нашей грешной Земле).
> берём oberon language report. читаем. сравниваем со стандартом си. плачем, и понимаем, что такого бездарного нагромождения костылей на костыли, как в стандарте си, нигде больше не найти, пожалуй. и что характерно — всё без толку, потому что на каждом шагу натыкаешься на UB.Oberon language report - это не стандарт, и сравнивать его со стандартом бессмысленно. Там прямо говорится, что кое-что умышленно недосказано: "What remains unsaid is mostly left so intentionally, either because it is derivable from stated rules of the language or because it would require to commit the definition when a general commitment appears as unwise."
Если бы в природе существовал еще и стандарт oberon, то там пришлось бы подробно расписать всё что только можно, а что ненужно - пришлось бы обозвать "undefined behavior", и ты бы на него тоже натыкался. И это на самом деле хорошо, когда какие-то ситуации однозначно прописаны как "undefined behavior", вместо "попробуй угадай, можно ли полагаться на то, что тебе кажется логичным, или же у компиляторов другое мнение, причем скорее всего у всех разное".
> Если бы в природе существовал еще и стандарт oberon…то он, само собой, был бы жирным непонятным говнищем. а report'а вполне достаточно, чтобы сделать компилятор, который будет собирать рабочий обероновский код. проверено лично.
Можно выкинуть из стандарта си все про UB. В итоге останется "вполне достаточно, чтобы сделать компилятор, который будет собирать рабочий код". И что, хочешь сказать, что так и нужно сделать?
Ты, похоже, просто не понимаешь, зачем нужен стандарт. Тебе не нужно его читать. Если тебя раздражает UB, читай "программирование на си для чайников".
> Можно выкинуть из стандарта си все про UB.не «можно», а *нужно*. UB обозначает: «да лень нам было думать, вы уж сами как-нибудь по минным полям прыгайте». ну почему, например, переполнение для беззнаковых целых определено, а для знаковых — нет? у нас огромное количество техники, которая представляет знаковые целые не в виде 2's complement? и такая вот чушь в языке, «приближеном к железу». тьфу.
да-да, всем разботчикам ПО уже выслано уведомление.
зыж
бред во все щели — чем дальше расходятся компиляторы, тем больше будет костылей.
если разрабы вообще будут на это ориентироваться (а оно им надо?). Так что без вот такого (в подтверждение первого факта) не обойтись
$ man icc
>[оверквотинг удален]
> GNU* gcc Interoperability
> C++ compilers are interoperable if they can link object files and libraries generated by one compiler with object files and libraries generated by the second compiler, and the resulting executable runs successfully. Some GNU* gcc versions are not interoperable, some versions are interoperable. By default, the Intel compiler will generate code that is interoperable with the version of gcc it finds on your system.
> The Intel(R) C++ Compiler options that affect GNU* gcc interoperability include:
> · -cxxlib
> · -gcc-name
> · -gcc-version
> · -gxx-name
> · -fabi-version
> · -no-gcc (see gcc Predefined Macros for more information)
> The Intel(R) C++ Compiler is interoperable with GNU* gcc compiler versions greater than or equal to 3.2. See the Intel(R) C++ Compiler Documentation for more information.http://books.google.ru/books?id=b4LRxdjkOV4C&pg=PA163&lpg=PA...
или тут http://en.wikipedia.org/wiki/Name_decoration
У каждого компилятора свой алгоритм «декорирования» имён.
Ну не знаю как там у вас в индии, а у нас за последние полгода с помощью clang найдено выпилено немало костылей и gcc'измов, заодно clang-scan'ом потенциальных багов найдено.
у вас, это где?
и где можно взглянуть на ваш шедевр?или в вашу индусскую вселенную просто так не попасть?
> выпилено немало костылей и gcc'измов«gcc-измы» — они обычно не просто так появлялись, а для удобства программиста. большинство моего кода, например, шлангом не собирается в принципе, потому что я считаю, что statement expressions и nested functions — офигенно удобные штуки. а если их объединить — они дают очень изящный способ создавать callback-и. и никаких 'void *udata' не надо (поэтому в моих библиотеках такого параметра и нет обычно).
А в чём проблема с void *udata (и void **udata заодно)?
> А в чём проблема с void *udata (и void **udata заодно)?в том, что это лишний параметр. зачем мне лишние параметры?
а отсутствие контроля типов не смущает?
> а отсутствие контроля типов не смущает?не смущает. поскольку я такой параметр не использую, то мне совершенно без разницы всё остальное.
> а для удобства программистаДа-да, так говорили все кто плевать хотел на стандарты, начиная с микрософта.
> большинство моего кода, например, шлангом не собирается в принципе
Ну так в дворники.
> «gcc-измы» — они обычно не просто так появлялись, а для удобства программиста.А "удобство программиста" часто означает менее эффективный код. Если не нужен эффективный код - зачем тебе си?
> они дают очень изящный способ создавать callback-и. и никаких 'void *udata' не надо (поэтому в моих библиотеках такого параметра и нет обычно).
Правда при этом компилятору приходиться динамически генерить код для трамплинов, обычно в стеке. Что как бы не очень изящно вообще, а в частности с точки зрения security, и просто не будет работать если выполнение кода в стеке запрещено. Хотя, если твоими библиотеками никто не пользуется, то это не проблема.
>> «gcc-измы» — они обычно не просто так появлялись, а для удобства программиста.
> А «удобство программиста» часто означает менее эффективный код.если я захочу Офигенно Эффективный Код — я знаю, где взять ассемблер и спеки по процессорам.
> Если не нужен эффективный код — зачем тебе си?
потому что из си удобнее всего использовать сишные заголовки библиотек. и свои библиотеки другим давать удобно. если бы не это — в гробу я ваш си видел.
>> они дают очень изящный способ создавать callback-и. и никаких 'void *udata' не надо (поэтому в моих библиотеках такого параметра и нет обычно).
> Правда при этом компилятору приходиться динамически генерить код для трамплинов, обычно
> в стеке.лолвут? это тебе кто-то сказал такую ерунду, или ты её сам придумал? «трамплины». для nested functions. ты сделал мой день прямо с самого утра.
>>> они дают очень изящный способ создавать callback-и. и никаких 'void *udata' не надо (поэтому в моих библиотеках такого параметра и нет обычно).
>> Правда при этом компилятору приходиться динамически генерить код для трамплинов, обычно в стеке.
> лолвут? это тебе кто-то сказал такую ерунду, или ты её сам придумал? «трамплины». для nested functions. ты сделал мой день прямо с самого утра.http://gcc.gnu.org/onlinedocs/gccint/Trampolines.html
17.12 Trampolines for Nested Functions
A trampoline is a small piece of code that is created at run time when the address of a nested function is taken. It normally resides on the stack, in the stack frame of the containing function.
хм. извиняюсь, это я что-то натупил, да. действительно, гадит в стек исполняемым кодом, если обращаться к «родительским» переменным. неприятненько. я отчего-то был уверен, что нет. благодарю за прочистку мне мозгов.
> Хорошая новость. Теперь приложение должно собираться двумя разными компиляторами, что сделает его код немного лучше.Всё поставлено с ног на голову. (что часто замечено за айзеном например).
Код лучше может сделать только тот, кто его пишет.
1. В Linux тоже есть закрытый код например драйвера к некоторым устройствам, так что хотя бы из за этого Linux не является эталоном открытости. Так как не все закрытые драйвера имеют свои открытые аналоги.2. Не все могут построить бизнес модель основанную на чистом Donate так как ввиду своей открытости проект всегда можно использовать ничего не дав в замен. Кушать хочется абсолютно всем и разработчики не исключение.
3. Каждому свое
> 1. В Linux тоже есть закрытый код например драйвера к некоторым устройствам,покажи мне этот код в mainline.
> 2. Не все могут построить бизнес модель основанную на чистом Donate
а нефиг софт продавать. продавать надо консультационные и программерские услуги.
>> 2. Не все могут построить бизнес модель основанную на чистом Donate
> а нефиг софт продавать. продавать надо консультационные и программерские услуги.Ну, нас посетил либо программист, который не понимает, что ему за его (вернее даже не его, а им написанный) код всё равно работодатель заплатит один раз, либо… Билл Гейтс. :D
> покажи мне этот код в mainline.пожалуйста:
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.g...Всех последователей Столлмана надо насильно пересадить на linux-libre без блобов )
>> покажи мне этот код в mainline.
> пожалуйста:
> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.g...этот код не имеет отношения к ядру.
> Всех последователей Столлмана надо насильно пересадить на linux-libre без блобов )
у меня этих блобов нет, например. ЧЯДНТ?
>>> покажи мне этот код в mainline.
>> пожалуйста:
>> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.g...
>этот код не имеет отношения к ядру.Зачем он тогда у Линуса в ветке, если отношения к ядру не имеет?
Это именно закрытые прошивки, без который железки не будут работать. Драйвера их загружают.
Образ диска еще не готовhttp://ftp.freebsd.org/pub/FreeBSD/snapshots/ISO-IMAGES/10.0/
http://mirror.yandex.ru/freebsd/snapshots/ISO-IMAGES/10.0/
Вообще-то речь про CURRENT, так что тебе сюда:http://ftp.freebsd.org/pub/FreeBSD/snapshots/ISO-IMAGES/11.0/
% cc --version
FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512
Target: x86_64-unknown-freebsd10.0
Thread model: posix