
Пожалуйста, пользуйтесь 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 (

Лудчший езык. Изучил за пару недель си, еще пару недель на сисколы. И ты уже у мамки хакер.

>лучше на время изучения забыть про винду и делать все на линуксе
Не понимаю, зачем?
Я учил С по видео этого толстячка. Виндовс + студия.
Увы, но этот язык я изучал не по той литературе, что рекомендуется в посте, а по руководству некоего Полякова(4 файла по 20 страниц в каждом) так как именной тогда от нечего делать я случайно нашел сайт Полякова.
Теперь работаю с c++(пишу динамические библиотеки для некоторых проектов под Андроид). И пусть с чистым си я сейчас особо не пересекаюсь, но именно этот язык дал путь к понимании всех трюков с адресами и одной из самых главных сущностей программирования, от которой не убежать, а лишь чуть-чуть замаскировать: все данные - лишь набор байтов.
Просто снимаю шляпу перед этим языком.
В книжках Праты и Ритчи нет ничего про многопоточку, мьютексы и прочие семафоры (а в Си это все есть). Нет ничего про архитектуру.
>про многопоточку, мьютексы и прочие семафоры
Windows для Профессионалов, крутая книга для настоящего программиста. Никакой гуманитарной академической блевотины, чисто по делу, техника для технарей, есть система и книга как с ней работать.
Есть книжка роберта лава системное программирование в линупс. Для нубов есть книжка иванова программирование в линупс. Есть новая книжка си бранд билдинг дебагер от трапа из майкрософта. Хоть книжка и про написание дебугера на си плас плас, но книжка хорошо поясняет для нубов про сишные сисколы в линупсе и ахитектуру пк.
У виндовса нет си компалера и никогда небыло. У вижуал студии плюсовой компилятор. Были только древнии компиляторы от ноунеймов как пелес си компилер

Ну и си под винду никакого практического смысла не имеет. Чисто забава для задротов. Под линупс же системные вещи активно пишут - возьми например разработку ядра linux или например рантайм для контейнеров crun от красношапки
А еще где-то разрабатывают банковские системы на коболе, и что? Нинужное нинужно это никак не меняет, засунь себе в сраку линупс с чистоси, ведь это твоё хобби хипстера - пороться в сраку мечтая отрезать себе хуй.
1) ты мне свои фантазии не приписывай, соевый любитель ретро игр под винду
2) кобол + хипстер? Ты дурачек?
3) виртуализацию и контейнеризацию майкрософт тоже в линупс комитит, нейронки на линупсе на фермах запускаются Так что с коболом сравнение линупса нерелевантное
Хватить срать, урод, ты кто из них:
- разработчик ядра линукс?
- разработчик виртуалок майкрософт?
- разработчик контейнеров красношапки?
Правильно, никто, тупой урод который вообще никто никакого кода не пишет, простой хисптосральник с линуп.сру и подобных помоек для быдла попугающих соевую пропаганду.
Ну хотя бы потому в линуксе сишка это буквально часть системы и работать там на низком уровне гораздо проще и приятнее чем на винде.
Шапка сильно устарела, вышло много неплохих книжек с тех пор, те же дейтелы постоянно обновляют книги по си.
А что они там такого важного наобновляли? Ведь основной стандарт сейчас в индустрии это C99.
>Не понимаю, зачем?
Для эффективности.
>Я учил С по видео этого толстячка. Виндовс + студия.
По виндовидосикам тоже можно выучиться программировать. Только времени это займет гораздо больше. Ну знаете, как в школе люди иностранный язык годами учат, а толку мало.
Ну как бы Прата не единственная и не самая важная книга по современной сишке, я это хотел сказать.
>По виндовидосикам тоже можно выучиться программировать. Только времени это займет гораздо больше.
Ну не. По мне так как раз книги для вкатунов очень малоэффективны. На видосиках обычно учат программированию, делая какой-то большой сложный проект. В большинстве же книг для вкатунов сюжеты очень элементарные, решаемые в пару строк. В итоге, когда вкатун пытается сделать что-то полезное, а следователньо и большое, он не знает даже за что браться.
Против же книг по углубленным темам против ничего не имею.
>>87857
1) Зачем вкатуну рабоать в линуксе на низком уровне?
2) Я честно не понимаю, зачем для чего комитить. Я могу понять осуществление просветительской работы забесплатно, но делать забесплатно продуктовую рабоу, на которой потом наварятся меты-гуглы, как-то зашкварно.
Помню вначале нулевых было полно маленьких утилит, с которых авторы получали копеечку. Сейчас же благодаря опенсурс выблядкам так не заработать, остаются варианты только ебашить на дядю.
Чтобы перестать быть вкатуном. Двощ - борда 18+, а не дом детского творчества. С агуша-кормом в виде игрулек под винду с житием бытием типичного сишника ничего общего не имеет.
>По мне так как раз книги для вкатунов очень малоэффективны.
А ты сам-то по видосикам вкатывался в программирование?
>делая какой-то большой сложный проект
При обучении должен быть виден явный прогресс, чтобы с первых же дней была рабочая программа, к которой потом уже можно добавлять какие-нибудь фичи. А большой и сложный проект демотивирует.
>Сейчас же благодаря опенсурс выблядкам так не заработать, остаются варианты только ебашить на дядю.
Если б ты не пиздил виндовый софт, то ты б вообще нихуя не смог бы на винде сделать. Своему дрочу на винду ты обязан прежде всего пиратству. Это не говоря о том, что слозетсурсного фриваре/шареваре софта всегда было дохуя. Не факт, что на винде кто-то бы позарился на твои проприетарные поделки. Так же бы ебашил на дядю, не выдержав конкуренции с корпорастами.
>но делать забесплатно продуктовую рабоу,
Ты не в курсе, что кроме денег на свете существует и другая мотивация?
>на которой потом наварятся меты-гуглы, как-то зашкварно.
Эти наварятся в любом случае. Тотальная закрытость всего софта не спасет.
>Я честно не понимаю, зачем для чего комитить.
Чтобы резюме пополнить, если говорить о монетизации.
>работать в линуксе.
Шо це?
>линукс и сишка
Пчелик, у тебя документация функций для сишки прямо из командной строки доступка, есть ебейший конпелятор, который ставится обычным пуком в современном дистре.
Либо они и сами пользуются софтом, который помогают разрабатывать, а не только ради чужих хотелок.
Только не надо говорить про устаревание инфы, ведь сишка это не какой-то там одноразовый язычок, в котором часто ломают совместимость и дропают говнофреймворки. Про быстрое устаревание - это к веб-макакам.
Так весь раздел деградировал. 95% постов от дегенератов, которые к айти вообще отношения не имеют. Срут бессмысленными постами в треде-чатике и временами с троллингом тупостью протекают в другие треды.

