ca.jpg6 Кб, 235x250
C язык программирования #666 clang /clang/ 3386488 В конец треда | Веб
Тред, посвященный прародителю всех С-подобных языков и по совместительству всесторонне годному средству программирования как на системном, так и на прикладном уровне.

Пожалуйста, пользуйтесь https://pastebin.com/ для вставки кода, если он длиной больше нескольких строк или содержит или ∗.

Что читать:

- Stephen Prata "C Primer Plus, 6th Edition" (2014) (в русском переводе: Стивен Прата "Язык программирования C. Лекции и упражнения (6-е издание)" ): относительно свежая, знает про C89/C99/C11, описывает различия, объемная (около тысячи страниц), годная, с вопросами, упражнениями и ответами. Идеально для начинающих.
- Brian Kernighan, Dennis Ritchie "The C Programming Language".
- Стандарт ISO/IEC 9899:1999 (C99): http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf (драфт)
- Стандарт ISO/IEC 9899:2011 (C11): http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf (драфт)
- Черновик стандарта ISO/IEC 9899:202x (C2x): http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2479.pdf (февраль, с диффами)
- Последний черновик ISO/IEC 9899:202x (C2x): http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2583.pdf (октябрь)

Прошлый тред: https://2ch.hk/pr/res/3304338.html (М)
2 3386491
>>86488 (OP)
Лудчший езык. Изучил за пару недель си, еще пару недель на сисколы. И ты уже у мамки хакер.
3 3386589
Когда люди изучают разговорный иностранный язык, то им рекомендуют максимально погрузиться в языковую среду. Так и с языком программирования - лучше на время изучения забыть про винду и делать все на линуксе. Средства разработки там легко доступны, исходники - тоже. Хотя не все исходники одинаково полезны. Начинать лучше с изучения минималистичных программ, типа тех, что на suckless.org чтобы не только искусственные упражнения делать, но и что-то реально используемое дорабатывать для своих нужд.
image.png306 Кб, 1331x497
4 3387008
>>86589

>лучше на время изучения забыть про винду и делать все на линуксе


Не понимаю, зачем?
Я учил С по видео этого толстячка. Виндовс + студия.
5 3387030
Замечательный язык. Первый язык, кроме Паскаля в школе, но изучение Паскаля не особо зашло.

Увы, но этот язык я изучал не по той литературе, что рекомендуется в посте, а по руководству некоего Полякова(4 файла по 20 страниц в каждом) так как именной тогда от нечего делать я случайно нашел сайт Полякова.

Теперь работаю с c++(пишу динамические библиотеки для некоторых проектов под Андроид). И пусть с чистым си я сейчас особо не пересекаюсь, но именно этот язык дал путь к понимании всех трюков с адресами и одной из самых главных сущностей программирования, от которой не убежать, а лишь чуть-чуть замаскировать: все данные - лишь набор байтов.

Просто снимаю шляпу перед этим языком.
6 3387163
>>86488 (OP)
В книжках Праты и Ритчи нет ничего про многопоточку, мьютексы и прочие семафоры (а в Си это все есть). Нет ничего про архитектуру.
7 3387292
>>87163

>про многопоточку, мьютексы и прочие семафоры


Windows для Профессионалов, крутая книга для настоящего программиста. Никакой гуманитарной академической блевотины, чисто по делу, техника для технарей, есть система и книга как с ней работать.
8 3387307
>>87163
Есть книжка роберта лава системное программирование в линупс. Для нубов есть книжка иванова программирование в линупс. Есть новая книжка си бранд билдинг дебагер от трапа из майкрософта. Хоть книжка и про написание дебугера на си плас плас, но книжка хорошо поясняет для нубов про сишные сисколы в линупсе и ахитектуру пк.
9 3387311
>>87292
У виндовса нет си компалера и никогда небыло. У вижуал студии плюсовой компилятор. Были только древнии компиляторы от ноунеймов как пелес си компилер
10 3387316
>>87307

