LINUX.ORG.RU

О работе с valgrind

 , ,


0

0

Valgrind -- мощный инструмент программиста, позволяющий отыскивать ошибки работы с памятью. Каждый начинающий (и не только) разработчик на языке C просто обязан научиться пользоваться данным средством. В этом и поможет статья, которую можно прочитать, перейдя по ссылке.

>>> Статья

★★★★

Проверено: Shaman007 ()

Ответ на: комментарий от anonymous_11112

1. посмешил однако. операционка, написанная на аде 2. никто не хочет писать на сях? ты случайно не очередной близорукий джава-программер? 3. активно переходит? ну есть некоторые (чисто финансовые, но далеко не экономия денег на времени программирования) причины. и, если честно, мне непонятно использование платформ, типа "моно" под линуксом. 4. корпоративное говно. причём, видел не только на си, но и на фортране. так что, зависит от говна в голове. спрос неуклонно падает на сишных программеров? может ты можешь сказать, почему программы становиться все проще сломать? а свинцовые штаны - у тебя в голове, потому как окромя одного языка программирования ты них..я не знаешь. вот и все свинцовые башмаки.

Karbofos
()
Ответ на: комментарий от anonymous_11112

>>> Во-первых, где это я говорил, что выбираю язык по объёму проекта, а не по задаче? Очки протри.

Цитирую: >>> 1. Вообще-то, писать на Си большие проекты - дурость, как неоднократно было здесь говорено. http://www.linux.org.ru/jump-message.jsp?msgid=2502626&cid=2504035

То есть при выборе языка в первую очередь нужно учитывать размер проекта? Раз проект большой то Си для него не подходит? Или я неправильно понял это утверждение?

sergey_vp
()
Ответ на: комментарий от anonymous_11112

> Пользователям код вообще до лампочки, лол. Им надо, чтобы не глючило и не тормозило. Вот к безглючности си ни разу не располагают, тут спорить не о чем. А по поводу производительности...Там, где питонщик применит хэш-таблицу, сишник в 99% случаев будет использовать последовательный перебор. И так везде. Ну и зачем писать на сях?

Я фигею, дорогая редакция. Это насколько надо быть упертым, уже всё объяснили, перемололи, и всё равно нужно доказывать с пеной у рта свои домыслы. Если Вы ни разу не сылшали про uthash или std::map, не нужно всех вокруг считать идиотами. Если Вы оказались не способны осилить корректное и безглючное написание программ на Си/С++, чему, между прочим, как правило, учат на первом курсе института (а вообще, предполагается, что студент это может освоить сам), то не стоит винить в этом окружающий мир, стоит подумать о смене сферы своей профессиональной деятельности. Можете рассказывать мне сколько угодно про то, что весь софт нужно переписать на питон и другие "высокоуровневые" языки, я вижу обратное, народ предпочитает пользоваться качественными Си/С++ программами через wine, чем использовать "высокоуровневые" программы на мегаязыках. uTorrent - самый яркий тому пример. Можно вспомнить Paludis как альтернативу известному изделию на питоне.

> Линус не знает Аду, это тоже медицинский факт. Он вообще кроме Си ничего не знает. Тебе понятие "туннельное зрение" знакомо?

Да, да, Линус, конечно же, ничего не знает, в отличие, от Вас.

> Верно. Развей же свою мысль. Зачем, по-твоему, появляются эти интерфейсы, если есть расчудесный Си?

Без проблем. Как сверхпопулярная библиотека GUI - GTK+ просто обязана иметь настолько много языковых интерфейсов, насколько это возможно. Это вполне понятная и логичная позиция разработчиков, которые хотят, чтобы их библиотекой пользовались как можно большее количество разработчиков. Дальше развивать свою мысль, или сами достроите логическую цепочку?

> Всё с точностью до наоборот, друг мой. Во-первых, по "неумелым рукам" Си бьёт, как никто другой, хуже только плюсы

В общем-то пожалуй с этим в чем-то можно и согласиться, поэтому это и хорошо, что горе-программисты уходят писать на пхпжабопитоношарпах.

> если второй искаропки предоставляет немало толковых решений и готовых кубиков, то в первом приходится всё делать самому.

Это пошел разговор из серии Java: "- А у нас есть платформа" C++: "-а нам нах не надо". Не считаю целесообразным здесь это повторно обсуждать.

> Но от байт-кода мы никуда не денемся, попомни моё слово лет через 10.

По поводу сложности и размера проекта высказался предыдущий оратор, да и я тоже не буду повторяться :) Через 10 лет уже придумают AI, появятся рабочие квантовые компьютеры, grid-вычисления, достроят и запустят большой адронный коллайдер и кому нафиг будет нужен тогда Ваш байт-код? :)

