Модераторы: xvr

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Потоки в C/++ 
:(
    Опции темы
sergioK1
Дата 18.5.2011, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 30.1.2011

Репутация: нет
Всего: нет



[QUOTE=bsa,18.5.2011,  10:44]
Цитата(sergioK1 @  17.5.2011,  23:50 Найти цитируемый пост)
Не можешь ты так сделать, не всегда работает это , а если работает на С++ то на С тоже , либо не там ни там ,
.
Цитата(sergioK1 @  17.5.2011,  23:50 Найти цитируемый пост)
 Я не говорил про использование new!!! Я говорил про автоматические переменные:
Код
Mutex mutex;
...
if (...) {
   Locker lock(&mutex);
   ...
}//перед этой строчкой lock будет АВТОМАТИЧЕСКИ уничтожен


АAAAA Я  то понял про про new без delete.  smile  , только этот прием с С++ никак не связан 

Это сообщение отредактировал(а) sergioK1 - 18.5.2011, 12:28
PM MAIL   Вверх
kemiisto
Дата 18.5.2011, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: нет
Всего: 160



Цитата(sergioK1 @  18.5.2011,  11:26 Найти цитируемый пост)
только этот прием с С++ никак не связан

Что, правда? smile RAII никак не связан с Це++? Ладно, RAII есть не только в Це++, но сама техника появилась именно в Це++. И Создатель Це++ и RAII один и тот же человек.


--------------------
PM MAIL WWW GTalk Jabber   Вверх
fish9370
Дата 18.5.2011, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 15.4.2007
Где: Москва

Репутация: 2
Всего: 1



Цитата(svlary @  18.5.2011,  05:35 Найти цитируемый пост)

1) Активное использование указателей. Я думаю. что 75%  тяжелых ошибок в ПО связано с неверным использованием указателей.
2) Использование 'c' и 'h' файлов на "добровольных" началах. Т.е. никаких правил в самом языке, относительно использования конструкций языка в этих файлах просто нет. Сравните с Modula-2 или Ada.  
3) Неряшливый синтаксис языка. Сколько разных смыслов имеет зарезервированное слово 'static' в языке ?
4) Использование malloc и free в прикладных программах, что неизбежно приводит к их ОШИБОЧНОМУ использованию.


1) Это конечно правда, но проблема решается локализацией.  Есть API, есть отлаженое ядро программы, есть модули. Все разграничивается на довольно небольшие составные части.. Этот подход мне кажется наиболее удачным.. Этот подход используется в проектах Asterisk, Apache, PHP, всех не перечислишь.. В Си выходит довольно прозрачно, и в "user mode" отлаживается довольно быстро (субъективно).. Если добавить в критических местах некую функцию по типу ast_log(LOG_ERROR, "poll failed: %s\n", strerror(errno)), то поиски бага сокращаются многократно..
(вопросы синхранизации потоков не рассматриваю - это отдельный вопрос)

2) Использование 'c' и 'h' файлов оговаривается на уровне проекта. Т.е. еще на входе в проект первым делом вас тыкают в "Coding Style, Coding Guideline", где все четко прописано. Если ты сам инициатор проекта, то думаю начать нужно с этого.

3) Это я бы неряшливостью не назвал, скорее ньюансы. Из-за пары ньюансов списывать весь язык? А в каком языке их нет?

4) Это приводит к ошибочному использованию, только при плохой архитектуре.. Все нужно делать с умом.. Часто память выделяется локально, в стеке.. Cтандартные вызовы malloc, calloc, редко вызываются непосредственно, обычно их заворачивают в более умные структуры/функции..



Это сообщение отредактировал(а) fish9370 - 18.5.2011, 12:44


--------------------
undefined
PM MAIL WWW ICQ   Вверх
reversecode
Дата 18.5.2011, 13:39 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 17.5.2011

Репутация: нет
Всего: нет



fish9370
ну простите великодушно) я не знал что к своим 30 годам вы кроме гугла еще и красоту С++ не поняли
и рассказываете про какойто быдло код линукса и астериска, 
это просто смешно))

с++ замечательно можно использовать и в ядре, с оговорками но можно
и яркие примеры это та же самая виндовс ос, в которой как минимум win32k.sys GUI многие части писаны на С++
некоторые драйвера в винде тоже на С++, и ничего))
а торвальдс видимо как и вы, с++ не очень понял

так же удачный проект с++ в ядре есть пример отладчика syser
ну итд

я просто пролагаю вы вообще не поняли как и где правильно использовать с++
и отчаявшись к своим 27 или 30? годам сползли на быдло код С, и теперь рассказываете как это хорошо С в открытых проектах
пойдите это расскажите тогда KDEешникам или Кутешникам, что им стоит переписать их проекты на чистый С 
;)))


kemiisto, ))) и не говори... как уже утомили эти холивары
PM MAIL   Вверх
fish9370
Дата 18.5.2011, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 15.4.2007
Где: Москва

Репутация: 2
Всего: 1



Цитата(reversecode @  18.5.2011,  13:39 Найти цитируемый пост)
ну простите великодушно

ты не достоин моего прощения..

Цитата(reversecode @  18.5.2011,  13:39 Найти цитируемый пост)
быдло код линукса

Цитата(reversecode @  18.5.2011,  13:39 Найти цитируемый пост)
а торвальдс видимо как и вы, с++ не очень понял

гений детектед  smile








Это сообщение отредактировал(а) fish9370 - 18.5.2011, 14:32


--------------------
undefined
PM MAIL WWW ICQ   Вверх
maint
Дата 18.5.2011, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 12.5.2008