>линупс


брысь
11 3387321
>>87316
Си это исключительно юникс лайк системы, ну еще эмбед. Сам брысь в плюсовой тред.
image.png810 Кб, 1300x815
12 3387328
>>87311
>>87321

>У вижуал студии плюсовой компилятор


И что? С89 он компилирует без проблем. И туторы есть хорошие от толстячка.
13 3387341
>>87328
Ну и си под винду никакого практического смысла не имеет. Чисто забава для задротов. Под линупс же системные вещи активно пишут - возьми например разработку ядра linux или например рантайм для контейнеров crun от красношапки
14 3387351
>>87341
А еще где-то разрабатывают банковские системы на коболе, и что? Нинужное нинужно это никак не меняет, засунь себе в сраку линупс с чистоси, ведь это твоё хобби хипстера - пороться в сраку мечтая отрезать себе хуй.
15 3387360
>>87351
1) ты мне свои фантазии не приписывай, соевый любитель ретро игр под винду
2) кобол + хипстер? Ты дурачек?
3) виртуализацию и контейнеризацию майкрософт тоже в линупс комитит, нейронки на линупсе на фермах запускаются Так что с коболом сравнение линупса нерелевантное
16 3387816
>>87360
Хватить срать, урод, ты кто из них:
- разработчик ядра линукс?
- разработчик виртуалок майкрософт?
- разработчик контейнеров красношапки?
Правильно, никто, тупой урод который вообще никто никакого кода не пишет, простой хисптосральник с линуп.сру и подобных помоек для быдла попугающих соевую пропаганду.
17 3387857
>>86488 (OP)
Ну хотя бы потому в линуксе сишка это буквально часть системы и работать там на низком уровне гораздо проще и приятнее чем на винде.
18 3387858
19 3387863
>>87163
Шапка сильно устарела, вышло много неплохих книжек с тех пор, те же дейтелы постоянно обновляют книги по си.
20 3388345
>>87863
А что они там такого важного наобновляли? Ведь основной стандарт сейчас в индустрии это C99.
21 3388351
>>87008

>Не понимаю, зачем?


Для эффективности.

>Я учил С по видео этого толстячка. Виндовс + студия.


По виндовидосикам тоже можно выучиться программировать. Только времени это займет гораздо больше. Ну знаете, как в школе люди иностранный язык годами учат, а толку мало.
22 3388401
>>88345
Ну как бы Прата не единственная и не самая важная книга по современной сишке, я это хотел сказать.
23 3389029
>>88351

>По виндовидосикам тоже можно выучиться программировать. Только времени это займет гораздо больше.


Ну не. По мне так как раз книги для вкатунов очень малоэффективны. На видосиках обычно учат программированию, делая какой-то большой сложный проект. В большинстве же книг для вкатунов сюжеты очень элементарные, решаемые в пару строк. В итоге, когда вкатун пытается сделать что-то полезное, а следователньо и большое, он не знает даже за что браться.
Против же книг по углубленным темам против ничего не имею.
>>87857
1) Зачем вкатуну рабоать в линуксе на низком уровне?
2) Я честно не понимаю, зачем для чего комитить. Я могу понять осуществление просветительской работы забесплатно, но делать забесплатно продуктовую рабоу, на которой потом наварятся меты-гуглы, как-то зашкварно.
Помню вначале нулевых было полно маленьких утилит, с которых авторы получали копеечку. Сейчас же благодаря опенсурс выблядкам так не заработать, остаются варианты только ебашить на дядю.
24 3389061
>>89029
Чтобы перестать быть вкатуном. Двощ - борда 18+, а не дом детского творчества. С агуша-кормом в виде игрулек под винду с житием бытием типичного сишника ничего общего не имеет.
25 3389081
>>89029

>По мне так как раз книги для вкатунов очень малоэффективны.


А ты сам-то по видосикам вкатывался в программирование?