Displacer ★★
()
Ответ на: комментарий от Displacer

>> Но от байт-кода мы никуда не денемся, попомни моё слово лет через 10.

>По поводу сложности и размера проекта высказался предыдущий оратор, да и я тоже не буду повторяться :) Через 10 лет уже придумают AI, появятся рабочие квантовые компьютеры, grid-вычисления, достроят и запустят большой адронный коллайдер и кому нафиг будет нужен тогда Ваш байт-код? :)

Ты, это, больше такой травы не кури ;) Уж больно она у тебя забористая.

Как связаны AI и квантовые компутеры с байт-кодом я вообще не понимаю -- программирование тех-же квантовых компутеров сейчас больше похоже на кандидатскую работу по физике чем на привычное программирование, и в ближайшие 10 лет тут врядли что-то изменится.

А вот LHC и грид как-раз могут дать ещё один пинок байт-коду. Когда я в последний раз общался с grid-ребятами, они на полном серьёзе предлагали использовать жабу для счётных задач. Grid слишком гетерогенен по своей натуре -- там не то что более-менее одинаковой операционки и окружения не найти, там и аппаратные платформы сильно различаются и далеко не все они intel-совместимы. Так что кроме байт-кода или уродцев типа очень толстого имиджа с user-mode linux и всем необходимым софтом внутри там не запустишь.

anonymous
()

А ещё С портабелен, в отличии от жабы и шарпа. Кто пробовал запустить приложение адаптированое для BEA на IBM машине знает.

anonymous
()

Почитав тред, подумал, что пора валить с линукса. Концентрация красноглазого нубья в треде превысила все ПДК. Каким надо быть идиотом, чтобы говорить: "нет языка, кроме си, а линус пророк ево"? Объясняю: на данный момент существуют технологии, превосходящие Си по всем статьям - в своей области применения. Писать на Си на сегодняшний день = расписываться в своей некомпетентности и непробиваемой ортодоксальности, граничащей с религиозным фанатизмом. Всё равно, что копать котлованы лопатой, "потому что экскаватор ограничивает мою свободу", лол.

Про плюсы я вообще молчу. В дурку или на погост.

anonymous
()
Ответ на: комментарий от Displacer

> Сообщаю, есть четко высказанное Линусом мнение, что языки, подобные Паскалю-Аде ограничивают его свободу в написании ядра.

Что-то мне это напомнило выкрики красноглазых перловщиков о том, что питон ограничивает их свободу самовыражения. :) Вы не из их числа, товарищ?

anonymous
()
Ответ на: комментарий от anonymous

> Как связаны AI и квантовые компутеры с байт-кодом я вообще не понимаю

Чувство юмора, товарищи, чувство юмора, не более того.

> А вот LHC и грид как-раз могут дать ещё один пинок байт-коду. Когда я в последний раз общался с grid-ребятами, они на полном серьёзе предлагали использовать жабу для счётных задач. Grid слишком гетерогенен по своей натуре -- там не то что более-менее одинаковой операционки и окружения не найти, там и аппаратные платформы сильно различаются и далеко не все они intel-совместимы. Так что кроме байт-кода или уродцев типа очень толстого имиджа с user-mode linux и всем необходимым софтом внутри там не запустишь.

Не пойму, кто вам всем настолько промыл мозг, я удивляюсь? Си и С++ - полностью кроссплатформенные языки, работают на любой платформе, в том числе intel-несовместимой. Откуда такая святая уверенность, что кроме байт-кода ничего не запускается нигде? Вроде бы Sun не настолько сильно PR-ил жаву, у них просто на это нет денег, хотя, конечно, PR-ил. Может быть Microsoft? Или нынче этому в институтах учат?

Displacer ★★
()
Ответ на: комментарий от Displacer

>Не пойму, кто вам всем настолько промыл мозг, я удивляюсь? Си и С++ - полностью кроссплатформенные языки, работают на любой платформе, в том числе intel-несовместимой. Откуда такая святая уверенность, что кроме байт-кода ничего не запускается нигде? Вроде бы Sun не настолько сильно PR-ил жаву, у них просто на это нет денег, хотя, конечно, PR-ил. Может быть Microsoft? Или нынче этому в институтах учат?

Нас, к сожалению, не учили C/C++ (освоил сам, до универа), зато интенсивно учили тыкать кнопочки в Delphi, а позднее был Java. Правда о том, что Java "кроссплатформеннее некуда", никто не говорил.

Demon37 ★★★★
() автор топика
Ответ на: комментарий от anonymous

> Писать на Си на сегодняшний день = расписываться в своей некомпетентности и непробиваемой ортодоксальности, граничащей с религиозным фанатизмом. Всё равно, что копать котлованы лопатой, "потому что экскаватор ограничивает мою свободу", лол. Почитав тред, подумал, что пора валить с линукса.