Репутация: нет
Всего: 2



Цитата(fish9370 @ 18.5.2011,  14:10)
Цитата(reversecode @  18.5.2011,  13:39 Найти цитируемый пост)
ну простите великодушно

ты не достоин моего прощения..

Цитата(reversecode @  18.5.2011,  13:39 Найти цитируемый пост)
быдло код линукса

Цитата(reversecode @  18.5.2011,  13:39 Найти цитируемый пост)
а торвальдс видимо как и вы, с++ не очень понял

гений детекед  smile

кретин  научился писать две строчки да плюсах. И уже считает себя выше всех. Это бывает. Торговать в магазин менеджером пойдет. Дурь в уши людям сливать
PM   Вверх
MAKCim
Дата 18.5.2011, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



какой замечательный спор ни о чем  smile 

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

склоняюсь к мнению, что для очень больших систем, разрабатываемых распределенно, С++
подходит больше


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
fish9370
Дата 18.5.2011, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 15.4.2007
Где: Москва

Репутация: 2
Всего: 1



Цитата(MAKCim @  18.5.2011,  22:19 Найти цитируемый пост)
сейчас работаю в команде над громадной системой


больше чем asterisk?


--------------------
undefined
PM MAIL WWW ICQ   Вверх
reversecode
Дата 18.5.2011, 23:39 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 17.5.2011

Репутация: нет
Всего: нет



maint
еще! еще! больше жару! поругайте меня)) укажите мне какой я плохой разработчик или еще чего нибудь, а то скучно )


fish9370
хватит разводить здесь башогр))) астериск это проект выходнго дня
если для вас астериск это большой проект, тогда вам еще лет 30 это как минимум надо работать в сфере программирования
PM MAIL   Вверх
sergioK1
Дата 18.5.2011, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 30.1.2011

Репутация: нет
Всего: нет



Цитата(MAKCim @ 18.5.2011,  21:19)
склоняюсь к мнению, что для очень больших систем, разрабатываемых распределенно, С++
подходит больше

Java еще более строг , так что большие системы лучше писать на Java?
Для больших систем нужна архитектура , а язык выбирают в зависимости от задачи , и вкусов програмистов,
Есть вещи которые мне проще сделать на С чем на Java , или С++ есть наоборот,
Кто-то может сказать все с тосностью наоборот, не потому что он лучше меня или хуже ,а потому что у каждого
свой опыт ,привычки, видение и понимание системы и т,д,

That's it,  разговор  ушел в никуда, что нормально для форумов,  smile 







PM MAIL   Вверх
svlary
Дата 19.5.2011, 05:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 8.9.2009

Репутация: 4
Всего: 4



Цитата(fish9370 @  18.5.2011,  12:43 Найти цитируемый пост)
Это конечно правда, но проблема решается ....

  Разумеется! Чем и замечательна наша работа (программирование), что решить можно любую проблему ! Вопрос только - какой ценой... К примеру, по поводу 'c' и 'h' файлов....  Можно написать стандарт предприятия на предмет того, как и что  и где писать, можно подробнейшим образом инструктировать всех принимаемых на работу, можно возложить на тестеров обязанность проверять соблюдение кодерами этого стандарта... Но, сравните это с тем, как данная проблема решается, к примеру, в языке Modula-2 : Любой программный модуль состоит из двух частей :
  • определение модуля
  • реализация модуля
  Определение - это API, которое видят программисты, использующие этот модуль. Никаких private или protected ! Все просто и понятно! Реализация - это то, что ПОЛНОСТЬЮ скрыто от сторонних пользователей.  Понимаете, никаких особых усилий прикладывать не нужно - нужно просто следовать синтаксису языка! И все проблемы с видимостью и т.п. будут решены сами-собой...
   Аналогично можно сказать и про другие проблемы С, которые с радостным помахиванием хвостиком "обратная совместимость" дружно влились в С++.  smile  
PM MAIL   Вверх
fish9370
Дата 19.5.2011, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 15.4.2007
Где: Москва

Репутация: 2
Всего: 1



svlary, к 30 годам, я четко определился, чем я хочу заниматься.. конечно же я не отступлюсь.. я безгранично верю в силу Си..
но мне интересно посмотреть на Modula-2, я обязательно ознакомлюсь с ним.. 
если он тебе так нравится, наверно в нем что-то есть..


--------------------
undefined
PM MAIL WWW ICQ   Вверх
sergioK1
Дата 19.5.2011, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 30.1.2011

Репутация: нет
Всего: нет



Цитата(MAKCim @ 18.5.2011,  21:19)
склоняюсь к мнению, что для очень больших систем, разрабатываемых распределенно, С++
подходит больше

Я тоже , когда виже такое

Код

char (*(*(*C::foo(int(C::*)(int const) const) const))())[][1];


очень легко читаемый код  smile 

PM MAIL   Вверх
xvr
Дата 19.5.2011, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 20
Всего: 223



Цитата(sergioK1 @  19.5.2011,  10:28 Найти цитируемый пост)
Я тоже , когда виже такое

А я такого почему то не видел  smile Видимо потому, что написавший такое в коллективном проекте будет немедленно уволен без выходного пособия  smile 

PM MAIL   Вверх
MAKCim
Дата 19.5.2011, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



Цитата(fish9370 @  18.5.2011,  23:15 Найти цитируемый пост)
больше чем asterisk? 

да


Цитата(sergioK1 @  18.5.2011,  23:53 Найти цитируемый пост)
Java еще более строг , так что большие системы лучше писать на Java?

речь про С vs. C++
причем не про низкоуровневые системы типа ядра ОС



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.1060 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.