>делая какой-то большой сложный проект


При обучении должен быть виден явный прогресс, чтобы с первых же дней была рабочая программа, к которой потом уже можно добавлять какие-нибудь фичи. А большой и сложный проект демотивирует.
26 3389090
>>89029

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



Если б ты не пиздил виндовый софт, то ты б вообще нихуя не смог бы на винде сделать. Своему дрочу на винду ты обязан прежде всего пиратству. Это не говоря о том, что слозетсурсного фриваре/шареваре софта всегда было дохуя. Не факт, что на винде кто-то бы позарился на твои проприетарные поделки. Так же бы ебашил на дядю, не выдержав конкуренции с корпорастами.
27 3389116
>>89029

>но делать забесплатно продуктовую рабоу,


Ты не в курсе, что кроме денег на свете существует и другая мотивация?

>на которой потом наварятся меты-гуглы, как-то зашкварно.


Эти наварятся в любом случае. Тотальная закрытость всего софта не спасет.
28 3389140
>>89029

>Я честно не понимаю, зачем для чего комитить.


Чтобы резюме пополнить, если говорить о монетизации.
29 3389151
>>89029

>работать в линуксе.


Шо це?

>линукс и сишка


Пчелик, у тебя документация функций для сишки прямо из командной строки доступка, есть ебейший конпелятор, который ставится обычным пуком в современном дистре.
30 3389153
>>89140
Либо они и сами пользуются софтом, который помогают разрабатывать, а не только ради чужих хотелок.
31 3389157
>>88401
Только не надо говорить про устаревание инфы, ведь сишка это не какой-то там одноразовый язычок, в котором часто ломают совместимость и дропают говнофреймворки. Про быстрое устаревание - это к веб-макакам.
32 3389469
Тред говна. Худший тред по Си. Обсуждают залупинукс и вкатунов. Моча, снеси.
33 3389472
>>89469
Так весь раздел деградировал. 95% постов от дегенератов, которые к айти вообще отношения не имеют. Срут бессмысленными постами в треде-чатике и временами с троллингом тупостью протекают в другие треды.
sage 34 3389473
>>89469
>>89472
Что вы там под винду на си пишете ебанутые
image.png17 Кб, 675x135
35 3389509
>>89061
Раньше все игры на С писались. Не только во времена ДОСа, но и во времена Виндовса уже. Тот же Q3A на С.

>в виде игрулек под винду


Игры самый сложный софт, если брать коммерческую разработку, а не академическую. Потому не понимаю твоего пренебрежительное отношения. Ты ведь наверняка веб-петухан вообще. Не будь ты веб-чмом, не был бы зомбирован линуксом.
>>89081

>А ты сам-то по видосикам вкатывался в программирование?


Да.

>чтобы с первых же дней была рабочая программа


По мне так сложно испытывать восторг от программ уровня подсчитать факториал.
>>89090
Видишь, винда даёт заработать на пиратстве, взломе. Опеншурш же ничего не даёт. Только отбирает. Либо твоя поделка будет незамечена, либо ею буду тпользоваться корпорации, генерирующие себе миллиарды в день, а ты будешь без денег сидеть.
>>89116

>Ты не в курсе, что кроме денег на свете существует и другая мотивация?


Имело бы смысл, если бы опенсусрс нельзы было использовать коммерчески. А так ты просто генерируешь прибыль Безосу, Брину и прочим.
>>89473
Что угодно можно написать. Ты просто промытка. Заразили тебя вирусом и ты его разносишь дальше.
36 3389520
>>89509

>А так ты просто генерируешь прибыль Безосу, Брину и прочим.