Валите, валите уже с линукса, он написан на ненавистном языке Си ортодоксальным и некомпетентным Торвальдсом и компанией.

> Про плюсы я вообще молчу. В дурку или на погост.

Да, это, бесспорно, в дурку.

Displacer ★★
()
Ответ на: комментарий от anonymous

>>> на данный момент существуют технологии, превосходящие Си по всем статьям - в своей области применения

Ключевые слова "в своей области применения", превзойти Си в его области применения невозможно, то есть нужно просто правильно понимать область применения языка и тогда никаких проблем не будет. Вам же не предлагают писать CMS на Си.

>>> Писать на Си на сегодняшний день = расписываться в своей некомпетентности

На чём пишут компитентные люди? Я начинающий программист и мне этот вопрос очень интересен.

>>> пора валить с линукса. Концентрация красноглазого нубья в треде превысила все ПДК

Хорошый способ выбирать ОС :)

sergey_vp
()
Ответ на: комментарий от sergey_vp

> Ключевые слова "в своей области применения", превзойти Си в его области применения невозможно, то есть нужно просто правильно понимать область применения языка и тогда никаких проблем не будет

С этим не поспоришь. Но какова область применения Си, кроме взаимодействия с другим кодом на Си? Он выживает лишь потому, что когда-то стал платформой для Юникса. Пока Юниксы барахтаются - Си никуда не денется, но как только им на смену придёт что-то ещё, тут-то сям и капец. Можем побиться об заклад, Следующая ОС будет написана не на Си.

anonymous
()
Ответ на: комментарий от Displacer

Ути-пути, фанбоям раскрыли глаза на то, что Линус не знает Ады, и они обиделись? Вилком в реальный мир, чучельце.

anonymous
()
Ответ на: комментарий от anonymous

>Каким надо быть идиотом, чтобы говорить: "нет языка, кроме си, а линус пророк ево"?

А кто здесь такое говорил?

>Объясняю: на данный момент существуют технологии, превосходящие Си по всем статьям - в своей области применения

В своей области -- да.

>Писать на Си на сегодняшний день = расписываться в своей некомпетентности и непробиваемой ортодоксальности, граничащей с религиозным фанатизмом

4.2

>Про плюсы я вообще молчу. В дурку или на погост.

Почему? Не осилил конструкторы копирования или еще чего?

Demon37 ★★★★
() автор топика
Ответ на: комментарий от anonymous

>С этим не поспоришь. Но какова область применения Си, кроме взаимодействия с другим кодом на Си?

Область применения? Системные библиотеки, как минимум. Любые задачи, требующие максимальной производительности и при этом полной переносимости.

>Он выживает лишь потому, что когда-то стал платформой для Юникса. Пока Юниксы барахтаются - Си никуда не денется, но как только им на смену придёт что-то ещё, тут-то сям и капец.

А куда Юниксы денутся?

>Можем побиться об заклад, Следующая ОС будет написана не на Си.

Да их море... Можешь переходить на прогрессивные шарпосы.

Demon37 ★★★★
() автор топика
Ответ на: комментарий от anonymous

>. Писать на Си на сегодняшний день = расписываться в своей некомпетентности и непробиваемой ортодоксальности, граничащей с религиозным фанатизмом.

Какая прелесть! Очевидно, разработчики Python некомпетентны и непробиваемо ортодоксальны, раз написали его на C? Да-да, про PyPy я знаю, вот только беда, на чем он будет исполняться?

stellar
()
Ответ на: комментарий от anonymous_11112

>Пользователям код вообще до лампочки, лол. Им надо, чтобы не глючило и не тормозило. Вот к безглючности си ни разу не располагают, тут спорить не о чем. А по поводу производительности... Там, где питонщик применит хэш-таблицу, сишник в 99% случаев будет использовать последовательный перебор. И так везде. Ну и зачем писать на сях?

Какой интересный подход ;) Продолжайте, продолжайте нести чепуху и показывать свою некомпетентность.

stellar
()
Ответ на: комментарий от anonymous

>С этим не поспоришь. Но какова область применения Си, кроме взаимодействия с другим кодом на Си? Он выживает лишь потому, что когда-то стал платформой для Юникса.

Почему же тогда подавляющее большинство софта пишут на небогоизбарнных C и С++? Вот, казалось бы, есть Java, есть Ada, Pascal и т.п. Есть даже Питон. А нормальный софт все равно пишут на С и С++. Мировой заговор, не иначе.

>Пока Юниксы барахтаются - Си никуда не денется, но как только им на смену придёт что-то ещё, тут-то сям и капец. Можем побиться об заклад, Следующая ОС будет написана не на Си.

Она будет написана на Питоне?

stellar
()
Ответ на: комментарий от anonymous