Раньше все игры на С писались. Не только во времена ДОСа, но и во времена Виндовса уже. Тот же Q3A на С.
>в виде игрулек под винду
Игры самый сложный софт, если брать коммерческую разработку, а не академическую. Потому не понимаю твоего пренебрежительное отношения. Ты ведь наверняка веб-петухан вообще. Не будь ты веб-чмом, не был бы зомбирован линуксом.
>>89081
>А ты сам-то по видосикам вкатывался в программирование?
Да.
>чтобы с первых же дней была рабочая программа
По мне так сложно испытывать восторг от программ уровня подсчитать факториал.
>>89090
Видишь, винда даёт заработать на пиратстве, взломе. Опеншурш же ничего не даёт. Только отбирает. Либо твоя поделка будет незамечена, либо ею буду тпользоваться корпорации, генерирующие себе миллиарды в день, а ты будешь без денег сидеть.
>>89116
>Ты не в курсе, что кроме денег на свете существует и другая мотивация?
Имело бы смысл, если бы опенсусрс нельзы было использовать коммерчески. А так ты просто генерируешь прибыль Безосу, Брину и прочим.
>>89473
Что угодно можно написать. Ты просто промытка. Заразили тебя вирусом и ты его разносишь дальше.
>А так ты просто генерируешь прибыль Безосу, Брину и прочим.
Оправдания жлоба. Сначала говоришь не хочу бесплатно помогать гуглу, потом будешь говорить не хочу бесплатно помогать соседу-васе, потом бесплатно никому помогать не хочу. Жлоб это жлоб, дегенерат-вырожденец у которого интерес только один - нахапать самому и отобрать у других. Что-то кому-то дать? Нет, у жлоба от этого дикая ломка, весь его организм восстаёт, жаба давит. Эгоистичная тварь мечтающая чтобы у соседа корова сдохла, а не кому-нибудь помочь.
Всё, целая куча прог которыми куча народу пользуется, плюс мои инициативы подтолкнули других разработчиков создавать подобное и намного лучше, а до меня не могли жопы оторвать от дивана. И всё выкладываю с открытыми исходниками, без защит, лицензий, кредитсов, вниманиеблядства, требований донатов, нытья, и прочего говна. Просто потому, что сам пользуюсь чужой работой, естественно хочется дать в ответ. Полюс, многие разрабы припизднутые неадекваты, так что открытые исходники совершенно необходимы для исправлений которые они сами делать не хотят, а без этого кривым говном пользоваться невозможно.
>>А ты сам-то по видосикам вкатывался в программирование?
>Да.
Ну и нахуй ты так быстро слился? Кто после этого будет подыгрывать твоему тупому троллингу?
>Оправдания жлоба.
Вначале годами живут на спизженном софте, играх, книгах, музыке, фильмах, а потом, когда у самих софт даже не спиздили, а просто создали бесплатную альтернативу в рамках закона, то поднимают вой: ОБОКРАЛИ! НЕ ДАЮТ ЗАРАБОТАТЬ ВЫБЛЯДКИ! АААА111!!! ВСЕ ЗАКРЫТЬ!!! ВСЕХ ПОСАДИТЬ!!!111
Я лично, ничего против пиратства не имею, особенно в бедных местах нашей планеты. Кстати, а вы уже удалили у себя всю пиратскую порнуху?
Не удивлюсь, если у него и бабы до сих пор нет. Патологические жлобы с ними несовместимы. Такие и на детей, на джунов смотрят как на врагов, да и вообще реальный общественный прогресс не жалуют.
Кстати, лучше всех типы жлобства описывал Салтыков-Щедрин. Почитайте, например, его "Господа Головлевы".
>Есть новая книжка си бранд билдинг дебагер от трапа из майкрософта. Хоть книжка и про написание дебугера
Спасибо за наводку. Надо будет почитать.
CString, UnicodeString, std::wstring