Оправдания жлоба. Сначала говоришь не хочу бесплатно помогать гуглу, потом будешь говорить не хочу бесплатно помогать соседу-васе, потом бесплатно никому помогать не хочу. Жлоб это жлоб, дегенерат-вырожденец у которого интерес только один - нахапать самому и отобрать у других. Что-то кому-то дать? Нет, у жлоба от этого дикая ломка, весь его организм восстаёт, жаба давит. Эгоистичная тварь мечтающая чтобы у соседа корова сдохла, а не кому-нибудь помочь.
37 3389533
>>89520
Что же такого бесплатного сделал ты?
38 3389546
>>89533
Всё, целая куча прог которыми куча народу пользуется, плюс мои инициативы подтолкнули других разработчиков создавать подобное и намного лучше, а до меня не могли жопы оторвать от дивана. И всё выкладываю с открытыми исходниками, без защит, лицензий, кредитсов, вниманиеблядства, требований донатов, нытья, и прочего говна. Просто потому, что сам пользуюсь чужой работой, естественно хочется дать в ответ. Полюс, многие разрабы припизднутые неадекваты, так что открытые исходники совершенно необходимы для исправлений которые они сами делать не хотят, а без этого кривым говном пользоваться невозможно.
39 3389607
>>89509

>>А ты сам-то по видосикам вкатывался в программирование?


>Да.


Ну и нахуй ты так быстро слился? Кто после этого будет подыгрывать твоему тупому троллингу?
40 3389628
>>89520

>Оправдания жлоба.



Вначале годами живут на спизженном софте, играх, книгах, музыке, фильмах, а потом, когда у самих софт даже не спиздили, а просто создали бесплатную альтернативу в рамках закона, то поднимают вой: ОБОКРАЛИ! НЕ ДАЮТ ЗАРАБОТАТЬ ВЫБЛЯДКИ! АААА111!!! ВСЕ ЗАКРЫТЬ!!! ВСЕХ ПОСАДИТЬ!!!111

Я лично, ничего против пиратства не имею, особенно в бедных местах нашей планеты. Кстати, а вы уже удалили у себя всю пиратскую порнуху?
41 3389640
>>89520
Не удивлюсь, если у него и бабы до сих пор нет. Патологические жлобы с ними несовместимы. Такие и на детей, на джунов смотрят как на врагов, да и вообще реальный общественный прогресс не жалуют.
Кстати, лучше всех типы жлобства описывал Салтыков-Щедрин. Почитайте, например, его "Господа Головлевы".
42 3389661
>>89473

>Что вы там под винду на си пишете


Игрульки.
43 3389665
Какие библиотеки для удобной работы со строками в Си считаются наилучшими?
44 3389682
>>87307

>Есть новая книжка си бранд билдинг дебагер от трапа из майкрософта. Хоть книжка и про написание дебугера


Спасибо за наводку. Надо будет почитать.
45 3389698
>>89665
CString, UnicodeString, std::wstring
46 3389962
>>87307

> си бранд билдинг дебагер от трапа из майкрософта


Чего? как это гуглить епта
47 3389979
ну давайте, показываете свои макросы, кто что умеет
Без имени.jpg70 Кб, 1578x291
48 3389982
49 3390030
>>89509

>ею буду тпользоваться корпорации, генерирующие себе миллиарды в день,


Стандартная лицензия GNU GPL не дает возможности генерировать миллиарды. Если ты сам распространяешь свой код под более либеральной LGPL или тем более MIT, то это уже твои проблемы.
Core-JS распространяется как раз под MIT.
50 3390572
>>89982
Спасибо
51 3390579
Расскажите про винапишку, прям четенько что бы по полочкам всё разложено было
Спасибо всем кому не трудно будет это)
52 3390791
>>90579
Винапишка — это народное название игры, которая в официальных источниках называется "винопишка" или "виноснаряд". Это игра с карточками, которая популярна на вечеринках и в компаниях, особенно среди молодежи. Суть игры заключается в том, чтобы с помощью карточек и их комбинаций придумывать интересные задания, которые игроки выполняют, а за нарушения (или невыполнение заданий) могут быть наказаны — обычно это выпить определённое количество алкоголя (чаще всего вина).
53 3391020
>>90579
Древний набор мрачноватого вида функций прямиком из 1995 года. Когда-то знание этой хрени давало возможность работать с виндой на низком уровне, но сейчас это мало актуально.
54 3391098
>>91020