>>> Но какова область применения Си, кроме взаимодействия с другим кодом на Си?

1. Всё что написано на Си может взаимодействовать с любым языком, на сколько я знаю.

2. Как я понял Вы совершенно не знаете что представляет из себя язык Си, я даже подозреваю что Вы не догадываетесь о том что на Си можно писать объектный код.

Рекомендую ознакомиться хотябы с оглавлением

http://linfoline.homedns.org/API/glib/index.html

http://linfoline.homedns.org/API/gobject/index.html

там кстати и про хэш-таблицы есть :)

sergey_vp
()
Ответ на: комментарий от sergey_vp

off-topic:
под оффтопиком нечто подобное есть? Я пользовался Purify,
который, возможно, даже превосходит valgrind.
К сожалению его у меня сейчас его нет - какие есть аналоги,
алтернатива под M$?

Valeriy_Onuchin ★★
()

шикарная штука, наконец протечку заткнул! :D

Joe_Bishop
()
Ответ на: комментарий от Valeriy_Onuchin

под офтопик есть аналоги, но я помню только коммерческие (я сейчас под виндой практически не программирую). у микрософта есть две утилиты, которые позволяют проанализировать работу мультитредных программ на предмет race conditions & deadlocks - они бесплатные.

ott ★★★★★
()
Ответ на: комментарий от Displacer

> Не пойму, кто вам всем настолько промыл мозг, я удивляюсь? Си и С++ - полностью кроссплатформенные языки, работают на любой платформе, в том числе intel-несовместимой. Откуда такая святая уверенность, что кроме байт-кода ничего не запускается нигде? Вроде бы Sun не настолько сильно PR-ил жаву, у них просто на это нет денег, хотя, конечно, PR-ил. Может быть Microsoft? Или нынче этому в институтах учат?

Да, да, да. И все компиляторы С++ полностью и безглючно поддерживают последний стандарт ;)

Лично я НЕ фанат жабы. И пользовать её для расщётных задач буду только в последнюю очередь, когда больше ничего другого нет. Но в то-же время я более чем достаточно видел чего может стоить перенос достаточно сложного проекта (написанного на "полностью" переносимом С/С++) между FreeBSD, несколькими вариантами Linux и MacOS. Приятного в этом процессе очень мало. И лично я могу понять этих-самых ребять из Grid computing group, когда они решили пользовать жабу. Потому как на большинстве интересных платформ JVM уже работает (как минимум core subset), а вот как гарантировать 100% переносимость и работоспособность С/С++ программ и сопутствующих библиотек я даже не представляю.

aLeX
()
Ответ на: комментарий от anonymous

>> Ключевые слова "в своей области применения", превзойти Си в его области применения невозможно, то есть нужно просто правильно понимать область применения языка и тогда никаких проблем не будет

>С этим не поспоришь. Но какова область применения Си, кроме взаимодействия с другим кодом на Си? Он выживает лишь потому, что когда-то стал платформой для Юникса. Пока Юниксы барахтаются - Си никуда не денется, но как только им на смену придёт что-то ещё, тут-то сям и капец. Можем побиться об заклад, Следующая ОС будет написана не на Си.

Ну оффтопик например написан на Си с SEH-исключениями. Чтобы двинуть в массы ОС типа Singularity нужно чтобы managed-языки имели сильную аппаратную поддержку.

Absurd ★★★
()
Ответ на: комментарий от silent

> А то приходилось костыли изобретать, malloc/free по #ifdef'у переопределял да в логи вызовы сбрасывал. А потом еще костыль - парсилка на перле логи разбирала.

М. б., стоило обратить внимание на вот это?

http://www.gnu.org/software/libc/manual/html_node/Allocation-Debugging.html

Bass ★★★★★
()
Ответ на: комментарий от Displacer

> Простите, но у Вас в голове каша.

+1

Bass ★★★★★
()
Ответ на: комментарий от aLeX

> Но в то-же время я более чем достаточно видел чего может стоить перенос достаточно сложного проекта (написанного на "полностью" переносимом С/С++) между FreeBSD, несколькими вариантами Linux и MacOS.

Если компилятор был один и тот-же, подозреваю, gcc, то проблема, очевидно, была не в С/С++, а в системных вызовах, напрямую использовать которые не очень полезно для переносимости (в Java такого не делают никогда, за редким исключением).

> И лично я могу понять этих-самых ребять из Grid computing group, когда они решили пользовать жабу.

Лично я их тоже могу понять, выбор каждый делает сознательно сам :)

> а вот как гарантировать 100% переносимость и работоспособность С/С++ программ и сопутствующих библиотек я даже не представляю.

Очевидно, грамотным проектированием. Ну и заранее смотреть, что за библиотека и почему должна быть использована.

Displacer ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.