>ею буду тпользоваться корпорации, генерирующие себе миллиарды в день,
Стандартная лицензия GNU GPL не дает возможности генерировать миллиарды. Если ты сам распространяешь свой код под более либеральной LGPL или тем более MIT, то это уже твои проблемы.
Core-JS распространяется как раз под MIT.
Спасибо всем кому не трудно будет это)
Винапишка — это народное название игры, которая в официальных источниках называется "винопишка" или "виноснаряд". Это игра с карточками, которая популярна на вечеринках и в компаниях, особенно среди молодежи. Суть игры заключается в том, чтобы с помощью карточек и их комбинаций придумывать интересные задания, которые игроки выполняют, а за нарушения (или невыполнение заданий) могут быть наказаны — обычно это выпить определённое количество алкоголя (чаще всего вина).
Древний набор мрачноватого вида функций прямиком из 1995 года. Когда-то знание этой хрени давало возможность работать с виндой на низком уровне, но сейчас это мало актуально.
>но сейчас это мало актуально.
А что сейчас актуально? Жить в Индии? Красить волосы в розовый цвет? Совать в жопу мобилку?
Сишорперы как все пишут вебмакакинг. И ты не ответил на вопрос, отвечай. Или молчание знак согласия?
Ну я так и думал, очередной "актуальный" петух в си-треде, который даже не может сказать что это за актуальность такая, слишком позорно и мерзко чтобы говорить вслух. Но ничего, я озвучил >>91098
Очень занимательно)
Это какой-то тупой тралль накидывает, не слушай его истерики. Скорее всего он вообще ничего не программирует, просто срет тут во всех тредах. Посмотри в сисп треде - там такой же дебильный наброс.
Ладно, по сути. Короче смотри.
Есть винапи - набор системных функций винды, он очень древний. Да, на нем все еще можно программировать, но современные приложения под винду пишут не на нем, а на .NET - это такая надстройка над системой, у которой свои функции и свои правила.
Аналог винапи - это системные вызовы ядра в линуксе.
Короче определись что ты хочешь кодить и тогда будет ясно что тебе для этого нужно.
1) Какая связь между линухом и винапи?
2) И что ты понимаешь под уровнем ядра? Сисколы в линуксе используются в юзерспейсе. Это прослойка между ядром и прикладным софтом. Низким уровнем это называется потому что на этом уровне мало абстракции и для реализации простых вещей надо много кода написать. Это все уже все написано в стандартной библиотеке. У тебя любительский проект где надо свой личный malloc писать?
Мне не под userspace и под kernel mode
И ещё нужно написать kmdf
- архитектура важнее реализации
- не оставляйте непродуманных ветвей в алгоритме
- покрывайте тестами с самого начала
- если очень хочется сделать ограничение статикой, сделайте его в 10 раз больше
- об UB и ID не шкварьтесь
Сборщик мусора прикрутить можно с такой-то матерью (Boehm GC).
Безопасное управление возможно только в такой форме, что программа остановится и сообщит об ошибке, а не ОС её убъёт.
И всё это не на 100% надежно.
Изначально есть "hello world", это 1 пик. Потом его читает fputs и помещает файл, по пути он убирает тернарный символ в конце. Получается пик 2.
Каким образом fgets понимает, что файл всё, если у него нет тернарного или символа пробела?
https://pastebin.com/kujNxU08
>fgets(buffer, 256, fp) == EOF
А давай ты варнинги включишь для начала?)