>но сейчас это мало актуально.


А что сейчас актуально? Жить в Индии? Красить волосы в розовый цвет? Совать в жопу мобилку?
55 3391101
>>91098
У сишорперов спроси на чем актуально писать под новую винду
56 3391379
>>91101
Сишорперы как все пишут вебмакакинг. И ты не ответил на вопрос, отвечай. Или молчание знак согласия?

Ну я так и думал, очередной "актуальный" петух в си-треде, который даже не может сказать что это за актуальность такая, слишком позорно и мерзко чтобы говорить вслух. Но ничего, я озвучил >>91098
57 3391618
>>90791
Очень занимательно)
58 3391621
>>91379
Если не затруднит, что есть похожие на winapi , что бы работать на низком уровне?
59 3391669
>>91621
Это какой-то тупой тралль накидывает, не слушай его истерики. Скорее всего он вообще ничего не программирует, просто срет тут во всех тредах. Посмотри в сисп треде - там такой же дебильный наброс.
Ладно, по сути. Короче смотри.
Есть винапи - набор системных функций винды, он очень древний. Да, на нем все еще можно программировать, но современные приложения под винду пишут не на нем, а на .NET - это такая надстройка над системой, у которой свои функции и свои правила.
Аналог винапи - это системные вызовы ядра в линуксе.
Короче определись что ты хочешь кодить и тогда будет ясно что тебе для этого нужно.
60 3391686
>>91669
Syscall?
.net не очень нравится, вот хочешь чисто c/c++ , но что бы на уровне ядра работать)
61 3391694
У меня просто любительский проект, и нужно что то кроме winapi , для работы на уровне ядра)
62 3391697
Просто на линухе не делал ещё программы, можем пойти в лс все объясню, если не лень будет можешь оставить контакты, я напишу
63 3391707
>>91697
1) Какая связь между линухом и винапи?
2) И что ты понимаешь под уровнем ядра? Сисколы в линуксе используются в юзерспейсе. Это прослойка между ядром и прикладным софтом. Низким уровнем это называется потому что на этом уровне мало абстракции и для реализации простых вещей надо много кода написать. Это все уже все написано в стандартной библиотеке. У тебя любительский проект где надо свой личный malloc писать?
64 3391743
Типо )
Мне не под userspace и под kernel mode
И ещё нужно написать kmdf
173987890394187494.webp6 Кб, 300x168
65 3391747
1vidur.jpg101 Кб, 1920x1080
66 3391754
67 3391760
Двач съел качество
68 3392194
В юбилейном треде дам советы малятам:
- архитектура важнее реализации
- не оставляйте непродуманных ветвей в алгоритме
- покрывайте тестами с самого начала
- если очень хочется сделать ограничение статикой, сделайте его в 10 раз больше
- об UB и ID не шкварьтесь
69 3392962
А можно ли написать рантайм для си? Свой сборщик мусора и безопасное управление памятью
. 70 3393049
>>92962
Сборщик мусора прикрутить можно с такой-то матерью (Boehm GC).
Безопасное управление возможно только в такой форме, что программа остановится и сообщит об ошибке, а не ОС её убъёт.
И всё это не на 100% надежно.
71 3393077
Каким образом fgets понимает, где заканчивается строка?
Изначально есть "hello world", это 1 пик. Потом его читает fputs и помещает файл, по пути он убирает тернарный символ в конце. Получается пик 2.
Каким образом fgets понимает, что файл всё, если у него нет тернарного или символа пробела?
https://pastebin.com/kujNxU08
x 72 3393082

>fgets(buffer, 256, fp) == EOF


А давай ты варнинги включишь для начала?)
Обновить тред
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах.Подробнее