Программирование


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
506 40 144

C Programming Language #49 /clang/ Аноним # OP 20/10/19 Вск 18:42:37 15008901
C Programming L[...].png (78Кб, 792x1023)
792x1023
Тред, посвященный прародителю всех С-подобных языков и по совместительству единственному идеальному и всесторонне годному средству программирования как на системном, так и на прикладном уровне.

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

Что читать:

- Brian Kernighan, Dennis Ritchie "The C Programming Language": http://www.cypress.com/file/56651/download
- Stephen Prata "C Primer Plus, 6th Edition" (2014): относительно свежая, знает про C89/C99/C11, описывает различия, объемная (около тысячи страниц), годная, с вопросами, упражнениями и ответами. Читать после K&R или до.
- Zed A. Shaw "Learn C the Hard Way" (2015): годное пособие для гуманитариев для гуманитариев!
- Немного примеров хорошего стиля: http://www.oualline.com/books.free/style/index.html
- ООП, например: http://www.cs.rit.edu/~ats/books/ooc.pdf
- Стандарт 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/n2385.pdf
- man/Dash/zealdocs

Чем компилировать:

- Очевидный GCC.
- clang: оче годно, батя рекомендует.
- Intel C++ Compiler: оптимизации, тысячи их.
- Visual Studio 2017 Community Edition: внезапно этим стало можно пользоваться, особенно с тулсетом clang/C2. Поддержка C11 на уровне "есть все, что тебе понадобится в реальном проекте плюс кривая библиотека". Анализатор кода в комплекте.
- Pelles C (шиндоуз онли): поучиться, вкатиться в C11 (стандарт полностью реализован, имеются в том числе threads.h и прочие stdatomic.h), но количество багов в оптимизаторе и редкие апдейты напрочь отбивают желание собирать этим что-то сколько-нибудь серьезное.
- TCC: очень маленький компилятор с багами и поддержкой C99. С ключом -run умеет компилировать код в память и запускать его, что позволяет писать скрипты прямо на сишечке.

Что еще почитать:

http://c-faq.com/
FAQ из comp.lang.c. Древний, но все еще актуален.

Samuel P. Harbison, Guy L. Steele Jr. "C: A Reference Manual, 5th Edition" (2002)
Ебаный пересказ стандартов C89 и C99 (включая стандартную библиотеку). Для не осиливающих стандарт в оригинале. Читать в качестве подготовки к собеседованиям (есть задачник с ответами) и для ознакомления с масштабами пиздеца перед написанием своего парсера/компилера.

Peter Van Der Linden "Expert C Programming. Deep C Secrets" (1994)
"Си: грязные истории". Смехуечки, немного объяснений, чем обусловлены особенности языка, всем известные подводные камни кто там ругал косяки в JS? у нас в сишечке их гораздо больше, просто они лучше спрятаны, немного байтоебли и непонятно откуда взявшаяся глава про старинные плюсы. Читать в качестве сказки на ночь (на пару вечеров хватит).

Richard M. Reese "Understanding and Using C Pointers. Core Techniques for Memory Management" (2013) - почитать, вкатиться в указатели.

Ben Klemens "21st Century C: C Tips from the New School" (2012)

Paul Deitel, Harvey Deitel "C for Programmers with an Introduction to C11" (2013)

Stephen G. Koch@n "Programming in C (3rd Edition или 4th Edition, если найдется)" (2014)

MISRA Ltd. "Guidelines for the Use of the C Language in Critical Systems" (2013)
Набор рекомендаций по написанию надежного кода на C (промышленный стандарт). Читать - однозначно, следовать - вдумчиво и без фанатизма. Также можно посмотреть https://www.securecoding.cert.org/confluence/display/c/SEI+CERT+C+Coding+Standard и http://web.archive.org/web/20190213011655/homepages.inf.ed.ac.uk/dts/pm/Papers/nasa-c-style.pdf

Еще более длинный список: http://www.iso-9899.info/wiki/Books#Learning_C

Онлайн-утилиты:

- https://godbolt.org/ - Compiler Explorer позволяет посмотреть выхлоп компиляторов для введенного куска кода (больше полусотни разных версий компиляторов).
- http://cdecl.org/ - С Gibberish ↔ English помогает читать сложные сишные декларации.

Прошлые треды:

- №46: http://arhivach.ng/thread/461169/
- №47: http://arhivach.ng/thread/475391/
- №48: http://arhivach.ng/thread/495505/ >>1480534 (OP)
Аноним 20/10/19 Вск 18:46:30 15008942
Вкатился. ньюфажик
Аноним 20/10/19 Вск 20:48:20 15009703
подскажите как можно подключать библиотеки в turbo c++, borland 3.11, codeblocks, mingw 64 32 686, хочу делать проги для винды, чтобы без плюсов ++ чтобы был размер проги мелкий. Возникает проблема когда подключается библиотека, а там c++ а я не хочу ++. Нужно следить за библиотеками. Например я хочу работать с файлом базы sqlite, писать и читать в базу. Хочу сделать progu.exe для винды
Аноним 20/10/19 Вск 20:50:47 15009734
знаю что когда подключается <libxxx.h> и когда в кавычках "libxxx.h" тогда это по разному. Не очень понятно как мне подключить библиотеки скаченные с гитхаба. Видел слово linker...
Аноним 20/10/19 Вск 20:51:56 15009745
прога написанная на c может не заработать если название файла proga.cpp, поэтому нужно название proga.c. c++ - это когда вверху iostream подключается
Аноним 20/10/19 Вск 20:52:45 15009756
чтототам.h - header file... это выглядит непонятно я забыл что это... ну там еще чтототам.c
Аноним 20/10/19 Вск 20:53:50 15009777
я хочу делать проги исключительно на с без плюсов, потому что не люблю oop mvc, это детский сад
Аноним 20/10/19 Вск 20:55:20 15009798
интересно сделать проги чтобы были кнопки, GUI, GUI в терминале консоли, TUI. Хочу чтобы проги красивые были, не как в cmd, через scanf
Аноним 20/10/19 Вск 20:59:20 15009859
хочу чтобы взять TK, wxwidgets, чтобы было без winapi.
Аноним 20/10/19 Вск 21:01:58 150098810
image.png (417Кб, 615x400)
615x400
Анон, ты ебанулся?
Аноним 20/10/19 Вск 21:02:28 150098911
также хочу создать простую прогу на winapi, чтобы было без библиотек, посмотреть на размер в килобайтах, там вообще будут библиотека подключаться из папки винды C: system32 ну там где файлы винды лежат
Аноним 20/10/19 Вск 21:06:14 150099212
Аноним 20/10/19 Вск 21:29:34 150101513
помогите найти супер материалы в интернете для моего случая. i can read english and watch youtube videos.
Аноним 20/10/19 Вск 21:55:14 150102314
>>1500979
> GUI в терминале консоли, TUI.
ncurses

Не забудь обычную консольную с параметрами написать, а то я потом в пайплайн не смогу вывод отправить.
Аноним 20/10/19 Вск 21:58:38 150102515
Анон, ты ебанулся? [1]
Аноним 20/10/19 Вск 22:13:28 150103116
Аноним 21/10/19 Пнд 01:48:30 150117417
>>1500691
>В винде хэндлы принципиально ничем не отличаются
Хэндлы не отличаются, файлы отличаются. Файлы - дисковые, потоки - не файлы. Мир живет на винде, использует терминологию винды. Терминология с мейнфоеймов 70-х годов неуместна, устарела и только мешает, сбивая с толку.
Как пример, повторю: Там написано "при запуске любой программы на Си создаются хэндлы консоли", это прямая ложь. Нет, не создаются, ибо последняя ОС общего назначения с форсированной консолью была DOS, которая уже давно неактуальна.

>Виндой мир не ограничивается
Да, мир ограничен юниксами, в которых консоль всегда как в DOS. А в виндовс таких ограничений нет, поэтому учить людей нужно соответственно.
Аноним 21/10/19 Пнд 02:25:24 150118418
>>1501174
> при запуске любой программы на Си создаются хэндлы консоли
> это прямая ложь
Смотрите, неосилятор не осилил даже винду! Сишные stdin/stdout/stderr CRT открывает при инициализации ввода-вывода вне зависимости от того, WinMain там у тебя или еще что-то. Если ты соберешь GUI-программу, сделаешь в ней puts("Hello, world!"); и запустишь ее как hello.exe > output.txt (можешь из консоли, можешь в STARTUPINFO хэндл передать - похуй), как ты думаешь, что будет в output.txt?
Аноним 21/10/19 Пнд 02:50:54 150118819
>>1501184
Запускал из консоли, printf ничего не выводит пока не переделаешь проект под консоль с main. Кто не осилил? Ты неосилил. Кто пиздит? Ты пиздишь.
Аноним 21/10/19 Пнд 04:30:20 150120320
>>1501188
Хотя, попробовал перенаправить в файл и действительно туда выводит, но не на экран. Так что был неправ, всё создается и даже работает, наполовину. Только нахуй оно такое нужно в реальном мире, блокнотиком в файлы подглядывать. Ручками-то понятно можно всё напердолить, но речь шла по-умолчанию.
Аноним 21/10/19 Пнд 05:57:51 150123121
>>1501174
>Да, мир ограничен юниксами, в которых консоль всегда как в DOS.
Няшки, на хуй вы этого ребенка-олигофрена кормите? Пусть в ЖС или Питухон пиздует
Аноним 21/10/19 Пнд 06:59:23 150123622
>>1501203
- Очень удобно для логгирования
- Внезапно, даже в гуишном приложении можно создать окно консоли вручную, тоже отличная штука для отладки
Аноним 21/10/19 Пнд 10:44:53 150132323
>>1501231
Я тебе в рот ссал няшка блять
Аноним 21/10/19 Пнд 10:50:36 150132624
>>1501203
>нахуй оно такое нужно в реальном мире, блокнотиком в файлы подглядывать
Именно так в реальном мире и надо, а не смотреть простыни текста на экране.
Аноним 21/10/19 Пнд 11:33:32 150135125
8.png (234Кб, 945x766)
945x766
cts.png (57Кб, 898x246)
898x246
Аноны, где у винды искать эквиваленты этим системным вызовам?
windows.h ?
Аноним 21/10/19 Пнд 11:35:46 150135326
>>1501174
>Мир живет на винде, использует терминологию винды.
Мир живет на никсах. Винда - экзотическая нишевая поебень.
>>1501188
>Запускал из консоли, printf ничего не выводит пока не переделаешь проект под консоль с main.
Если бы stdout не было, printf бы просто упал.
Аноним 21/10/19 Пнд 11:56:42 150136327
>>1501351
>эквиваленты этим системным вызовам
У ней нет, в WinApi
Аноним 21/10/19 Пнд 16:11:06 150160428
>>1501203
> Только нахуй оно такое нужно в реальном мире
Я же тебе сразу сказал, что это вендопроблемы. Компилятору Си абсолютно похуй, что ты там себе налинковал, и создает ли тебе винда консоль или нет. Он все инициализирует, потому что у него в стандарте так написано. Если GetStdHandle() выдаст правильный хэндл - все заработает, не выдаст - не заработает. При редиректе шелл в STARTUPINFO.hStdOutput кладет хэндл файла или пайпа, поэтому все выводится, а без редиректа в hStdOutput NULL, и консоли тоже нет, поэтому ты ничего не видишь.

>>1501351
В msvcrt (т.е., и в Visual Studio, и в MinGW) кое-что реализовано (#include <io.h>), в рантайме Pelles C реализовано почти все, что реально используется. Но вызывать такие функции нужно с подчеркиванием (_open) или линковаться с oldnames.lib (в Pelles C можно /Go). Но лучше всем этим не пользоваться и писать слой с абстракцией от ОС самостоятельно (поверх вот этих POSIX вызовов в nix, поверх Windows API в винде).

> системным вызовам
Именно системные вызовы (а не функции, в которые они обернуты) у каждой ОС свои, а в винде у них еще и номера от билда к билду меняются.

> windows.h
Да, если тебе эквиваленты, то в Windows API есть CreateFile/ReadFile/WriteFile/CloseHandle/DeleteFile, и для них нужно инклудить именно windows.h.
Аноним 22/10/19 Втр 17:31:30 150232429
getc, getchar, gets(deprecated), scanf нахера их столько? еще с приставкой f есть, я прост запуталс юзать мне scanf для задач со строками или те которые get
Аноним 22/10/19 Втр 17:39:33 150233130
>>1502324
> нахера их столько
Макросы и оберточки с неявным stdin. Юзай то, что тебе удобно.
Аноним 22/10/19 Втр 18:06:49 150236031
>>1502324
Gets депрекейтед потому что небезопасен и позволяет хацкеру переполнить буфер и залить шеллкод. Getchar получает не строку а символ, другая функция просто. Для скорости используй безопасную версию gets
Аноним 22/10/19 Втр 19:58:07 150245232
>>1502360
>Gets депрекейтед потому что небезопасен и позволяет хацкеру переполнить буфер и залить шеллкод.
Объясните пожалуйста, где тут небезопасность? Программа локальная, запускается на компьютере. Откуда тут возьмутся хакеры и зачем им что-то переполнять в случае если есть?
Аноним 22/10/19 Втр 20:05:11 150245733
>>1502452
Не хочешь - не надо, но когда с помощью твоего кода случайно взломают твой анус - не жалуйся
Аноним 22/10/19 Втр 20:08:47 150246034
>>1502457
>с помощью твоего кода случайно взломают
Повторяю вопрос. Объясни, каким образом кто-то взломает через твою программу?
Аноним 22/10/19 Втр 20:15:35 150246635
>>1502460
Тётя Срака приведёт Ванечку, начитавшегося Касперски, посадит за твою пеку. И в следующий раз как тебе захочется увидеть "Privet, <username>!", тебе в ебало прилетит "<username> - pidr ebuchi".
Аноним 22/10/19 Втр 20:32:07 150248036
>>1502460
Ты забудешь что код дырявый и установишь его на твой анус. А потом кто-то попробует ввести 100 килобайт текста вместа имени пользователя и твой анус упадет. Хммм, подумает хакер, и напишет шеллкод.
Аноним 22/10/19 Втр 20:32:24 150248137
>>1502466
Скажи, дебил, как ты живешь такой тупой? Если в твой компьютер влезли посторонние, это УЖЕ взлом. Зачем им твоя ссаная программа со ссаной "небезопасной" функцией, если они УЖЕ имеют твой компьютер в момент получения доступа.
Аноним 22/10/19 Втр 20:35:10 150248538
>>1502480
>анус
Спасибо, я понял что та дебил, можешь не продолжать. Подожду адекватных ответов. Надеюсь меня удивят и произойдет чудо взлома через ничто.
Аноним 22/10/19 Втр 20:43:55 150249839
>>1502485
Очевидно, имеется ввиду файлстрим, привязанный к сокету.
Аноним 22/10/19 Втр 20:57:09 150250740
>>1502452
Ну например ты используешь gets в суидном бинарнике и получаешь локальное повышение привилегий. Или ты часть пайпа, который обрабатывает недоверенные данные (мы ведь все любим линукс?). Или сокеты, да.
Аноним 22/10/19 Втр 21:32:08 150251941
NO.jpg (203Кб, 3198x1799)
3198x1799
>>1502507
>мы ведь все любим линукс?
Аноним 22/10/19 Втр 22:09:04 150254042
>>1502498
>>1502507
Перепись куколдов, отвечающих неадекватному школьнику
Аноним 23/10/19 Срд 02:08:16 150261843
>>1502498
Чего? Эсли очевидно, почему так скромно и мутно выражаешься? Что за это программа такая? Для чего предназначена? Кто и как взломает? ГДЕ ОЧЕВИДНЫЕ ОТВЕТЫ ПРО ОПАСНОСТЬ ВЗЛОМА? Почему я слышу только вялое блеяние в ответ на вопрос об этих ко-ко опасных фенкциях, про которые все уши прожужжали, даже компилятор радостно сообщает, но ответа где эта мифическая опасность нет?

>>1502507
Какие привелегии, что ты несешь? Еще раз: Программа на компьютере, ты знаешь значение этого слова - ПЕРСОНАЛЬНЫЙ КОМПЬЮТЕР, он твой блять, какие привелегии, ты сам себя взламываешь? Остановись поехавший, компьютер и так твой!

Так, еще раз. Внятно четко и по делу: ЧТО ОПАСНОГО В ЭТИХ ТАК НАЗЫВАЕМЫХ "ОПАСНЫХ" ФУНКЦИЯХ? КТО ТЕБЯ ВЗЛОМАЕТ У ТЕБЯ ДОМА ГДЕ. ТЫ И ТАК ХОЗЯИН, ИДИОТИНЫ?



Аноним 23/10/19 Срд 02:59:40 150262544
>>1502618
Этот господин прав. Никто из нас так и не дал действительно адекватного ответа. Но ничего, есть идея, ща подожди...
Аноним 23/10/19 Срд 02:59:57 150262645
Аноним 23/10/19 Срд 03:23:27 150263146
>>1502625
>не дал
Только ты этого школочмоню кормишь.
Аноним 23/10/19 Срд 03:45:44 150263547
>>1502631
"Иди нахуй" тоже мой пост, есичо. Это задумка такая. Юмор же. Ну?..
Аноним 23/10/19 Срд 03:58:49 150263648
>>1502635
Так иди, школопетух.
Аноним 23/10/19 Срд 04:07:58 150263849
>>1502625
Значит чуда не будет, а жаль. Не весело убеждаться лишний раз, что люди - безмозглые дроны, лишь как попугаи повторяющие залитую в пустую башку бессмыслицу.

А как насчет этого?
>>1501604
>Но лучше всем этим не пользоваться и писать слой с абстракцией от ОС
Еще один мифический единорог, про который все пиздят, но никто не видел - "мультиплатформенность".
Объясните, пожалуйста, это слово означает наличие нескольких платформ. ТАК ЧТО ЭТО ЗА ТАКИЕ ПЛАТФОРМЫ? Линукс, линукс, и еще макос (очередная сборочка линукса)? Вот ты, тупая сука, пиздишь про мультиплатформенность, но существует всего две реальные платформы - ЛИНУКС и ВИНДОВС. Но ты же, тупая линуксоидная скотина, не будешь делать под винду, ты винду не любишь или вообще ненавидишь? тебя хуй заставишь собрать под винду. ТАК КАКОГО ХУЯ ТЫ ПРОПАГАНДИРУЕШЬ МУЛЬТАПЛАТФОРМУ, ТО ЕСТЬ ПОДДЕРЖКУ ВИНДОВС ТОЖЕ, А ЗНАЧИТ ЗАБОТУ О ВИНДОВС И ЛЮБОВЬ К ВИНДОВС, КОГДА НА САМОМ ДЕЛЕ ТЫ ВИНДОВС НЕ ЛЮБИШЬ. ТЫ СУКА ГОВОРИШЬ ПИСАТЬ КОД С ПОДДЕРЖКОЙ ВИНДОВС, ХОТЯ НЕ СОБИРАЕШЬСЯ ЕЁ ДЕЛАТЬ. КАКОГО ХУЯ, ЛИЦЕМЕРТАЯ СКОТИНА? ТЫ ТУПОЕ ГОВНО САМ СЕБЕ ПРОТИВОРЕЧИШЬ В ОДНОЙ В/ФРАЗЕ, ДЕБИЛ.



Аноним 23/10/19 Срд 04:10:03 150263950
>>1502638
Пиздец, этот ребенок не только долбоеб, но еще редкостная зануда.
Аноним 23/10/19 Срд 04:10:39 150264051
>>1502639
Ща, падажи, убоги подтянуться и начнут ему объяснять, лол
Аноним 23/10/19 Срд 04:17:50 150264252
Тут кто-нибудь для PSP пишет?
Хочу хэллоуворлдами поразвлекаться, но один за одним наборы для девелопмента вставать не хотят из-за проёбанных пакетов. Из вариантов - бубунта и арч.
Аноним 23/10/19 Срд 04:23:41 150264453
>>1502639
Я так понял, чуда снова не будет и всё сказано правильно?
"Тупые хомяки тупо хомячат, не мешай нам быть тупыми, зануда", так? Ну окей, не буду. Я же не навязываюсь, просто хотел спросить, ведь это было всего лишь личное впечатление, мог и ошибаться. Неприятно не ошибаться в таких вещах.
Аноним 23/10/19 Срд 04:29:44 150264754
Аноним 23/10/19 Срд 12:04:43 150280655
Почему на этой хуйне ебаной решений задач в интернете нет??? Всё нс ++ обоссаном.
Аноним 23/10/19 Срд 12:26:49 150282256
>>1502638
>безмозглые дроны
>пустую башку
>тупая сука
>тупая линуксоидная скотина
>сука
>лицемерная скотина
>тупое говно
>дебил
Пофиксил. Много воды было.
Аноним 23/10/19 Срд 12:27:17 150282357
Аноним 23/10/19 Срд 12:32:52 150282658
Аноним 23/10/19 Срд 12:35:21 150282959
Аноним 23/10/19 Срд 12:35:31 150283060
>>1502822
А на сегодня всё. До новых встреч!
Аноним 23/10/19 Срд 12:36:33 150283361
>>1502829
надо полностью с инклудами и прочим говном и вообще задач дохуя для шараги надо а нихуя не гуглится
Аноним 23/10/19 Срд 12:37:39 150283662
>>1502833
А потом ты придешь через 5 лет с тредом типа "пацаны как вкатиться". Учись, студент, сам, подобные задачи это самое важное в твоей жизни.
Аноним 23/10/19 Срд 12:38:39 150283963
>>1502836
я не хочу мне надо чтобы меня не пидорнули до сесии и всё
Аноним 23/10/19 Срд 12:40:06 150284164
>>1502826
А при чем тут Си? Я понимаю, что ты другой анон и рофлишь, но подозреваю, что тот анон хочет разбирать готовые решения примерно таких задачек конкретно на Си. Так вот...
>>1502806
Задачи - это одна книга книга, а определение языка - другая. Если ты не умеешь в абстрактное мышление, дедуктивный подход, псевдокод и т.д. и т.п., то ты просто проебываешь время. Лучше плотно займись какой-нибудь гуманитарной деятельностью и поспеши обеспечить себе адекватное будущее, чтоб не словить кризис среднего возраста. Я желаю тебя счастья, анончик. Алсо, попробуй в искусство, может зайдет.
Аноним 23/10/19 Срд 12:41:25 150284365
>>1502839
Ааа, как-то не подумал об этом..
Аноним 23/10/19 Срд 12:41:50 150284466
>>1502839
Сейчас 23 октября. Учись сам
Аноним 23/10/19 Срд 12:42:30 150284567
>>1502841
да хороший совет итак так делаю пытаюсь в рахе нихуя нет всё самому через ебаное превозмогание
Аноним 23/10/19 Срд 12:43:02 150284668
Аноним 23/10/19 Срд 12:54:45 150285569
Аноним 23/10/19 Срд 12:57:08 150285870
Аноним 23/10/19 Срд 13:02:11 150286071
>>1502841
>Если ты не умеешь в абстрактное мышление, дедуктивный подход, псевдокод и т.д. и т.п
Докладываю - именно такой, но уж универские задания по программированию решаются легко если не надо математики во всем ее ужасе.
Аноним 23/10/19 Срд 14:59:07 150296672
f() {
pthread_create(..., &func, (void*)NULL);
...
}
g() {
for (...) f();
}

Как сделать, чтобы функция func вызввалась каждый раз в треде, не создавая отдельный? Если я вызову f() в цикле N раз, то создастся N тредов. Нужно вводить счетчик и хуярить pthread_exit?
Аноним 23/10/19 Срд 15:04:29 150297573
>>1502966
Откуда такая идея? pthread_create - это тебе не fork + exec, где заем ядра и замена кода - 2 разных вызова, и можно делать фокусы.
Аноним 23/10/19 Срд 15:04:51 150297874
>>1502975
>заем ядра цроца
фикс
Аноним 23/10/19 Срд 15:05:52 150297975
блядь, какая же у меня хуйня получается при формулировке мыслей, больше не буду отвечать, кринж кринжовый
Аноним 23/10/19 Срд 16:58:19 150313476
>>1502822
Спасибо за классический образчик поведения тупого скота.
Показываю на пальцах.
Вопрос:
>Привет, подскажите сколько будет дважды два?
Ответ 1:
>Будет пять, няша, заверено экспертами математиками. Обращайся еще, всегда рады помочь!
Дебил:
>Спасибо, друг!
Ответ 2:
>Ты чего такая тупая скотина? Разве не очевидно, что будет четыре, выкидышь мартышки?
Дебил:
>гринтекст пофиксил Нахуй иди.

Свойство скота - преобладание чувств над разумом. Как видно в посте по ссылке и приведенном выше объяснении, пациент выбрал из ответа только эмоциональную составляющую и реагирует только на неё. Разум подчинен эмоциям. Вежливый пост с ложной информацией принят, а правильный пост, но неприятный - отвергнут. Вот почему скот тупой, таким образом живут животные, они не умеют рассуждать в принципе и подчинены эмоциями, прямо как этот дебил, не поднявшийся выше собаки, только рычит и тявкает выражая недовольство, а на человеческий диалог анализом информации не способен.
Аноним 23/10/19 Срд 17:17:21 150316177
Объясните, почему юниксоиды и всякие GNUтые пердолики любят Си.
Аноним 23/10/19 Срд 17:22:41 150316678
>>1503161
У них 1 мозг на колонию
Аноним 23/10/19 Срд 19:17:43 150329179
>>1502638
>очередная сборочка линукса
Ебать у шкилы манямирок. У тебя всё, что написано с оглядкой на POSIX = линукс, зумер?
>тебя хуй заставишь собрать под винду
Вообще-то это винда посылает всех нахуй и не поддерживает общепринятые стандарты, лол.
>>1503161
Его вообще много кто любит, причин куча: легко написать компилятор под что угодно, легко (хоть и весьма вербозно зачастую) заинтерфейсить с чем угодно, достаточно просто и его знают все. Такой питон от мира байтойобства.
Аноним 23/10/19 Срд 19:56:31 150331280
>>1503134
В посте написана хуйня, но возражать тебе - примерно как возражать куску говна. При чем тупому куску говна, который возражений не поймет.
Аноним 23/10/19 Срд 22:54:51 150343381
>>1503291
>Вообще-то это винда посылает всех нахуй и не поддерживает общепринятые стандарты, лол.
>Винда: 99%
>общепринятые стандарты: 1%
> винда не поддерживает общепринятые стандарты

Бля, смеялся
Аноним 23/10/19 Срд 22:57:10 150343682
Смотрите что нашел:
http://zonakoda.ru/
Интересно пишет, разжевывает понятия, с примерами. Строковые литералы я только у него и понял вообще.
Аноним 23/10/19 Срд 23:19:52 150345283
>>1503433
Во-первых, понятно, что ты школьник, и у тебя существует только десктоп, но в мире-то почти вся разработка крутится вокруг серверсайда, исключение только геймдев (да и тот стремительно переезжает в облака, ещё через несколько лет у производителей видях драйвера под никсы станут приоритетными над десктопными). И тут сплошной линукс да бсд, я вообще хз кто использует шиндовс сервера кроме додиков из наших госструктур и какого нибудь совсем дремучего ынтерпрайза с кучей легаси из времён, когда джава ещё не выебала и не высушила дотнет так, что мс как побитые шлюхи сделали его кроссплатформенным, лол. Но кто-то и макос на серверах юзает, притом платит достаточно, чтобы ахуевшая эпл поддерживали эту хуйню, кек.

Во-вторых, 10% занимает тот же мак. Если писать, например, пользовательскую гуёвую софтину для заработка денег — я бы поставил на эти 10%, лол.

В-третьих, в мобилках и планшетах винда отсосала и мс от неё отказалась уже официально, весь этот рынок за линуксом и бзд.

В-четвёртых, Windows Subsystem for Linux как бы намекает, что мс чувствует жепой, что обычные юзеры забивают на пека и скоро это будет исключительно рабочий инструмент, у котороо от былой славы не останется и 10%.

Так что учи линукс, сынок.
23/10/19 Срд 23:29:24 150346484
Аноним 23/10/19 Срд 23:50:47 150347985
>>1503464
>в шинде баги старых версий симулируют в новых версиях )0
>а в линюксах ниграв убивают)0
Классная книжка, почитаю на досуге.
Аноним 24/10/19 Чтв 02:07:21 150355086
1444760839643.png (223Кб, 1126x369)
1126x369
Аноним 24/10/19 Чтв 02:19:04 150355287
Аноним 24/10/19 Чтв 02:38:31 150355588
>>1503550
Когда работку начнешь искать тебя ждет сюрприз в виде сплошного линукса.
Аноним 24/10/19 Чтв 02:54:26 150355689
>>1503555
когда я искал очередную работку, у меня было требование - никакого ебучего линукса, наелся им, только винда + вижуал студия. И как же я счастлив, что я ее нашел, и работаю третий год с кайфом.

Мимо из соседнего треда с плюсами
Аноним 24/10/19 Чтв 02:56:42 150355890
>>1503556
Ты тот хуй у которого кресты говно? Даа, с кайфом
Аноним 24/10/19 Чтв 03:09:26 150355991
>>1503558
я тот хуй, у которого кресты отличный язык
Аноним 24/10/19 Чтв 03:29:45 150356492
>>1503556
А там где норм зарплаты - везде линукс, беда-беда. Кроме разве что самого Майкрософта.
Аноним 24/10/19 Чтв 03:34:27 150356593
>>1503564
>работы зарплаты
Ты разделом ошибся, чушок. Тут про программирование.
Аноним 24/10/19 Чтв 03:37:18 150356694
>>1503550
Он тебе про серверсайд, а ты ему статистику про десктоп кидаешь, ну что ты за еблан
Все и так знают, что большинство людей домохозяек и игродаунов, держу в курсе в мире юзают шинду, но это не имеет никакого отношения к работе в айти
Аноним 24/10/19 Чтв 03:39:45 150356795
>>1503566
Большинство давно юзает андроид на телефонах и смарттв.
Аноним 24/10/19 Чтв 03:52:58 150356896
>>1503567
Все твои однокурсники так делают?
Аноним 24/10/19 Чтв 04:32:59 150357297
>>1503550
А вот и любитель пообсуждать бинарники. Что, педролишь срачельник? Не забывай наносить смазку, бггг
Аноним 24/10/19 Чтв 07:08:21 150358198
>>1503452
Когда завезут человеческую поддержку все сортов железа, тогда и приходите. А то или кулер не вращается, или иксы падают на старте, распидорашивая каким-то образом даже текстовый режим. И вино допилите, да.
Аноним 24/10/19 Чтв 07:22:50 150358399
>>1503581
Пердоль, у меня все работало на шести разных ноутах, мне кажется ты что-то сделал не так.
Аноним 24/10/19 Чтв 08:41:28 1503605100
>>1503581
Пусть сначала завезут концепцию "драйвера". Чтобы можно было отдельно ставить, удалять, выбирать нужную версию, и всё это для каждой железки в отдельности. Иначе это ссаный андроид, только не от производителя телефона под его железо, а совсем конченый, не понять для какого железа, поэтому всего напихано, и остается только молиться что твоё заработает, ведь повлиять никак. А если не заработает, читать сайтики где перечислено "нинужное" железо, "сам лох, нито имеешь, бгг", кек.
Аноним 24/10/19 Чтв 12:29:52 1503727101
>>1503134
А если из твоего поста убрать оскорбления, то получится еще большая хуйня.
24/10/19 Чтв 12:33:32 1503729102
>>1503452
Хуй знает что ты за хуйню несешь, все уже давно на мс серваках сидят, любой линукс говно дырявого говна. Пока сруникс комьюнити закапывает себя в си-легаси говне, майкрософт пилят реальную ось.
Аноним 24/10/19 Чтв 12:37:09 1503732103
>>1503134
Какая-то толстота с отрицательным выхлопом. Высрать на короткий рофл длинную псевдосерьезную хуету... Я даже хз, кто тут кого забайтил.
Аноним 24/10/19 Чтв 12:40:18 1503734104
>>1503727
В посте нет оскорблений. Там есть выдвинутый тезис, его обоснование и предложение прокомментировать. А между строк приправлено эмоциями, выражающими личное отношение. Ведь пишет человек, а не бездушная жестянка, нет ничего странного выразить себя заодно. Это называется свобода слова, за которую, хвала богам, на данного типа анонимных бордах не наказывают.
Как видишь, повторюсь, оскорблений нет, т.к. в посте нет других людей, только сам говорящий и его отношение к им же высказанному тезису. Если же каких-то третьих лиц высказанная позиция оскорбляет, это проблемы уже их личные, не надо валить с больной головы на здоровую.
Аноним 24/10/19 Чтв 12:53:36 1503738105
>>1503734
Ну, допустим, я перечитал и убедился, что из смысла там только
>этой ТВОЙ комп, ТВОЙ сука, ты его из розетки можешь вытащить, когда услышишь звук обращения к запрещенным байтам, это ведь так заметно, хуй взломаешь
>у вас тут пара убунтошизиков затесалась, стало быть тред зашкварен, и говорить о кроссплатформености никто итт не имеет права
Дальше что? Развлеки меня, анон.
Аноним 24/10/19 Чтв 13:35:51 1503751106
>>1503734
>Ведь пишет человек, а не бездушная жестянка
Пишет истеричка, к которой нет уважения в обществе байтоебов. 95% поста эмоции.
Аноним 24/10/19 Чтв 14:17:30 1503791107
Подскажите пожалуйста. Запускаю вычисление факториала с рекурсией из учебника Дейтелов, в С-Free 5 до 12 значения нормально идут, потом ерунда какая то вывожу ULLONG_MAX 4294967295. Запускаю в браузере все нормально. Система Winxp, Pentium Dual озу 2 гиг. Где посмотреть чтобы понять почему?
Аноним 24/10/19 Чтв 14:25:29 1503799108
Аноним 24/10/19 Чтв 14:28:33 1503801109
Screenshot 2019[...].png (1075Кб, 2880x1800)
2880x1800
>>1503550
Ко мне как к яблочному анальному рабу это ебать как относится, дружок.

>>1503558
Нет, друг, это я тот чел работающий с крестами, у которого кресты говно. Даже по сравнению с уёбищной динамикопарашей обжс, они сосут что по синтаксису (а ведь это код на с++17, которого в проде днём с огнём не сыщещь, и ирл всё куда хуже), что по фичам (ведь даже в обжс уже хуй знает сколько лет уже есть модули, блядь).

>>1503581
Я тебе про серверсайд, ты мне про иксы. Ну не еблан ли?

>>1503729
Кто все-то? Ты один здесь нахуй.
Аноним 24/10/19 Чтв 14:29:44 1503804110
>>1503556
>только винда
Классно наверно, когда весь мир на цмейке сидит, а на твоей ос он никогда ничего не резолвит, да?
>вижуал студия
Дотнетовская лагающая параша.
Аноним 24/10/19 Чтв 14:31:16 1503806111
>>1503801
>Нет, друг, это я тот чел работающий с крестами, у которого кресты говно
Так ты бы сразу писал, что ты эплопидорас. ДАЖЕ, лол.
Аноним 24/10/19 Чтв 14:35:12 1503811112
142157609317354[...].png (461Кб, 598x544)
598x544
>>1503806
Ебать школьника порвало. Ничего, дружок, поебёшься пару лет с шиндовсом, потом так же с линуксом на десктопе, а там уже и на барский макбук накопишь.
Аноним 24/10/19 Чтв 14:41:44 1503819113
>>1503811
Objc-обезьяна, иди гуй рисуй, гуй сам не нарисуется
Аноним 24/10/19 Чтв 14:51:34 1503831114
EGaZ6wXU8AIwjp.jpeg (50Кб, 780x439)
780x439
>>1503819
>Objc-обезьяна
Нипапал.
Ничего, шкильник, я же говорю — накопишь и на человеческую технику когда нибудь. Не плачь.
24/10/19 Чтв 14:52:17 1503832115
Ну дела, уже яблокопидоров в тред заносит, пиздец. Иди в джаватред сри, уебок.
Аноним 24/10/19 Чтв 14:56:00 1503836116
>>1503831
У меня одни видеокарты стоят дороже всего твоего железа, лалка
Аноним 24/10/19 Чтв 15:00:01 1503842117
4e880c97054586e[...].jpg (117Кб, 807x481)
807x481
>>1503832
>Иди в джаватред сри
>тем временем под шинду есть 2 полноценные иде
>одна на джаве другая на дотнете
Лольнул.

>>1503836
То чувство, когда мамка дала денег на видяху, а рандомный проект что на цмейке, что хоть на мейке собрать без 5 часов ебли всё равно не сможешь.
Аноним 24/10/19 Чтв 15:06:26 1503845118
Screenshot2019-[...].png (26Кб, 587x300)
587x300
>>1503842
Да-да, мамка мне за гугл клауд платит
Аноним 24/10/19 Чтв 15:11:33 1503848119
190218120225709[...].jpg (36Кб, 600x400)
600x400
>>1503845
>сам занимается вебмакакингом
>считает всех пидорасами и даунами
>и срётся за плюсы в ц треде
Кстати, не подскажешь, где там шиндовс? Его же все поголовно на серверсайде юзают.
Аноним 24/10/19 Чтв 15:13:51 1503850120
24/10/19 Чтв 15:51:12 1503864121
>>1503842
Тупой дегенерат-дебил, не знает, что визуалстудио полностью поддерживает и интегрируется с cmake. А еще она написана на плюсах. Про какие ты там иде вообще говоришь? Говноподелия от жидбрейнс, которые виснут по несколько минут?

Пиздец, как же я лолирую с этого яблодебила, он еще и боевые картиночки использует, ну дегенерат же очевидный.
Аноним 24/10/19 Чтв 16:05:57 1503870122
>>1503842
>тем временем под шинду есть 2 полноценные иде
а под мак больше?
Аноним 24/10/19 Чтв 16:17:00 1503874123
>>1503870
Столько же. Правда одна из них нативная и не лагает.
>>1503864
>поддерживает и интегрируется с cmake.
Тупой школьник даже не понимает, о чём я говорю. Какая нахуй интеграция с вс? Я об этом хоть что-то говорил, долбоёб?
>А еще она написана на плюсах.
Была, году так в 2010, сейчас там львиная часть — говноподелие на дотнете уровня жидбраинс, причём плюсы по сравнению с шарпом там в состоянии какого-то рудимента из ануса.
Аноним 24/10/19 Чтв 16:33:32 1503880124
>>1503874
роскожи про иде на маке.никогда его в руках даже не держал
Аноним 24/10/19 Чтв 17:11:24 1503896125
>>1503864
>Говноподелия от жидбрейнс, которые виснут по несколько минут?
Не запускай ПО для серверной разработки на калькуляторе 8 гб оперативки и 4 ядра
Аноним 24/10/19 Чтв 17:22:14 1503908126
image.png (660Кб, 2584x1672)
2584x1672
Аноним 24/10/19 Чтв 17:52:59 1503927127
>>1503896
>ПО для серверной разработки
Это какая-то тонкота?
Аноним 24/10/19 Чтв 17:55:07 1503930128
>>1503896
Для какой нахуй серверной разработки? ИДЕ от жидбраинс уже умеют работать как тонкие клиенты к серверу с запущенной там иде или что?

Покупать ебаный ядерный реактор для редактора текста = быть дауном.

>>1503896
Иде как иде, нечего сказать.

>>1503908
Да нет, не боль. Нюфаги устраивают набеги потому что не в курсе, что его необходимо устанавливать с сайта эпла, и через аппстор его не обновить на следующую мажорную версию, он ломался и ломается при такой установке всегда, лол. Но маркетологам похуй, и такая возможность почему-то есть.
Аноним 24/10/19 Чтв 18:08:05 1503937129
>>1503930
Если хочешь модным быть, купи айфончик в Apple Store
Но можешь на эти деньги купить то, чего нет ни у кого в школе
Красные носки-носочки, целые четыре пары, а не три
Для кошерных ступней оболочки цвета догорающей зари
А теперь подумай, сколько дров мог бы купить на эту сумму
Для несчастных стариков, с которых он одежду снимает безумно
Аноним 24/10/19 Чтв 18:46:54 1503963130
>>1503874
> а рандомный проект что на цмейке, что хоть на мейке собрать без 5 часов ебли всё равно не сможешь.
> Я об этом хоть что-то говорил, долбоёб?
Не говорил говоришь? У меня любой смейк проект в 2 клика собирается, дебил.
Аноним 24/10/19 Чтв 18:54:04 1503965131
>>1503930
Джвачую, поделия говнобрейнса нинужны
Аноним 24/10/19 Чтв 19:10:50 1503973132
>>1503963
>>1503804
>Классно наверно, когда весь мир на цмейке сидит, а на твоей ос он никогда ничего не резолвит, да?
Перечитай и подумай, о чём я писал, и при чём здесь твоя ебучая вс.
>>1503965
Как и говно на дотнете.
Аноним 24/10/19 Чтв 20:56:01 1504050133
>>1503973
> >Классно наверно, когда весь мир на цмейке сидит, а на твоей ос он никогда ничего не резолвит, да?
Ты сам это придумал?
Аноним 24/10/19 Чтв 21:34:07 1504090134
>>1504050
Нет, просто собирал проекты у которых не 0 зависимостей.
Аноним 25/10/19 Птн 03:03:16 1504270135
>>1504090
А оно разве ресолвит? Я не пользуюсь, но собирал чужой код и без нужных пакетов компиляция просто падала. Что зо ресолвинг у вас?
Аноним 25/10/19 Птн 08:11:27 1504293136
Прошу прощения, что пишу это здесь, но я хочу найти работу и понял что C для этого не очень годиться, если не разбираться в радиотехнике и микроконтроллерах.
Как после C вкатываться в другие языки? Они какими-то ущербными все кажутся.
Аноним 25/10/19 Птн 08:22:19 1504295137
>>1504293
>Как после C вкатываться в другие языки? Они какими-то ущербными все кажутся.
Через боль и страдания
Аноним 25/10/19 Птн 13:04:00 1504404138
Аноны, есть ли какие-нибудь best practices или небольшая опенсорсная прога, где можно подсмотреть реализацию, чтоб программу можно было использовать такими способами?
$ sort -i unsorted.txt
$ cat unsorted.txt | sort
$ echo 7 6 3 1 2 5 | sort -o sorted.txt
Аноним 25/10/19 Птн 13:23:47 1504429139
>>1504293
Перекатывайся в плюсы. на плюсах уже можно работать.
Аноним 25/10/19 Птн 13:55:10 1504450140
>>1504270
Сказочник, как у тебя могла падать компиляция, если цмейк не найдя нужных либ в системе не генерирует нихуя, ммм?
Аноним 25/10/19 Птн 13:55:33 1504451141
>>1504429
Вот тут двачую но они всё равно говно.
Аноним 25/10/19 Птн 14:01:00 1504455142
>>1504404
Проверяешь argv[1] на наличие ключей "-i", "-o". Если есть, то достаешь из argv[2] значения и работаешь с ними. Если нет, то читаешь весь argv и пишешь в массив, который надо сортировать.
Аноним 25/10/19 Птн 17:46:50 1504630143
>>1504455
В последних двух командах идет перенаправление потока ввода, читать надо не из argv, а из stdin
Аноним 25/10/19 Птн 18:37:41 1504659144
Я нубас в этом вашем программировании, почему не работает
> #include <stdafx.h>
> E1696 не удается открыть источник файл "stdafx.h"
Не могу нагуглить решение. В настройках пробовал включить предварительно скомпилированные заголовки, все равно шлет нахуй. Работаю в VS 2019
Аноним 25/10/19 Птн 18:40:15 1504662145
>>1504659
создавай чистый проект всегда в студии. И ничего более, никаких консольных приложений
Аноним 25/10/19 Птн 18:41:07 1504664146
Аноним 25/10/19 Птн 18:44:33 1504667147
image.png (12Кб, 817x98)
817x98
>>1504662
Хуйня какая-то получается все равно
Аноним 25/10/19 Птн 18:46:01 1504668148
>>1504667
В настройках проекта выбираешь платформу All, тип сборки All, выключаешь Precompiled headers, профит.
Аноним 25/10/19 Птн 19:31:53 1504707149
Есть гайды по написанию кода на ардуино через Cmake? Загрузчик их всё равно нужен, но размер проги из их иде слишком большой, да и сама среда не нравится
Аноним 25/10/19 Птн 20:14:39 1504735150
Аноним 25/10/19 Птн 20:57:24 1504772151
>>1504707
А какую проблему ты собираешься решить использованием CMake?
Аноним 25/10/19 Птн 23:39:56 1504938152
>>1504772
Не видишь чтоле — бинарник цмейком уменьшать собрался и с иде сруливать.
Аноним 26/10/19 Суб 02:50:40 1504998153
>>1504450
Групо выразился. Там билдскрипт который всё делает, и он падал пока руками не установил в менеджере пакетов нужное. Так вопрос, что там у вас этот симейк ресолвит если у меня ничего не ресолвит?
Аноним 26/10/19 Суб 02:56:06 1504999154
Аноним 26/10/19 Суб 03:03:17 1505001155
>>1504659
Если в проекте включены предварительно скомпилированные заголовки, тогда создаешь этот файл в папке с твоим проектом и меняешь код на
> #include "stdafx.h"
в кавычках. Угловые скобки ищут файл в библиотечных каталога, такое нужно для системных инклудов, но не твоих собственных.

Или же просто убери в настройках проекта эти пред-компилированые заголовки и удали строчку
> #include <stdafx.h>
В таком случае этот файл не нужен и естественно пытаться его инклудить тоже не надо. Тем более его в системных библиотечных инклудах всё равно нет и не будет, лол.
Аноним 26/10/19 Суб 03:09:21 1505002156
1533873581926.png (1Кб, 988x18)
988x18
Аноним 26/10/19 Суб 04:18:24 1505010157
>>1504659
Потому что его нет? Если нет, создай или убери инклюд

>>1505001
>>1505001
stdafx.h это стандартный файл для прекомпилированых заголовков в студии, он локальный, его надо включать в кавычках.
Аноним 26/10/19 Суб 04:20:07 1505011158
>>1504998
CMake ресолвит, но нужно чтобы либы где-то были и CMake'у нужно сказать где
Аноним 26/10/19 Суб 05:59:27 1505019159
>>1505011
>ресолвит
Значение знаешь? Если нужно тыкать носом вручную, значит ничего не ресолвит.
Аноним 26/10/19 Суб 07:28:39 1505024160
>>1505019
Ресолвить - штука сложная. Ты ему тыкаешь где у тебя какой-нибудь libxyz установлен, а он находит там cmake модули, импортирует таргеты, ты делаешь target_link_library и вуаля, у тебя и инклюдлые пути прописаны, и правильные библиотеки подлинкованы для каждой конфигурации.
Аноним 26/10/19 Суб 07:36:05 1505025161
>>1504293
Странный ты. Когда видишь другие языки, в которых миллион возможностей, в которых не надо писать велосипеды, ущербным кажется именно си.
Аноним 26/10/19 Суб 08:29:01 1505031162
>>1505002
cmake && make лол, симейко дебилы
Аноним 26/10/19 Суб 11:45:47 1505080163
>>1505025
А их хрен освоишь, потому что привыкаешь к простоте Сишки, и везде пытаешься писать как на ней.
Хотя скорее просто я тупой.
Аноним 26/10/19 Суб 12:38:40 1505104164
>>1505080
Когда много пишешь на Си, кое-какие паттерны нарабатываются, которые первое время пердолишь вручную "смотрите, белоручки, как я умею", потом макросами, а потом понимаешь, что кресты - это охуенно. Отчасти потому, что совсем не лишают тебе возможностей Сишки, с оговоркой на дополнительные касты.
Аноним 26/10/19 Суб 12:45:03 1505110165
>>1505104
Не спорю, охуенно. Но ООП не осиливается.
Аноним 26/10/19 Суб 13:27:21 1505129166
>>1505110
Его вроде в крестах и нет, ООП в джаве и шарпе. Зато в крестах мерзкие шаблоны.
Аноним 26/10/19 Суб 14:10:00 1505155167
>>1505129
>Его вроде в крестах и нет
Вся суть детей из этого трхеда
Аноним 26/10/19 Суб 18:12:05 1505297168
изображение.png (95Кб, 984x314)
984x314
изображение.png (106Кб, 989x338)
989x338
Помогите, у меня осилятор сломался.

Почему в аддитивном выражении правая часть не может быть аддитивным выражением, как левая?
Зачем выражения сравнения определяют через выражение со сдвигом? Причем тут сдвиг вообще?

По каким ключевым словам вообще гуглить все это колдунство?
Аноним 26/10/19 Суб 18:15:28 1505304169
>>1505297
>выражение со сдвигом
Лол, это что за говно ты читаешь? Меньше/больше или равно
Аноним 26/10/19 Суб 18:16:53 1505306170
Аноним 26/10/19 Суб 18:17:45 1505309171
изображение.png (108Кб, 1000x331)
1000x331
>>1505304
>выражение со сдвигом
Аноним 26/10/19 Суб 18:19:36 1505311172
>>1505309
Сдвиг это сдвиг << >>, а <= >= это другое
Аноним 26/10/19 Суб 18:23:07 1505317173
scale1200.jpg (304Кб, 1130x1200)
1130x1200
Двач, крик души епта! КОНТРОЛЛЕРЫ! STM32!! ARM!!!

Подскажите какие-нибудь учебники и курсы (можно платные) по STM32!

Как освоить эти ебаные контроллеры? Мне советовали курить даташиты, но как блять по даташитам ботать с нуля? Непонятно нихуя же. Это все равно что студенту-юристу не дать учебник, а дать сразу УК РФ, там же всё написано.

Повторяю вопрос: где взять УЧЕБНИК по STM? Чтоб с нуля, для нуба, было последовательно разжевано, по темам, от простого к сложному, с примерами кода.

И второй вопрос: а где вообще этому системно обучают? В колледжах, на каких-то курсах или где? Или какие-то особые люди-программисты сразу рождаются с этим знанием? Именно такое ощущение сложилось. Помоги, двач, погибаю! По работе очень надо
Аноним 26/10/19 Суб 18:24:24 1505318174
>>1505311
Ну да, другое.
Но зачем сдвиг нужен в определении сравнения?
Аноним 26/10/19 Суб 18:25:38 1505320175
>>1505318
>Но зачем сдвиг нужен в определении сравнения?
Хуету пишут
Аноним 26/10/19 Суб 18:27:43 1505321176
>>1505317
>STM32
Купи за 200р Пердуно и начни вкатываться с него, светодиодом поморгаешь, дальше все поймешь.
Аноним 26/10/19 Суб 18:29:13 1505325177
>>1505320
А как правильно записать?
Аноним 26/10/19 Суб 18:30:02 1505327178
>>1505325
>А как правильно записать?
Что записать?
Аноним 26/10/19 Суб 18:30:39 1505328179
изображение.png (106Кб, 989x338)
989x338
Аноним 26/10/19 Суб 18:31:21 1505331180
Аноним 26/10/19 Суб 18:31:28 1505332181
>>1505318
Это не определение сравнения, это приоритет операций. Что считается первым, что вторым. Не забивай голову, это никто не помнит и ставит скобки
Аноним 26/10/19 Суб 18:34:44 1505335182
ogog14879215192[...].jpg (50Кб, 1200x628)
1200x628
>>1505321

Ты, блять, меня троллишь? Ну зачем ты так
Аноним 26/10/19 Суб 18:43:08 1505349183
>>1505335
>Ты, блять, меня троллишь?
Ну я с Ардуино пердолюсь, материалов много, читай не хочу. STM32 те же яйца, только в профиль.
Аноним 26/10/19 Суб 18:43:27 1505351184
>>1505317
>Повторяю вопрос: где взять УЧЕБНИК по STM
Тут спросить https://2ch.hk/ra/res/314976.html
А вообще с такими навыками гугления у тебя ничего не получится
>И второй вопрос: а где вообще этому системно обучают
В вузах, например
Аноним 26/10/19 Суб 18:44:56 1505353185
>>1505321
Нахуй эти пердуины не нужны, когда есть подобные хуйни на ARMах, включая STM32
Аноним 26/10/19 Суб 18:45:30 1505355186
>>1505351
>А вообще с такими навыками гугления у тебя ничего не получится

Спросить на дваче - один из эффективнейших способов гугления, не?

>Тут спросить https://2ch.hk/ra/res/314976.html

Благодарю.
Аноним 26/10/19 Суб 18:46:40 1505357187
>>1505355
>Спросить на дваче - один из эффективнейших способов гугления, не?
А макдоналдс один из эффективнейших способов пожрать
Аноним 26/10/19 Суб 18:47:24 1505358188
>>1505353
>когда есть подобные хуйни на ARMах, включая STM32
Ну может и есть, просто про Пердунью материалов много да и на рукожопов рассчитана.
Аноним 26/10/19 Суб 18:47:32 1505359189
>>1505297
> Почему в аддитивном выражении правая часть не может быть аддитивным выражением, как левая?
Может. Но приоритет у умножения выше.

> По каким ключевым словам вообще гуглить все это колдунство?
Если вообще пиздец как интересно, то любая книжка или статья по компиляторам. Даже https://compilers.iecc.com/crenshaw/ сойдет. А вообще, тебе это читать не нужно, это на случай, если ты парсер захочешь написать.
Аноним 26/10/19 Суб 18:50:09 1505365190
>>1505358
Не знаю, предпочитаю писать на железе, а не восьмибитном кале.
Хотя кого я обманываю. В кладовке валяется все
Аноним 26/10/19 Суб 18:53:46 1505372191
>>1505358
> материалов много да и на рукожопов рассчитана

Идеально. Это для меня.
Аноним 26/10/19 Суб 18:54:51 1505373192
>>1505372
На самом деле сложность армов сильно преувеличена (их только паять неудобно - ног много), а сложность авров сильно преуменьшена (восьмитиный кал vs нормальное железо)
Аноним 26/10/19 Суб 19:02:53 1505378193
>>1505373
>паять неудобно
Вот делать не хуй еще и паять.
Аноним 26/10/19 Суб 19:04:40 1505382194
>>1505373
Это смотря какие армы. ARMv8 с bare metal и до чего-то вменяемого инициализировать очень и очень непросто.
Аноним 26/10/19 Суб 19:05:56 1505384195
>>1505382
Я про те что на stm32. По сравнению с взрослыми компами там только мало оперативки
Аноним 26/10/19 Суб 20:41:33 1505489196
>>1505297
Эта залупа (аддитивные и мультипликативные выражения) введена чтобы избавиться от неоднозначности при парсинге. Пример: без приоритетов операций a+bc парсер может интерпретировать как (a+b)c или a+(b*c). Т.к. Ты скорее всего нюфак, и не собираешься писать парсер с, то вместо "аддитивные/мультипликативные выражения" читай просто "выражения" и не забывай о приоритете операций!
Аноним 26/10/19 Суб 20:44:39 1505492197
>>1505489
Макаба зажевала звёзды a+bxc, (a+b)xc, a+(bxc)
Аноним 27/10/19 Вск 15:59:56 1506175198
Сап, сисы. Ковыряю gdb. Натыкаюсь на функцию scanf() и не знаю, что дальше делать. Выручите, а?
Аноним 27/10/19 Вск 21:00:49 1506994199
>>1506175
Что ковыряяешь-то? Дебажить им пытаешься? Ввести значение, когда дойдёшь до него.
Аноним 27/10/19 Вск 22:24:51 1507068200
>>1506994
просто тестовый код. Компилирую 'gcc -g test.c'
запускаю и такой вывод, когда дохожу до сканфа.

12 scanf("%s", foo);
(gdb)
wabalubadaba

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7a50fdd in _IO_vfscanf_internal (s=<optimized out>,
format=<optimized out>, argptr=argptr@entry=0x7fffffffde40,
errp=errp@entry=0x0) at vfscanf.c:1103
1103 vfscanf.c: Нет такого файла или каталога.
Аноним 27/10/19 Вск 22:33:27 1507077201
>>1507068
Ну очевидно у тебя foo - неинициализированный указатель. Покажи код.
Аноним 27/10/19 Вск 22:37:28 1507082202
>>1507077
int main(/blabla/)
{
char *foo="there is an awesome text\n";
printf("%s", foo);
fflush(stdout);//do not works with stdin
scanf("%s", foo);
return 0;
}
В смысле? То есть, типо лучше писать foo[32], если с указателями на "вы"?
Аноним 27/10/19 Вск 23:26:56 1507105203
Дней без вопроса о различии char* и char[]: 0
Аноним 28/10/19 Пнд 01:58:23 1507140204
>>1507082
Зачем дебилу отладчик, если он не понимает ни что такое память, ни что такое указатели?
Аноним 28/10/19 Пнд 03:44:37 1507158205
>>1507082
> В смысле? То есть, типо лучше писать foo[32], если с указателями на "вы"?
Ну окей, указатель инициализированный, но вот писать туда нельзя, а scanf у тебя пишет. Посмотри в предыдущем треде, вопрос действительно платиновый: >>1494168
Аноним 28/10/19 Пнд 05:15:44 1507170206
>>1507158
>но вот писать туда нельзя
Даже если можно, всё равно нельзя, ведь можно записать больше той строки и получить испорченную память.
Аноним 28/10/19 Пнд 10:45:55 1507230207
>>1507105
Спасибо, знаю, что платина доводит, но ньюфажиков необходимо тыкать в маны и наставлять на путь истинный. Да и мне самому не найс дёргать мудрого анона.
Аноним 28/10/19 Пнд 13:12:34 1507300208
Аноним 28/10/19 Пнд 14:49:09 1507420209
>>1500890 (OP)
Есть библиотека - в .h файле заголовки функций, структуры, переменные и массивы и стоят guard-ы, в .c файле тела функций и подключен .h файл.
1) Как правильно сделать некотоыре функции библиотеки inline-овыми?
2) Как правильно сделать некоторые переменные библиотеки статическими глобальными?
Аноним 28/10/19 Пнд 15:17:12 1507440210
>>1507420
>1) Как правильно сделать некотоыре функции библиотеки inline-овыми?
Никак. Можешь тыкать везде inline (который нихуя не гарантирует) или платформозависимую хуиту вроде inline __attribute__((always_inline)), которая гарантирует инлайн, но скорее всего ты обосрёшься. Поэтому просто забей хуй и оставь это компилятору (если не пишешь под мк с компилятором от дяди васи). А можешь просто ебануть все на препроцессоре, как диды делоли.
>2) Как правильно сделать некоторые переменные библиотеки статическими глобальными?
Никак, правильно только по ебальнику за такое можно получить. Даже если делаешь глобал стейт, то меняй его используя функции (туда хотя бы ассерты можно вставить), компилятор энивэй это всё заинлайнит, а вот ты и все кому этот код достанется ахуеют его дебажить.
Аноним 28/10/19 Пнд 15:19:12 1507442211
>>1507440
>то меняй его
Точнее не только меняй, но и получай (стандартный оопный подход с геттером-сеттером с ассертами на вход-выход), сэкономишь кучу лет жизни.
Аноним 28/10/19 Пнд 17:52:49 1507667212
>>1507440
> платформозависимую хуиту вроде inline __attribute__((always_inline))
Поддерживается чуть менее чем всеми в каком-то виде, поэтому пара #ifdef, и все ок, моя программа уже посчитала, а твоя все еще моет посуду.

> компилятор энивэй это всё заинлайнит,
Только с линк-тайм оптимизациями, которые далеко не все включают.

> Никак, правильно только по ебальнику за такое можно получить
Некоторые переменные можно делать глобальными, надо только заранее подумать о thread safety. Писать геттеры-сеттеры для какого-нибудь void ( ∗debug_writer)(const char ∗format, ...) - признак отсутствия мозга. Глобальный стейт тоже не всегда плохо. Если задача не предполагает наличия нескольких стейтов одновременно, то нехуй и таскать указатель на стейт из функции в функцию, это не дает ничего, кроме проблем и тормозов.
Аноним 28/10/19 Пнд 17:55:43 1507671213
>>1507667
Инлайны компиляторы игнорируют из-за таких как ты
Аноним 28/10/19 Пнд 17:57:27 1507673214
>>1507667
Я суммарно недели три своей жизни потратил, рефакторя код таких глобализаторов
Аноним 28/10/19 Пнд 18:01:37 1507676215
190218120225709[...].jpg (36Кб, 600x400)
600x400
>>1507667
>нюфак на полном серьёзе считает что вызов функции приведёт к тормозам, и глобал стейт через всю программу приведёт к чему-то кроме неуловимых багов
В твоём манямирке наверно ещё всегда тормозит процессор а не память?
Аноним 28/10/19 Пнд 18:10:30 1507681216
>>1507667
>моя программа уже посчитала, а твоя все еще моет посуду.
Ага, а если твой код, раздутый инлайнами без поводов, не полностью влезет в кэш лайн, как думаешь, что произойдёт? Отсос хуя мамкиным оптимизатором.
>Только с линк-тайм оптимизациями, которые далеко не все включают.
Эээ... В релизе включают примерно все. И компиляторы это делали ещё до того, как начали форсить LTO. А если кто-то и не включает — значит, есть на то причина.
>Глобальный стейт тоже не всегда плохо.
Хоть один его плюс приведи (кроме отсутствия необходимости нажимать лишний раз на клавиатуру), лол. Эту хуйню даже протестировать невозможно, не говоря уж о каком-то там тредсэйфети, охлол.
> Писать геттеры-сеттеры для какого-нибудь void ( ∗debug_writer)(const char ∗format, ...)
Ну мы про переменные говорили.
>признак отсутствия мозга
Да нет, признак отсутствия мозга — это перед каждым юзом глобальной переменной тыкать ассерты до и после, чтобы отловить ошибку, когда можно написать этот код 1 раз.
Аноним 28/10/19 Пнд 20:31:17 1507844217
>>1507676
>В твоём манямирке наверно ещё всегда тормозит процессор а не память?
В моем манямирке тормозит и то, и другое. Сброс конвейера и I-cache при вызовах приводит к тормозам. Не всегда, но приводит.

>>1507671
> Инлайны компиляторы игнорируют из-за таких как ты
Наверное именно поэтому каждый компилятор умеет force inline.

>>1507681
> И компиляторы это делали ещё до того, как начали форсить LTO
И через какой астрал они это делали, если функции в разных translation unit-ах? Анон спрашивал именно про этот случай.

> Хоть один его плюс приведи
Меньше аргументов у функции, отсутствие лишних дереференсов.

> тредсэйфети
_Thread_local, при необходимости атомики для синхронизации. Все то же самое тебе понадобится, если ты стейт за собой таскаешь, но хочешь использовать его из разных тредов (например, один менеджит ввод-вывод, а второй обрабатывает данные).

> Ну мы про переменные говорили.
Указатель на функцию - это переменная.

> чтобы отловить ошибку
> протестировать невозможно
Документацию и/или комментарии писать пробовал? Попробуй - понравится. Если в переменную попадает не то, то кто-то это туда положил. Ты можешь отловить статическим анализом некоторые ошибки, ты можешь отловить тестами еще некоторые, ты можешь даже что-то отловить в рантайме ассертами, но если не использовать мозг, в релизе все равно возникнет ситуация, когда оно свалится.
Аноним 28/10/19 Пнд 22:48:20 1507967218
>>1507844
> если функции в разных translation unit-ах?
Функции на пару строк можно и в хедере написать, чем в тех же плюсах всегда и занимались.

>Меньше аргументов у функции, отсутствие лишних дереференсов.
Т.е. ты согласен, что из плюсов — меньше нажатий по клавиатуре?

>Документацию и/или комментарии писать пробовал?
Во всём мире программисты умудряются срать себе в штаны используя подобное уже пол столетия, один ты борщехлёб д'Артаньян, я понял.

>Ты можешь отловить статическим анализом некоторые ошибки
Какие? Неинициализированные переменные? Хотя в лапше с глобалстейтом, гото и прочей чернухой тебе даже в этом никто не поможет.

>ты можешь отловить тестами еще некоторые
Пидоран, как ты будешь писать тесты для либы с глобал стейтом? Тестировать всю либу снаружи? Если либа на 200 строк — то ок, но когда там будет пару десятков мб кода — что такие тесты вообще могут показать? Что у тебя всё ебнулось нахуй от сегфлолта?

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

>но если не использовать мозг
Ну я же говорю — весь мир считает себя дохуя умным, говнокодит и обсирается, один ты не пидорас.
Аноним 28/10/19 Пнд 22:54:33 1507970219
>>1507676
> нюфак не знает про кэширование
Лолд просто, зато боевые картиночки кидает. Стыд.
Аноним 28/10/19 Пнд 22:56:47 1507972220
>>1507967
> Функции на пару строк можно и в хедере написать
Да, именно так правильные инлайн-функции и делают.

> программисты умудряются срать себе в штаны используя подобное уже пол столетия
Современные программисты срут еще больше, используя тесты. То время, которое они могли бы тратить на написание качественного кода, они тратят на написание множества некачественных тестов. Результат очевиден.
Аноним 28/10/19 Пнд 23:10:07 1507980221
А для чего вы Си изучаете без плюсов?
Аноним 28/10/19 Пнд 23:13:50 1507984222
>>1507972
>Результат очевиден.
Результат очевиден именно потому что никто их и не пишет, блядь. Даже доки в гнутом софте найти легче, чем нормальное покрытие тестами хоть где нибудь. Итого — у нас нет недырявого софта, который с каждым апдейтом не разъёбывался бы по новой, от слова совсем.
>То время, которое они могли бы тратить на написание качественного кода
Ещё раз, борщехлёб, код может быть качественным пока его 100 строк и ты пишешь его один. Когда в проекте хотя бы около несколько тысяч строк и несколько голов скота погроммистов — результат очевиден.
Аноним 28/10/19 Пнд 23:15:24 1507985223
>>1507970
>>1507681
>Ага, а если твой код, раздутый инлайнами без поводов, не полностью влезет в кэш лайн, как думаешь, что произойдёт? Отсос хуя мамкиным оптимизатором.
Аноним 29/10/19 Втр 00:12:56 1508029224
>>1507984
Код будет качественным, если его пишут качественно. Если об архитектуре подумали заранее, если программисты знают язык, на котором пишут (особенно актуально для сишки), если предметную область тоже знают. А если не знают, получается хипстерское "ну я не уверен, ошибся ли я в условии for на единицу, напишу-ка я тест". Итого —
> у нас нет недырявого софта
Аноним 29/10/19 Втр 00:29:53 1508036225
>>1508029
Т.е. если у нас нет недырявого софта, и недырявым он получается только если его пишут не хипстеры, то вообще все современные (в смысле, компутерные) технологии написаны хипсторами?
Аноним 29/10/19 Втр 00:36:45 1508041226
>>1508036
Либо всем похуй на безопасность и/или корректность, либо код говно, либо код коммерческий, и нет времени/денег, чтобы писать хорошо. Про сложившуюся практику программирования очень хорошо и с кучей примеров написано тут >>1503464. За прошедшие годы кроме названий технологий ничего особенно не поменялось, а местами стало только хуже.
Аноним 29/10/19 Втр 00:53:54 1508054227
>>1508041
А писать хорошо — это вообще как? Не релизить ПО совсем? Что-то сдаётся мне, что лучше говнокод, чем такие маняпотехи.
Аноним 29/10/19 Втр 02:20:35 1508075228
>>1508054
Это сидеть в кожаном командирском кресле и указывать черни как надо писать код. А если у них получается плохо, значит дураки, нужно было заранее соломку подстелить. Типичный я начальник-орхертехтар, а вы дураки.
Аноним 29/10/19 Втр 11:39:58 1508199229
>>1508075
Насяника-нама, у нас дидлаен истикаит завтра, нихуа ни гатова!
Аноним 29/10/19 Втр 11:43:39 1508201230
Аноним 29/10/19 Втр 12:19:49 1508234231
Анончики, разрешите обратиться с глупым вопросом. Правильно ли я понимаю, что чистый Си -- это язык программирования технобогов. Этот язык широко применяется у таких ребят как: Boeing, Airbus, NASA, SpaceX etc? А значит в него есть смысл вкатываться если нравиться пердолиться с разной техникой. Будь это самолёт или ЧПУ станок Или я всё не так понимаю и для этого надо заходить в асамблеры, ады и прочие фортраны?
Благодарю за ответы, не пинайте сильно. Обнял Си!
Аноним 29/10/19 Втр 12:40:57 1508250232
>>1508234
>Boeing, Airbus, NASA, SpaceX
Только в виде прошивок для embedded.
На ПК у них совсем другие языки используются, высокоуровневые.
Аноним 29/10/19 Втр 13:16:53 1508287233
>>1508250
Подожди Антоша, только не убегай. Прошивки это я так понимаю небольшие проги для конкретного железа так? А как же такие сложные штуки как автопилот, бортовой компьютер и тд? Неужели там используется онли Ada?
С другой стороны читал статьи про стильный, модный, молодёжный F-35, который кодят на C++. А также про разные спутники и марсоходы, которые ебашут по хардкору только на Си.

Но вот что значит на ПК они используют совсем другие языки? Итоговая компиляция всех девайсов? Написание интерфейса или что ещё?

Сори если совсем хуйню несу, но так любопытно это всё. И какое то благоговение ощущаю от тех, кто занимается железным прогингом. Наверное самые благородные погромизды из всех.



Аноним 29/10/19 Втр 17:47:38 1508519234
Пацаны,снова нужна ваша помощь,время горит ,а лаборатоная нужна

https://pastebin.com/5g3F9rvs

Как то нужно реализовать след ход действий над матрицами

C=(B+E)*(A-E)

Умножение уже сделал,не знаю что делать с Единичными матрицами(E)

Хэлп гайз
Аноним 29/10/19 Втр 18:55:07 1508583235
>>1508287
>А также про разные спутники и марсоходы
Там код не намного сложней кофеварки
Аноним 29/10/19 Втр 20:19:51 1508640236
Аноним 29/10/19 Втр 20:22:08 1508643237
>>1508640
>рэп
Сюда ли ты зашел, петушок?
Аноним 29/10/19 Втр 20:33:41 1508648238
>>1508519
>Как то нужно реализовать след ход действий над матрицами
След ход действий? Чего блять? Ты обгашенный нахуй или что? Или просто русский не твой родной? Что за хуйню ты написал?
Аноним 29/10/19 Втр 21:27:39 1508706239
15658056238380.jpg (36Кб, 594x474)
594x474
Аноним 29/10/19 Втр 23:07:34 1508804240
>>1508648
Только один из нас,и это точно не я,додик.Следующий ход действий ,т.е. ,для обделенных разумом , сложение,вычитание,умножение матриц
Аноним 30/10/19 Срд 14:08:17 1509071241
Господа сишники, подскажите, пожалуйста. Нужно запилить преемптивные потоки уровня пользователя (M user-level threads -> N kernel threads, M >> N) для unix-систем (нужно в одном проекте). Видел способ с прерываниями по таймеру и ucontext, но интересно, есть ли еще какие-то способы, и если есть, то насколько они эффективнее/проще/надежнее/e.t.c.
Аноним 30/10/19 Срд 17:35:35 1509214242
Ньюфаг в треде.
А как работает stdio.h? Как он выводит и вводит инфу, если сам язык этого по дефолту не может? Или его написали на каком-то другом языке? Гуглить пробовал, пишут только о том, что этот stdio.h даёт возможность ввода-вывода, но нигде не пишут о том, как он именно работает, то есть что там такого происходит.
Аноним 30/10/19 Срд 17:40:48 1509218243
Аноним 31/10/19 Чтв 02:21:27 1509541244
в иксах (xcb) можно как-нибудь прицепить окно к курсору или нужно самостоятельно его перемещать за курсором? нихуя не гуглится ничего. делаю колорпикер, хочу чтобы окошко с цветом за курсором бегало (в данный момент. потом может лупу попробую сделать).
Аноним 31/10/19 Чтв 03:19:02 1509549245
>>1508804
Наркоман иди проспись.
Аноним 31/10/19 Чтв 04:28:23 1509554246
>>1509214
printf -> __printf -> puts -> _IO_puts -> _IO_sputn -> __xsputn -> _IO_new_file_xsputn -> new_do_write -> __write

Это из gcc
Аноним 31/10/19 Чтв 11:18:43 1509646247
>>1500890 (OP)
Считается ли правилом хорошего тона (и по MISRA C) использовать возвращаемые функции в условиях?
Например, здесь происходит выбор какого-либо действия в зависимости от того, что возвращает функция:
switch ( Function() )
{
    case '1':
    {
        / действие /
        break;
    };
    ...
    default:
    {
        / действие
/
        break;
    };
};

А здесь происходит проверка условия: если функция возвращает 0, действие не выполняется, если 1 - выполняется.
if ( Function() )
{
    / действие /
}
Аноним 31/10/19 Чтв 11:27:48 1509647248
Аноним 31/10/19 Чтв 12:34:21 1509693249
>>1509646
Не запрещается, но стилистически это уровень laba.cpp
Аноним 31/10/19 Чтв 13:45:55 1509760250
Аноним 31/10/19 Чтв 13:55:35 1509769251
>>1509760
Иметь другой доступ к стейту, очевидно. Интерфейс, например.
Аноним 31/10/19 Чтв 15:11:44 1509825252
>>1500890 (OP)
Аноны, такой вопрос. По MISRA C после оператора if, else if обязательно должно быть else, а в теле switch должна стоять заключительная метка default.
А если мне нечего там писать, оставлять пустые скобки под ними? Или обязательно нужно что то написать там, даже если оно не будет иметь смысла?
Аноним 31/10/19 Чтв 16:10:26 1509883253
Аноним 31/10/19 Чтв 16:31:01 1509901254
Аноним 31/10/19 Чтв 17:04:12 1509923255
Антуаны, а зачем нужен Си если есть кресты?
Аноним 31/10/19 Чтв 17:05:54 1509924256
Аноним 31/10/19 Чтв 17:32:54 1509949257
чому.PNG (10Кб, 407x254)
407x254
Чому так странно? Второе я ещё могу понять, может, long double как-то хранится отлично от double, но почему третье так отображается, не понел. GCC
Аноним 31/10/19 Чтв 18:26:10 1509998258
>>1509924
И поэтому везде, где оно нужно (GTK итд), костылят его руками?
Аноним 31/10/19 Чтв 18:32:38 1510001259
>>1509923
Для легаси говна, а так сейчас даже эмбдед пишут на крестах, всё таки без классов программировать хуево.
Аноним 31/10/19 Чтв 19:17:16 1510037260
>>1510001

Ради справедливости, в эмбед-приложениях необходимость в классах не особо велика. Pure С охуенен в своей лаконичности. Для задач типа "считай АЦП - выкинь на дисплей - помигай светодиодом" классы не нужны, хватает структур.
Аноним 31/10/19 Чтв 19:21:28 1510043261
>>1509998
>где оно нужно
Оно нигде не нужно
>GTK
Говно
Аноним 31/10/19 Чтв 19:34:45 1510055262
>>1510037
>Для задач типа "считай АЦП - выкинь на дисплей - помигай светодиодом" классы не нужны, хватает структур.
Где такие задачи есть?
Аноним 31/10/19 Чтв 19:40:15 1510074263
>>1510043
>Говно
Аналоги, карл. В консоли сидишь?
Аноним 31/10/19 Чтв 19:46:29 1510092264
>>1509949
> long double как-то хранится отлично от double
80 или 128 бит в отличие от 64 бит в обычном double. Поэтому для вывода тебе нужно указать правильный тип для printf: %Lf и %Le соответственно.

> почему третье так отображается
Интерпретирует кусок мантиссы long double как double. Получается очень маленькое число (e-185!), поэтому %f округляет его до нуля, а вот %e показывает.
Аноним 31/10/19 Чтв 19:51:25 1510108265
>>1510055
В каждом втором диагностическом медприборе, например. ЭЭГ, ЭКГ, миография, стабилометрия, всякие там биоимпедансы и биопотенциалы.

Забыл еще ключевую фишку, послать данные по UART/USB, это святое, везде нужно. Но это всё содержится в готовых библиотеках, ООП тут не пришей пизде рукав.

Главное чтоб прога была максимально простой и без потенциальных выстрелов в ногу. В контроллере неотслеженный баг может стать бомбой замедленного действия. Пляшем от этого.
Аноним 31/10/19 Чтв 20:28:48 1510170266
Снимок.PNG (5Кб, 245x142)
245x142
>>1510092
Он меня унижает. Lf показывает -0.000000. А ещё я не понимаю, почему он вообще позволяет себе такую дерзость, как -0, ведь там 2's complement в любом случае реализован, скорее всего...
Аноним 31/10/19 Чтв 20:30:43 1510171267
>>1510108
Нас к медприборам не подпускают, только говнобэк писать для сайтов
Аноним 31/10/19 Чтв 20:33:04 1510173268
>>1509646
>А здесь происходит проверка условия: если функция возвращает 0, действие не выполняется, если 1 - выполняется.
А что в этом плохого?
Аноним 31/10/19 Чтв 21:00:41 1510191269
chemical-evolut[...].jpg (80Кб, 1000x616)
1000x616
>>1510171

Каждому своё. Но перескочить еще не поздно, если ты не сорокалетний старпёр. Если интересно - задавай свои ответы.
Аноним 31/10/19 Чтв 22:20:36 1510250270
>>1510191
>задавай свои ответы
Сфотай свою детскую попку?
Аноним 01/11/19 Птн 01:27:09 1510378271
>>1510170
Да ты охуел. Сравни, что у тебя в предыдущем скриншоте, и что в этом! Там у тебя было 0.3L (long double), а тут 0.3 (просто double). Для обычного дабла (и флоата, который до дабла промоутится в функциях с неизвестными типами аргументов) тебе нужно %f, для long double %Lf, неужели так сложно?

> ведь там 2's complement в любом случае реализован
Там всего понемногу. Знак там отдельно и явно, мантисса совсем беззнаковая, а экспонента хранится хоть и без знака, но со смещением формат принципиально ничем от 2's complement не отличается, просто диапазон на положительные и отрицательные разбит не по 0 ("слева" от нуля отрицательные (0000...0001 = 1, 0000...0000 = 0, 1111...1111=-1), а посередине ("слева" от "середины" беззнакового числа отрицательные: 1000...0000 = 1, 0111...1111 = 0, 0111...1110 = -1).
Аноним 01/11/19 Птн 03:26:43 1510406272
Аноним 01/11/19 Птн 03:30:13 1510407273
>>1510406
У тебя шрифт говно, я думал, что там 0.31. Если там L маленькая, то она для спецификаторов плавающей точки игнорируется нахуй, нужно именно большую.
Аноним 01/11/19 Птн 03:31:26 1510408274
>>1510407
Бля, какую-то хуйню написал. Надо спать.
Аноним 01/11/19 Птн 03:47:18 1510409275
lf.png (3Кб, 640x82)
640x82
>>1510170
>>1510406
>>1510408
Короче, я понял. У тебя гцц под виндой. Скажи ему, что у тебя -std=c99 или -std=c11, а то у него по умолчанию -std=gnuчто-то-там, и он в таком режиме не делает костылей вокруг msvcrt, чтобы %Lf работал. Почему именно так - не знаю, и задумываться лень. Спать надо.
Аноним 01/11/19 Птн 05:54:16 1510416276
>>1509541
блядь это говно полностью загружает ядро процессора если двигать окно за курсором, причем если обычное окно двигать руками, то загрузка в 3 раза меньше. как это делается блядь?
Аноним 01/11/19 Птн 10:25:29 1510465277
>>1510191
>Если интересно - задавай свои ответы.
Мимо начинающий embedder, задам пару вопросов по теме, мне интересно.
1) На ассемблере уже больше ничего не пишут, только на си и с++?
2) Используете ли "программистские штучки" в своей работе, вроде гита, гитхаба (системы контроля версий), код ревью и т.д.?
3) Есть ли разделение на джуниоров, миддлов и сеньоров, как в айти?
4) Как делаете тестировку программного обеспечения?
5) Как проходит проверка программного обеспечения на правила MISRA С?
Аноним 01/11/19 Птн 10:34:11 1510471278
>>1510465
Не он но отвечу:
1) ????
2) Да, естественно используем, только это не программистские штучки, и немного не так как коммерческие лохи
3) в некоторых местах уже есть, в телекомах например щас уже почти везде так, в остальных местах Нотация и служебные звания как у заводских работяг ну типа старший инженер пидорасович
4) методами тестирования
5) никак
Аноним 01/11/19 Птн 11:17:34 1510495279
Визуал студия постоянно фыркает на функции вроде memcpy(), fopen(), strcpy() и т. п., навязывает версии с суффиксом _s.
_s-версии - они стандартные или только микрософт?
Аноним 01/11/19 Птн 11:59:41 1510520280
>>1500890 (OP)
Раз тут тред про CLang, анон, поясни как скомпилировать эти файлы https://github.com/Wind4/vlmcsd с "языка шланг" в exe - gcc-компилятором.
Аноним 01/11/19 Птн 12:43:23 1510535281
>>1510495
>_s-версии
>только микрософт

>>1510520
Устанавливаешь cygwin (или что там сейчас ходовое на шинде), качаешь исходники, заходишь в консольке по адресу исходников и запускаешь gmake (блядь, каким же надо быть пидорасом, чтобы в 2020 использовать make, и не просто make а, блядьб, требовать gmake).
Аноним 01/11/19 Птн 13:10:57 1510550282
Аноним 01/11/19 Птн 13:47:33 1510571283
>>1510535
Пффф, этот кинкгвин хуй поставишь на XP. Не уже-ли без кигвина нельзя сбилдить шланг в win32 exe?
Аноним 01/11/19 Птн 13:57:21 1510579284
>>1510535
О! У меня есть MinGW на XP. Можно как-то ним шланг сбилдить?
Аноним 01/11/19 Птн 14:26:14 1510605285
>>1510579
Я билдил ллвм и шланг под хп. А че, бинарный не работает?
Аноним 01/11/19 Птн 14:30:34 1510609286
>>1510409
Понял, благодарочка от души спасибо браток
Аноним 01/11/19 Птн 14:35:35 1510615287
>>1510605
В том то и дело, что работает, но только на XP.
На win8.1 не хочет пахать.
Вот я и хочу поколупаться в коде, может чё дописат надо чтоб робило. Но для начала надо сбилдить. Где этот gmake в mingw?
Вижу только make, только он чуток другой там - mingw32-make.
Аноним 01/11/19 Птн 15:01:49 1510639288
Анон, что скажешь по поводу серии книг Антона Столярова «Программирование: введение в профессию»?
http://stolyarov.info/books/programming_intro

Вкатываюсь в C со второй попытки, сначала курил K&R, потом поступил на бассейн школы 21, в итоге слил большую часть заданий, потому что начал баловаться хаками типа while(*p++) не догнал про отличие между массивами и указателями на массив, и вообще передачу значений функциям обращался к Richard M. Reese "Understanding and Using C Pointers. Core Techniques for Memory Management", но времени на спокойное ботанье было мало, не взяли по итогам. Интерес немного поугас, поботал C#, и стало тоскливо.

Наткнулся на Столярова и снова начал ботать пошло очень бодро, действительно чётко объясняется про работу с указателями, понял как работают заголовки, линке. В целом аргументированно поясняет за плохой, хороший стиль, за Unix. Как по мне книжки лёгкие с юмором, только часть с командами на i386 занудная.

Кто ещё интересовался проектом?
Аноним 01/11/19 Птн 15:48:03 1510668289
>>1507420
>2) Как правильно сделать некоторые переменные библиотеки статическими глобальными?
Разобрался. Их нужно перенести из хеадера в начало с-файла перед функциями, в которых они используются, и добавить перед каждой из них static.
Тоже самое делается с функциями - из .h файла убираются декларации функций, которые мы хотим сделать статическими, а в .с файле перед функциями нужно поставить static, и ещё inline можно поставить до кучи, если надо(static inline).
Аноним 01/11/19 Птн 15:54:39 1510676290
>>1510668
Таким образом в .h файле у нас "интерфейс" библиотеки - внешние функции(заголовки) и глобальные переменные, а в .c файле "начинка" - внутренние функции и переменные, видимые только в этом файле(и тела функций, объявленных в .h файле).
Аноним 01/11/19 Птн 16:09:37 1510696291
>>1510639
>while(*p++)
Для ньюфага это нормально. Не понятно только почему ты думаешь, что такая фигня могла тебе что-то завалить.
Чё за бассейн школы? К и Р кстати не читай это залупа, Оно в шапке только из-за эстетики. Читай две другие книги из оппоста. А ваще читай Страуструпа как нормальный человек, а к этому треду вернёшься позже
Аноним 01/11/19 Птн 19:30:46 1510857292
Снимок экрана 2[...].png (26Кб, 752x235)
752x235
Чё делает эта функция? Откуда индексы у inA и inB, если это просто числа (флоты)?
Аноним 01/11/19 Птн 19:47:29 1510875293
>>1510857
Это указатели, а не просто числа. Что функция делает, понятно из названия.
Аноним 01/11/19 Птн 19:51:40 1510877294
>>1510875
А можешь написать код, как её вызвать, позязюста
Аноним 01/11/19 Птн 20:36:23 1510912295
>>1510877
Конечно братишка держи
...
add_arrays (•one, •two, •anus, length);
...
Аноним 01/11/19 Птн 20:37:47 1510914296
Аноним 01/11/19 Птн 20:44:30 1510921297
Снимок экрана 2[...].png (20Кб, 404x224)
404x224
>>1510912
Я уже сам написал с моим хуёвым знанием си. Непонятно только почему мы в функцию передаём не указатели на переменные, а сами переменные
Аноним 01/11/19 Птн 20:52:35 1510930298
>>1510921
Массивы это указатели.
Аноним 01/11/19 Птн 20:59:27 1510938299
>>1510930
То есть указатель на float это всегда массив? И поэтому компилятор не ругается и даёт взять индекс у этого указателя?
Аноним 01/11/19 Птн 21:03:50 1510941300
>>1510938
Нет, в переменной массива хранится только адрес первого элемента.
Аноним 01/11/19 Птн 21:04:23 1510942301
>>1510938
yoba и &yoba[0] это одно и тоже, потому что yoba[a] это по определению *(yoba+a), если подставить получишь &•(yoba+0) или yoba.
Но массивы это не указатели. У них как минимум sizeof разный.
Аноним 01/11/19 Птн 21:10:13 1510951302
Аноним 01/11/19 Птн 21:15:17 1510957303
>>1510941
Опять ньюфажеская платина.
int i = 1;
int y[] = {2,3};
Что хранится в первой переменной? Что хранится во второй переменной? Адрес первого элемента? А вот и нихуя.
Аноним 01/11/19 Птн 21:19:47 1510969304
>>1510495
> _s-версии - они стандартные или только микрософт
Да, они типа стандартные (C11, Annex K), но это приложение необязательное и смысла в нем мало, поэтому кроме MS его никто не хочет реализовывать. Но вот фыркает она совершенно зря, поэтому затни ее нахуй -D_CRT_SECURE_NO_WARNINGS и не обращай внимания.
Аноним 01/11/19 Птн 21:23:58 1510973305
>>1510957
В чёи разница между
int y[] = {2,3};
и
int y[2] = {2,3};
Аноним 01/11/19 Птн 21:33:59 1510981306
>>1510973
Ни в чем, в первом случае циферка в [] посчитается автоматически, в зависимости от количества инициализаторов. Сравни с: int x[] = {2, 3}; int y[1000] = {2, 3} и int x[] = {1, 2, 3}; int y[2] = {2, 3}.
Аноним 01/11/19 Птн 21:39:33 1510992307
Снимок экрана 2[...].png (32Кб, 458x335)
458x335
>>1510981
А вот на стекоферфлоф попалась такая еботня
А
void bubble(int array[], int size) {}
это тоже самое что
void bubble(float *array, int size) {}
?
Аноним 01/11/19 Птн 21:43:43 1510997308
>>1510992
фикс там инт во второй декларации
Аноним 01/11/19 Птн 21:55:30 1511004309
>>1510992
Когда параметры - да, то же самое
Аноним 01/11/19 Птн 23:30:05 1511060310
>>1510992
Скоро у всех будет пригорать, потому что для упрощения статического анализа в C21 обдумывают возможность притащить VLA в стандартную библиотеку и для новых функций делать сигнатуры вида int foo(int num, int array[num]). Это квинтэссенция языка: тут и массивы переменной длины, и преобразование массива в указатель в аргументах, и порядок аргументов изменен с логичного на обратный в угоду кривому синтаксису.
Аноним 01/11/19 Птн 23:34:53 1511065311
>>1511060
> int foo(int num, int array[num])
ты долбоеб? это говно еще с C99 есть
Аноним 02/11/19 Суб 00:10:26 1511095312
>>1511065
Ты читать умеешь? Оно есть, но в стандартной библиотеке функций типа memset(size_t length, char mem[length], int c) пока нету.
Аноним 02/11/19 Суб 09:26:00 1511185313
0CTH5ZSnL7E27GU[...].jpeg (152Кб, 1024x681)
1024x681
>>1510465
Атвичаю.

1) Пишем на Си. В ассемблер изредка лезем в ознакомительных целях и в процессе отладки, тупо посмотреть, где какой регистр перещелкивается.

2) Используем гит и гитхаб. Код ревью есть в виде "эй, Уася, пусти меня за комп, я твой код погляжу" со стороны старшего программиста.

3) Чёткого разделения нет. Но есть градация по уровню ответственности, как бы сказать, по твоей значимости для проекта. Кто-то пишет ядро, кто-то дописывает мелкую периферию. Со временем ты прокачиваешь квалификацию, берешь на себя всё больше и становишься главнее.

4) Тестировку делаем путем прошивки в макетный образец и проверки жизнеспособности прибора. Отдельных виртуальных тестов нет.

5) Никак, даже не знаю что это.
Аноним 02/11/19 Суб 10:38:03 1511201314
>>1511185
>Используем гит и гитхаб
>"эй, Уася, пусти меня за комп, я твой код погляжу" со стороны старшего программиста.
Старшего программиста еще не обучили смотреть коммиты в гитхабе?
Аноним 02/11/19 Суб 18:13:08 1511470315
Аноны, я тут очередь пытаюсь реализовать очередь с проверкой опустошения/переполнения, в которую один поток будеть все "пушить", а пара других потоков - забирать.
https://pastebin.com/dnq12VpU
тут возможны не относящиеся к вопросу проебы - просьба не обращать внимания
Согласно документации, pthread_cond_signal отличается от pthread_cond_broadcast тем, что разблокирует at least один поток, висящий на pthread_cond_wait. Моя же логика предполагает, чтоб ровно отцеплялся exactly один поток. Как это сделать, суканахуйблджад?!?!!
Аноним 02/11/19 Суб 18:22:31 1511477316
bump
Аноним 02/11/19 Суб 22:37:54 1511649317
>>1511470
Хм, у меня в glibc-doc написано:
> pthread_cond_signal restarts one of the threads that are waiting on the condition variable cond. If no threads are waiting on cond, nothing happens. If several threads are waiting on cond, exactly one is restarted, but it is not specified which.

А вообще, если не просто glibc, а какой-то POSIX-дроч, то я, честно говоря, нихуя не понял в твоём коде, хотя я немного нетрезв.
_add and _remove()...
Оба берут мьютекс. Я так понял, мьютексв структуре это типа объект для защиты структуры от конкурентного изменения, самый такой общий мьютех.
Ты в обеих функциях его берёшь, а внутри кидаешь сигналы по поводу признаков пустоты, полноты. В области, заблокированной этим мьютексом?
У тебя и ждёт, и кидает в этой области, но в ней может быть один, или че? Не поня...
pthread_mutex_lock(this->mutex); // Чтобы никто не вошёл...
if QUEUE_EMPTY(this) pthread_cond_wait(&this->empty, &this->mutex); // Жаль, что никто не кинет, потому что не войдёт?!
Аноним 03/11/19 Вск 02:27:26 1511737318
>>1511649
pthread_cond_wait сама разблокирует мютекс и блокирует обратно. Если бы это делалось руками, не исключен случай, что как раз между pthread_mutex_unlock и pthread_cond_wait другой поток сделал бы pthread_mutex_lock и pthread_cond_signal.
Аноним 03/11/19 Вск 02:39:36 1511743319
image.png (145Кб, 1905x830)
1905x830
>>1511649
Ну охуеть теперь. Короче, суммарно количество возвратов pthread_cond_wait равно количеству вызовов pthread_cond_signal, но в отдельный момент времени может перекосить. По ходу, надо оставлять такой запас до переполнения, сколько ядер процессора, и все будет ок. Главное, что эти фейлы не аккумулируются.
Аноним 03/11/19 Вск 04:07:25 1511767320
>>1511743
Спасибо за пик, глаза успешно вытекли. Ну ты и мразь это просто пиздец
Аноним 03/11/19 Вск 12:30:59 1511901321
>>1511767
Чем тебе зеленый не нравится?
Аноним 03/11/19 Вск 14:11:05 1511990322
>>1511901
Своим глазкам такой же вопрос задай, шизло.
Аноним 03/11/19 Вск 15:32:23 1512059323
Аноним 03/11/19 Вск 15:34:05 1512060324
>>1511990
Я просто к зеленому привык, потому что обычно на ЭЛТ сижу, а там желательно, чтоб только один канал горел из RGB при отображении высокодетализированной монохромной графики (несведение).
Аноним 03/11/19 Вск 15:39:46 1512063325
>>1512060
Ты случайно православный компилятор на кирилице не пишешь?
Аноним 03/11/19 Вск 15:47:11 1512070326
>>1512063
Нет, я просто очередная тупая вниманиеблядь.
Аноним 03/11/19 Вск 15:56:57 1512087327
Посоветуйте IDE на Убунту
Аноним 03/11/19 Вск 15:59:03 1512095328
Аноним 03/11/19 Вск 16:20:12 1512128329
>>1512087
CLion
QtCreator
VSCode с плагинами
Аноним 03/11/19 Вск 16:22:37 1512132330
Что нужно знать, чтобы работу на сях найти?
Аноним 03/11/19 Вск 16:26:55 1512139331
>>1512132
В схемотехнике, основах цифровой и радио электронике, микроконтроллерах понимать
Аноним 03/11/19 Вск 16:27:32 1512141332
>>1512139
>электронике
электроники
Аноним 03/11/19 Вск 16:32:30 1512151333
>>1512132
Ну или линупс кернелл.
Аноним 03/11/19 Вск 16:44:01 1512163334
>>1512151
Работа линукс систем кернел анус девелопером имеется вообще или это только для бородатой илиты?
Аноним 03/11/19 Вск 17:32:31 1512210335
>>1512063
удобства макросами делаю, но без извращений
>>1512070
ой, иди нахуй, няш
Аноним 03/11/19 Вск 19:44:29 1512282336
>>1512163
Сейчас продвигается импортозамещение, в ближайшие 1.5-2 года появится пара контор(одна, кстати, уже собирается внутри Я), занимающихся православным линуксом для государства, присасывайся и получай лидерские должности пока не поздно.
Аноним 04/11/19 Пнд 01:27:32 1512560337
Драсте. Как мне получить строку, в случайных местах разделенную пробелами и символами переноса строки? Символ окончания eof
Аноним 04/11/19 Пнд 01:29:49 1512562338
Аноним 04/11/19 Пнд 01:32:01 1512563339
>>1512562
Всмысле считать с консоли. Стандатрный ввод
Аноним 04/11/19 Пнд 01:44:43 1512567340
>>1512560
int len = 0;
while ((c = getchar()) != EOF) mybuffer[len++] = c;
mybuffer[len] = '\0';
Аноним 04/11/19 Пнд 01:53:19 1512571341
>>1512567
Спасибо. Завтра попробую
Аноним 04/11/19 Пнд 04:22:20 1512631342
>>1512560
Я тебе там в плюсовом треде писал.
Ты делаешь тестовое для собеседования, что ли?
Аноним 04/11/19 Пнд 09:56:48 1512701343
>>1512631
Олимпиаду пишу))) Она какая то нереальная. Там одно из заданий узнать какой текст в картинке зашифрован. Мне даже в асм треде не смогли помочь
Аноним 04/11/19 Пнд 10:05:57 1512707344
>>1512701
Очень похожа просто формулировка на тестовое в одну из контор в моем городе.

Там просто "найдите текст" и никаких подсказок?
Мусорные биты паддинга смотрел?
Аноним 04/11/19 Пнд 10:19:28 1512713345
>>1512707
Найти текст это просто подготовка. Основное задание дальше. Второй вопрос не понял
Аноним 04/11/19 Пнд 10:31:52 1512721346
printf пробелами что ли разделяет вывод?
Аноним 04/11/19 Пнд 10:43:09 1512725347
изображение.png (88Кб, 1366x768)
1366x768
Аноним 04/11/19 Пнд 13:58:29 1512852348
Объясните дауну, почему когда я инициализирую массив

float array[10] = {};

И потом заполняю его

array[0]=5;
array[1]=34;
array[2]=79;

Он заполняет оставшиеся пустые элементы последним записанным значением,то есть вот так

{5, 34, 79, 79, 79, 79, 79, 79, 79, 79}
Аноним 04/11/19 Пнд 14:14:38 1512867349
>>1512852
Юзай memset и почитай ещё про указатели
Аноним 04/11/19 Пнд 18:00:21 1513110350
>>1500890 (OP)
Доброго всем дня, есть вопрос - нужно будет учить Ардуино и учить на нем писать малолетних дебичей. Ранее освоил такое недоразумение, как RobotC для Ev3. Какие гайды посоветуете курить?
Аноним 04/11/19 Пнд 18:41:48 1513156351
>>1512852
> почему когда я инициализирую массив
> float array[10] = {};
Он заполняется нулями.

> Он заполняет оставшиеся пустые элементы последним записанным значением
Это не он, это ты. Ищи у себя баг при выводе, например.
Аноним 04/11/19 Пнд 20:26:45 1513254352
>>1513110
>Какие гайды посоветуете курить?
Пердуино для Чайников, тысячи их
Аноним 04/11/19 Пнд 20:32:11 1513258353
>>1513254
>Пердуино для Чайников
все настолько просто?
Аноним 04/11/19 Пнд 20:40:17 1513262354
>>1513258
Только не говори, что ты пробовал подбирать литературу
Аноним 05/11/19 Втр 02:30:44 1513484355
1572910219183.jpg (64Кб, 500x449)
500x449
Ну что, пердолики? Всё пердолитесь? Консолечкой в срачельничек балуетесь?
Аноним 05/11/19 Втр 02:54:49 1513488356
>>1513484
Конпеляция завершена, подожди гноме поставлю отпишу
Аноним 05/11/19 Втр 07:18:57 1513537357
>>1513258
У тупых всегда всё просто, потому что ничего не делают.
Аноним 05/11/19 Втр 13:34:18 1513724358
>>1500890 (OP)
Так чё, как сконпелировать шланг на XP без пердолинга? Хуле cygwin 40 гигов на диске сожрал? Мне ж под прон уже не осталось.
Аноним 05/11/19 Втр 13:42:20 1513729359
Жизнь заставила ознакомится с С, после одноги из смузихлёбных языков. Оказывается у C вполне современный синтаксис, который позволяет делать вещи типа
int z = 10;
while ((c = getchar()) != EOF ) {};
В связи с этим два вопроса
Почему считатеся что у C доисторический ситнаксис? И когда уберут семиколонс вконце строки?
Аноним 05/11/19 Втр 13:48:19 1513735360
>>1513729
Без семиколона будет питухон.
Аноним 05/11/19 Втр 14:24:57 1513756361
>>1513729
Хуй знает что за смузихлебный язык был до, если ты в С видишь современный синтаксис, лол.
Аноним 05/11/19 Втр 14:42:12 1513774362
>>1513729
>И когда уберут семиколонс вконце строки?
Он не в конце строки.
Аноним 05/11/19 Втр 15:17:24 1513808363
изображение.png (5Кб, 575x146)
575x146
изображение.png (63Кб, 1176x760)
1176x760
>>1500890 (OP)
Нужна библиотека MPI, что-то не могу найти её в MinGW, кто-нибудь знает где её можно взять?
Аноним 05/11/19 Втр 16:29:25 1513863364
>>1513735
Ну так ни го ни свифт питухоном не назовёшь.
Аноним 05/11/19 Втр 16:34:17 1513867365
Аноним 05/11/19 Втр 16:50:52 1513880366
>>1513863
Не знаю что там в го и свифте, но в конпеляторах сишки по семиколонам шаги лексического анализатора завязаны
Аноним 05/11/19 Втр 17:06:47 1513890367
>>1513880
Вот это я понимаю отмазка.
Аноним 05/11/19 Втр 17:40:12 1513912368
>>1513890
Ахуеть ну вон в питухоне лексический анализ по эскейпам и табуляции, тебе в любом случае придется чем-то эти семиколоны заменить
Аноним 05/11/19 Втр 17:44:25 1513914369
>>1513912
Зачем их заменять, если просто можно добавить вариант с \n, оставив семиколон для однострочных высреров и обратной совместимости, поехавший? При чём тут табуляции? Про фигурные скобри речи не шло.
Аноним 05/11/19 Втр 19:06:43 1513963370
>>1513735
Да зачем я вообще учил этот питон? Думал что пригодится для нейронок, лучше бы заместо учил бы Си и сейчас бы не сидел над ним.
05/11/19 Втр 19:47:22 1513985371
>>1513914
int a = foo()
+ bar()
+ baz();
Давай, добавь сюда \n, оставив ; для обратной совместимости. Школьник не знает, сколько крови ASI (automatic semicolon insertion) выпило людям в жс.
Аноним 05/11/19 Втр 20:55:07 1514025372
>>1513985
>Школьник не знает, сколько крови ASI (automatic semicolon insertion) выпило людям в жс.
А нешкольник, видимо, ни разу в жизни не писал конпеляторы. Блядь, эту хуйню любой парсер, имеющий представление о приоритетах операторов распарсит тебе это говно, жс макаки либо не осилили алгоритм Пратта (лол), либо там как обычно какая-то неисправимая прослойка легаси говна (скорее всего).

https://ideone.com/sdmom6 — сложна
Аноним 05/11/19 Втр 20:57:19 1514027373
>>1513729
>И когда уберут семиколонс вконце строки?
В твоем примере он не нужен, ну или {} не нужны если оставишь ; Не уберут никогда, это разделитель, поскольку стилистику как в питухоне никто не навязываешь, можешь все одной строкой перемогать.
Аноним 05/11/19 Втр 21:00:06 1514029374
>>1514025
>о приоритетах операторов
Кокие на хуй приоритеты, препроцесор заменяет новую строку, табы и прочую залупу на пробел и все. Че там ЖС макакам не нравится, не понимаю.
Аноним 05/11/19 Втр 21:13:36 1514046375
>>1514029
>Кокие на хуй приоритеты
https://en.wikipedia.org/wiki/Pratt_parser
>ебучий додик даже не в курсе как парсятся выражения

>препроцесор заменяет новую строку, табы и прочую залупу на пробел и все
Ну так даже лучше, меньше еботы лексеру, лол. Перейди по ссылочке, потыкай алгоритм, ахуеешь, до чего технологии дошли.
Аноним 05/11/19 Втр 21:18:30 1514050376
>>1514025
Твой пример по ссылке наглядно показывает почему точки с запятой нужны - глазам проще отделять стейтменты от форматирования
Их отсутствие это понты ради понтов
Аноним 05/11/19 Втр 21:22:05 1514054377
>>1514050
>глазам проще отделять стейтменты от форматирования
В ванлайнерах — да.
В нормальном коде — нет, это рудимент, примерно как хвост у людей, лол.
05/11/19 Втр 21:42:55 1514081378
>>1514025
> распарсит тебе это говно
Ты рано начал о компиляторах думать, сам сначала распарси. Это одно выражение или три отдельных?
Аноним 05/11/19 Втр 21:47:47 1514095379
>>1514046
>потыкай алгоритм
Мамку твою потыкал,
>меньше еботы лексеру
Твой лексер здесь нахуй нинужон
Аноним 05/11/19 Втр 21:53:18 1514103380
>>1514095
>Мамку твою потыкал,
Деда твоего потыкал.
>Твой лексер здесь нахуй нинужон
В функции main() все пиши, как gnuтые диды зовещале.

>>1514081
>Ты рано начал о компиляторах думать
Ну ты о них вообще не думаешь, просто хуйню срёшь, не понимая о чём срёшь.
> Это одно выражение или три отдельных?
Это одно бинарное выражение с ещё одним вложенным бинарным выражением.
05/11/19 Втр 22:11:03 1514127381
>>1514103
> Это одно бинарное выражение с ещё одним вложенным бинарным выражением
Так вот это три отдельных выражения: перед вызовами bar() и baz() стоит унарный плюс, мне так захотелось. Только наличие или отсутствие точки с запятой отличает
a() + b() + c() от a(); +b(); +c(); Если в Си притащить \n как разделитель, подобные неоднозначности полезут отовсюду. Или это будет уже другой язык с другим синтаксисом, не совместимый с существующим кодом, такой Си никому не нужен. А теперь иди нахуй. Если нравится питон - пиши на питоне, в обратную сторону совместимость с ; как раз отлично работает.
Аноним 05/11/19 Втр 22:31:52 1514141382
Screenshot 2019[...].png (1246Кб, 1634x1184)
1634x1184
4e880c97054586e[...].jpg (117Кб, 807x481)
807x481
>>1514127
>это три отдельных выражения
>мне так захотелось
>подобные неоднозначности полезут отовсюду
Дружочек, ты хоть сам-то понимаешь, как ты только что жидко сиранул себе в штаны?
Аноним 05/11/19 Втр 22:34:32 1514145383
>>1514127
>Если в Си притащить \n как разделитель
>А теперь иди нахуй
Падажи, дай я его еще абасу
Аноним 05/11/19 Втр 22:35:38 1514146384
>>1513729
>семиколонс вконце строки
трагически погибни
05/11/19 Втр 22:38:03 1514149385
>>1514141
Мы разговариваем не о том, как сейчас, а о том, что было бы, если бы выражения разделялись еще и \n. Ты правда настолько тупой?
Аноним 05/11/19 Втр 22:38:52 1514150386
>>1500890 (OP)
Мне кажется тут у нас школохрюн завелся, который постоянно всплывает с ахуительными предложениями
Аноним 05/11/19 Втр 22:39:58 1514151387
>>1514149
Да нет, ты просто тупой долбоёб который даже не представляет как работает парсер, и воюет с мельницами.
05/11/19 Втр 22:42:11 1514153388
>>1514151
Да мне похуй, как работает твой вымышленный парсер, он уже обосрался.
Аноним 05/11/19 Втр 22:44:50 1514155389
Аноним 05/11/19 Втр 22:46:19 1514159390
>>1514153
На чём? На том, что в твоёи манямирке парсеры не могут посмотреть следующий символ? У тебя вся аргументация уровня "мни так зохотилось", не понимаю, почему ты продолжаешь срать.
05/11/19 Втр 23:11:55 1514189391
>>1514159
Парсер может. Но текущая грамматика Си позволяет мне использовать унарные операторы, и это означает, что твой парсер сломает существующий код в любом случае, потому что в существующем коде могут встретиться оба варианта: и строки с унарными операторами, и выражения с бинарными операторами, разбитые на несколько строк. Не нравится пример с унарным плюсом? Он слишком надуманный, хотя и может быть сгенерирован каким-нибудь макросом? Вот тебе другой код:
void foo(int x) {
if (x)
return
bar(x);
}
Ты притащил \n в дополнение к точке с запятой, твой компилятор видит этот код. Дальше что? Когда вызывать bar(): при ненулевом x или наоборот при нулевом? Опять-таки, ты можешь как угодно определить новую грамматику, новый парсер, но в одном из двух вариантов ты сломаешь существующий код, а
> не совместимый с существующим кодом, такой Си никому не нужен
Аноним 05/11/19 Втр 23:18:21 1514198392
>>1514189
Подожди, сейчас этот необучаемый кукарекнет, что нехуй так писать. После всего вышенасранного ты все еще надеешься, что это шизло поймет абстракцию и предположит на месте bar какой-то длинное выражение? Анончики, давайте дружно не будем кормить залетного гормона стресса.
Аноним 05/11/19 Втр 23:25:03 1514208393
>>1514189
Поделись лучше лайфхаком, как в VIM одним чихом делать красивые колоночки бэкслешей справа (многострочные дефайны).
выстрел на удачу - вдруг сталкивался
Аноним 05/11/19 Втр 23:37:46 1514220394
>>1514189
О, наконец-то ты нормальный пример притащил! Через 2 часа срачей.
> Опять-таки, ты можешь как угодно определить новую грамматику, новый парсер, но в одном из двух вариантов ты сломаешь существующий код
Есть ещё третий вариант, который ты пропустил: добавить ещё один этап компиляции (читай — промежуточное представление), в котором уже будут выведены все типы и можно будет резолвить подобные конфликты. Так, собственно, работают все языки с полноценным выводом типов (где они выводятся даже на уровне аргументов функций) и кучей синтаксического сахара (окамл, скала, хаскелл итд). Для избавления от ; это дохуя оверкилл, но если думать о другом сахаре — заебись идея, имхо. Как плюсы, но без кучи говна.
Аноним 05/11/19 Втр 23:38:25 1514221395
142157609317354[...].png (461Кб, 598x544)
598x544
>>1514198
Найс додик загорелся и горит.
Аноним 06/11/19 Срд 00:22:17 1514255396
>>1514220
#include<strio.h>

int mian*() {

prntf("Hllo Wolrd!);
}
Аноним 06/11/19 Срд 14:41:04 1514551397
Посоны, как в Linux узнать, сколько реальных процессоров? sysconf(_SC_NPROCESSORS_ONLN) считает виртуальные...
Аноним 06/11/19 Срд 15:18:16 1514578398
image.png (22Кб, 488x267)
488x267
>>1514551
ебал всех в рот, пусть прога как человек смотрит
Аноним 06/11/19 Срд 16:12:49 1514630399
Аноним 06/11/19 Срд 16:14:25 1514632400
>>1514551
что значит реальные и виртуальные процессы?
Аноним 06/11/19 Срд 16:17:03 1514634401
>>1514632
Думаю, он имел в виду под реальными число физ. ядер, а под виртуальными SMT или что-нибудь ещё...
Хелп Аноним 06/11/19 Срд 16:53:20 1514668402
image.jpg (2299Кб, 4032x3024)
4032x3024
Есть лаба по сишнику, в stm32f769 записать программу на атолике, чтобы по нажатию поочередно включились светодиоды
Аноним 06/11/19 Срд 19:21:23 1514762403
>>1514668
Круто, я ток с F1XX работал!
Аноним 06/11/19 Срд 19:33:52 1514775404
>>1514668
1. Генерируешь проект в КУБЕ.

2. Берешь и мигаешь.

GPIOA->BSRR |= GPIO_BSRR_BS1;
GPIOA->BSRR |= GPIO_BSRR_BR1;
Аноним 06/11/19 Срд 20:31:52 1514909405
Аноним 06/11/19 Срд 22:07:10 1514956406
>>1514630
Гиперпоточность Intel всего лишь позволяют делать вдвое меньше медленных переключений контекста между сотнями процессов ОС - каждое ядро без задержек крутит барабан между двумя потоками, отдавая им по полмощности. Я же распараллеливаю не ради логики, а ради производительности, и при кол-ве потоков равном числу физ.ядер уже выжимаю всю мощь, а дальше только проигрываю из-за мютексов-хуютексов. В теории возможны неточности, но я затестил, и все подтвердилось.
>>1514632
процессОРЫ
Аноним 06/11/19 Срд 22:09:55 1514957407
>>1514634
Ядра же не делятся на труъ и не-труъ. Просто каждое труъ-ядро может косплеить два не-труъ-ядра.
Аноним 06/11/19 Срд 22:16:49 1514961408
>>1514630
Ой, я не сразу толком воспринял твой ответ. Пересмотрел ссылку и увидел про libcpuid. Спасибо, анон.
Аноним 06/11/19 Срд 22:32:18 1514963409
>>1513110
>Ардуино
Туда ли ты зашёл? Тебе в С++ тред(или в /ra/).
Аноним 06/11/19 Срд 23:09:22 1514991410
>>1514963
Так это библиотека си-подобная, потому и завернул уточнить.
Аноним 06/11/19 Срд 23:10:17 1514993411
>>1514963
Но за подсказку где искать больше инфы спасибо, пополыл в тред по пердуино в ра.
Аноним 07/11/19 Чтв 09:15:29 1515180412
посогитк разобраться с атрибутом const
Есть функция
void copy(char to[], char from[]) {
int i;
i = 0;
while ((to = from) != '\0') {
i = i + 1;
}
}
IDE говорит
Pointer parameter 'from' can be pointer to const. Щито это такое то, я думал это только в С++ есть
Аноним 07/11/19 Чтв 09:21:12 1515181413
>>1515180
Сделай to = from
Объяснять про что говорит иде думаю тебе бессмыслено.

Аноним 07/11/19 Чтв 09:25:03 1515183414
>>1515181
там
> while (( to[ i ] = from [ i ] ) != '\0')
тоже фигня какая то, что именно тестируется?
Аноним 07/11/19 Чтв 10:14:58 1515210415
>>1515183
А, это абу скобки съел.
Вощем переименуй файл из .cpp в .c чтобы иде знал что это си, или сделай != 0
Тестируется окончание строки нулем.
Аноним 07/11/19 Чтв 10:33:02 1515216416
>>1515180
Если ты сделаешь copy("yoba", "peka") твоя программа упадёт потому что йоба это константа даже если язык считает что это char*
Аноним 07/11/19 Чтв 11:06:41 1515230417
>>1515216
>даже если язык считает что это char*
Что значит "даже если считает", константа и есть char★, только эта память рид-оунли, писать нельзя. Просто компилятор не отлавливает этот момент, поэтому программа падает не на этапе компиляции, а во время работы в момент неправильного обращения к памяти.
Аноним 07/11/19 Чтв 11:21:24 1515241418
>>1515230
Сам тип не обязательно константа
char yoba[] = "sdsadsd";
char* peka = yoba;
Аноним 07/11/19 Чтв 14:13:41 1515358419
Аноним 07/11/19 Чтв 14:31:15 1515377420
Зачем нужна ридонли память? Для констант? Зачем?
Аноним 07/11/19 Чтв 14:33:44 1515378421
Аноним 07/11/19 Чтв 14:53:56 1515394422
>>1514957
Как таковые отдельные - да, но если одно не-труъ загружено, то некоторые >>1514956 не хотят использовать ещё одно не-труъ.
>>1514956
Ты точно туда ответил?
> В теории возможны неточности
Это точно.
>>1514961
Есть либкпуид, а зачем тебе он?
Там есть ответ с inline assembly, инструкцией CPUID, угу... В теории, самый быстрый способ
Аноним 07/11/19 Чтв 14:55:23 1515395423
>>1515377
Ты бы лучше спросил, зачем нужна исполняемая.
Для безопасности W^X
Аноним 07/11/19 Чтв 15:09:19 1515413424
Как правильно сделать дебаг в крестах/сишке? Хочу что-то типа такого

#define debug_enabled 0
void debug(char line[]) {
if (debug_enabled) {
std::cout << line << std::endl;
}
}

gcc -Ddebug_enabled=1 main.cpp
Аноним 07/11/19 Чтв 15:14:35 1515418425
>>1515413
Ну я лично делаю так:
В коде #ifdef _DEBUG
/ Debugging code*
#endif
gcc -D_DEBUG
А если и нет дебага, то не дефайню.
Зачем тебе значения типа true, false?
Да и у тебя какая-то лишняя проверка происходит.
Аноним 07/11/19 Чтв 15:18:53 1515421426
>>1515418
Потому что лень постоянно писать

#ifdef _DEBUG
/ Debugging code*
#endif
Аноним 07/11/19 Чтв 15:32:13 1515441427
как сделать так чтобы программа скомпилилась, запустилась и прочитала файл?
Аноним 07/11/19 Чтв 18:46:39 1515644428
>>1510605
поставил cygwin для XP, и даже получилось вроде сбилдить что-то 64-битное. Запускал компиляцию так: "make CC=gcc"
Не подскажешь как x86 версию exe-шника получить? Ну, чтобы win32 exe это было.
Насколько я помню, gcc компилирует одиночный .c файл в win32.exe так:
>gcc -m32 source.c -o destination.exe
07/11/19 Чтв 19:36:34 1515705429
>>1515418
Зачем тебе префикс? Подчеркивания перед именами зарезервированы для компилятора. Просто -DDEBUG и внутри:
#ifdef DEBUG
...
#else
// Не забываем.
#define NDEBUG
#endif

>>1515413
Излишнее доверие к оптимизатору до добра не доводит. Лучше код физически препроцессором выкинуть.
Аноним 07/11/19 Чтв 19:40:07 1515709430
>>1515705
> Подчеркивания перед именами зарезервированы для компилятора
Точно только для него?
Сам видел, вроде, либы, где подчёркивания юзались, не двойные, канеш, но одинарные точно.
А здесь вообще незачем, агась, заглючил.
07/11/19 Чтв 20:24:00 1515755431
>>1515709
> Точно только для него?
Ну для стандарта и его реализации: имена __name (два подчеркивания) или _Name (подчеркивание и символ в верхнем регистре) зарезервированы для любых применений, _name (одно подчеркивание) - для глобальных переменных и функций. У тебя макрос, поэтому он подпадает под первый вариант.

> Сам видел, вроде, либы, где подчёркивания юзались
Да, многие пишут. Особенно если это #ifndef _XXX_H_ #define _XXX_H_. И это даже скорее всего никогда не приведет к каким-либо проблемам, но делать так все равно не стоит.
Аноним 07/11/19 Чтв 20:40:09 1515766432
image.png (73Кб, 752x494)
752x494
Сишники мои любимые, я искренне верю, что вы самые умные! Расскажите мне, СУКАНАХУЙБЛЯДЬ, что имели ввиду авторы introduction to algorithms - гниды ебаные???? Чьей матери за щеку они собрались присваивать z.p.p???????? В моем воображении ветка //case1 прекрасно фиксит RB-шность, вот только последняя строчка там в хуй не уперлась. Короче, жопа дымится, стены текут, не оставьте в беде, прошу, молю, благаю...
Аноним 07/11/19 Чтв 20:41:31 1515767433
>>1515766
аргумент z - это типа указатель на только что добавленный узел, есичо
Аноним 07/11/19 Чтв 20:47:04 1515769434
>>1515766
Ой блядь, я тупой, там же z.p.p.p может тоже красным оказаться, и тогда хуй ты z.p.p перекрасишь. Но что ИМЕННО делает это присваивание?????????? Сука, как же я ору с псевдокода, призванного быть читаемым, а на деле еще более всратым, чем университетские лабы на асме.
Аноним 07/11/19 Чтв 20:48:16 1515770435
Ладно, посмотрю, как они всю эту хуету разжевывают дальше. Чувствую себя ебаным кретином. Эх, вот бы дедушка Кнут никогда не старел и пилил актуальную годноту...
Аноним 07/11/19 Чтв 20:54:13 1515772436
БЛЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯДЬ!!!!!!!!!!!!!!!!!!!! Я ЗАЕБАЛСЯ ЧИТАТЬ ЭТО ГОВНИЩЕ ЛЮТОЕ!!!!!!!!!!!!! Дохуиллион страниц разжевывания очевидного и нихуя не понятно, что таки имелось ввиду. Пидарасы, блядь, унтерменши, кто такую хуету пишет. Как будто языком не владеют или читателя-дауна троллить пытаются. Объективное говно. НОЛЬ оправданий в пользу такого слога, НОЛЬ БЛЯДЬ!!!!!! Посоветуйте что-то такое же комплексное, но нормальное, пазязя...
Аноним 07/11/19 Чтв 22:10:16 1515852437
>>1515241
Ну я примерно то же и сказал. Защита памяти вообще к типам не относится, то есть к языку программирования генерирующему код. const это лишь декоратор, пометка компилятору вывалить ошибку для удобства программиста. То есть, указатель это просто указатель, ему всё равно на какую память указывать.
Аноним 07/11/19 Чтв 22:20:11 1515872438
имхо бинарные деревья это год мод. В реале и тебе и мне еще рано такое читать. попрогай немного для себя, освойся, составь для себя какой либо путь развития. Думаю что в этой книге описан сам концепт, на детали в таких кладут болт
Аноним 07/11/19 Чтв 23:34:45 1515939439
>>1515872
Просто я тем самым трахнул себя в жопу, когда вернулся к CLRS после недавней мысли "больше не прикоснусь". Лучше таки читать Кнута и немножко страдать от неактуальности среды, чем читать CLRS и множко страдать от общей всратости.
Аноним 08/11/19 Птн 11:05:48 1516128440
>>1515772
ты просто тупой как пряничек, не грусти - оно придет, но не сразу
Аноним 08/11/19 Птн 12:54:19 1516184441
>>1516128
Да я понимаю, что если чаще и больше читать, то мозг придрочится читать разные несовершенные тексты и без переедания кала извлекать норм инфу, но я ебал. Книги пишутся для всех, а не для неравномерно преуспевшего меня, но что-то к Кнуту у меня не возникает жалоб "тут пережевано, тут недожевано", по-честному все. Рассказывает, как умному человеку, и действительно врубается режим умного и все схватывающего человека. + задачки интересные.
Аноним 08/11/19 Птн 12:59:26 1516187442
>>1516128
Я считаю, что когда что-то непонятно, для мыслящего человека естественнее остановиться и подумать, а не ускоряться в поисках подробных объяснений дальше по тексту, и хороша книга должна способствовать поощрять именно первый вариант, а то какое-то макаковоспитательство выходит...
Аноним 08/11/19 Птн 15:09:09 1516297443
Чё как. Нужно размерчик проги немного поджать. Уже переопределил все инты в int8_t, посредством этого сбросил около 4кб. Надо еще хотя бы 2кб ужать. Варианты?
Аноним 08/11/19 Птн 17:25:12 1516357444
>>1516297
Системколы переопредели напрямую в макросы, а обертки выкинь
Аноним 08/11/19 Птн 18:13:27 1516411445
Аноним 08/11/19 Птн 23:42:23 1516635446
>>1516411
Прога представляет из себя мешанину из циклов и условий, думаю заебусь с асмом.
>>1516357
Что есть системколлы?
Аноним 09/11/19 Суб 00:33:49 1516680447
>>1516635
>мешанину из циклов и условий
Да нехуй делать. Никто не запрещает ставить локальные метки (с точкой) и отхреначивать логические блоки табами. В конце концов, можно попросить сишный конпелятор выплюнуть .asm и оптимизировать на свое усмотрение. Говорят, человек в теории до сих пор может вдвое лучше, чем -O3. Я понимаю, что тебе вес скинуть, а не ускорить, но с потанцевалом доминирования живых мозгов над алгоритмом все аналогично.
Аноним 09/11/19 Суб 05:15:47 1516745448
>>1516297
Выкинуть библиотеки, написать нужное вручную.
Аноним 09/11/19 Суб 05:17:15 1516746449
>>1516297
Откатить компилятор на старую версию.
Аноним 09/11/19 Суб 10:05:35 1516776450
Сап, есть задача выполнить bash команду с помощью exec и все буквы в результате работы проги заменить на заглавные. Я написал её с пайпами, а теперь нужно с shared memory (shmget, mmap)
https://pastebin.com/ndz3tH5m
Аноним 09/11/19 Суб 11:30:56 1516798451
Чем компилять на убунте, сс, gcc, или clang???
Аноним 09/11/19 Суб 11:39:29 1516801452
>>1516798
а как на clang сделать .o файл?
Аноним 09/11/19 Суб 11:43:19 1516802453
какая разница между a.out и mylib.o?
Аноним 09/11/19 Суб 12:24:55 1516813454
>>1516798
cc это шорткат для gcc.
>>1516802
Исполняемый файл и объектный файл.
Аноним 09/11/19 Суб 13:20:15 1516827455
Анон, N тредов назад советовавший мне прикрутить к своему архиватору алгоритм Бабушкина, ты содомит блядь. Я только сейчас загуглил и начал проигрывать.
Аноним 09/11/19 Суб 17:22:13 1516999456
>>1516827
В голос с вас, шутников.
Аноним 09/11/19 Суб 19:37:50 1517113457
Зачем постоянно увеличивают разрядность памяти?
Аноним 09/11/19 Суб 19:47:55 1517127458
>>1516827
Из-за тебя дурака потратил час времени на выяснения кто такой Бабушкин и чем прославлен
Аноним 09/11/19 Суб 19:54:17 1517136459
>>1516999
>>1516827
>>1517127
Пиздос, может вы еще ОС Попова или РусОС Горлова не знаете?
>>1517113
Что бы больше влазилов всякого
Аноним 09/11/19 Суб 21:20:17 1517225460
>>1504293
Сети, мультимедиа, виртуализация, ядро Торвальдса. С чего ты взял, что работы нет?
Аноним 09/11/19 Суб 21:22:55 1517227461
>>1517113
Закон Мура. Могли бы - еще в 1970-м бы 128 разрядов сделали бы. Я в этом не шарю, но скорее всего это просто какой-то стандартный процесс на заводе, где все эти транзисторы уменьшают: столько-то месяцев на прототип, столько-то на испытания, столько-то на налаживание серии и т.д. и т.п. А каждый x2-шаг физически осуществим только с применением достижений предыдущего, то есть не могут они взять и в за один прекрасный полуторагодичный период x4 уменьшение ебануть. Брайан Керниган что-то подобное говорил про формирование конпелятора Сишечки, вроде "using sharp tool to make a sharper tool".
Аноним 09/11/19 Суб 22:24:49 1517286462
>>1516297
libc активно используешь? Перепиши нужный функционал из либ, остальное выбрасывай.

Вот например обертка над сисколлом write:

static int write(int fd, const void* buf, unsigned int size) {
long result;
__asm__ __volatile__(
"syscall"
: "=a"(result)
: "0"(__NR_write), "D"(fd), "S"(buf), "d"(size)
: "cc", "rcx", "r11", "memory");
return result;
}
Аноним 09/11/19 Суб 22:26:21 1517289463
>>1517286
Ну и про сборке не забывай:
-nostdlib -ffreestanding
Аноним 09/11/19 Суб 22:49:08 1517304464
Аноним 10/11/19 Вск 09:34:46 1517536465
>>1517227
Да какой закон Мура, разрядность выбирается в зависимости от размера типичных данных, которые должна дробить машина.
Разрядность МК в мире встраиваемых так и выбирают.
64-бита хватит всем, ето точно. Больших объёмов памяти нет, большего кол-ва пикселей на дисплеях нет, для цветовых палитр больше не нужно.
Ну и всякие ОС-ядерные переменные влезают.
Аноним 10/11/19 Вск 10:26:21 1517550466
Минуточку. Но ведь ничего не мешает на пентиум 2 объявить, что адреса её памяти теперь 64 разрядные. Биты в памяти одинаковые везде
Аноним 10/11/19 Вск 11:15:07 1517568467
>>1517550
У них регистры 32 разрядные, не умеют оперировать 64 разрядными числами. Адрес это как бы число.
Аноним 10/11/19 Вск 11:37:02 1517587468
>>1517568
то есть единственное что делает увеличение этого числа, это возможно засовывать больший объём памяти в комплютер?
Аноним 10/11/19 Вск 11:56:42 1517593469
>>1517587
Памяти можно насовать, но останется ограничение на один процесс.
Аноним 10/11/19 Вск 12:08:51 1517603470
Аноним 10/11/19 Вск 13:04:22 1517635471
>>1517587
хех
а это как раз псевдопрогресс как есть
еще создатель тоталкоммандер, к примеру, много лет назад расстраивался по тому поводу, что его сначала заставили переписать прогу на юникод (а до этого она спокойно использовала расширенные кодовые страницы для азиатских языков для обеспечения локализации), а потом заставили и сделать 64разрядную версию программы
он говорил, что это потребовало большого объема работы, но, по при это не добавив ни одной функциональной возможности

Аноним 10/11/19 Вск 13:17:29 1517638472
>>1517536
Пожалуй. Просто анон подразумевал, зачем шли 16--32--64, почему сразу норм не сделали.
Аноним 10/11/19 Вск 15:31:55 1517795473
>>1517635
>а это как раз псевдопрогресс как есть
Сегодня по твоему компутеры на том же уровне что и 20 лет назад?
>что его сначала заставили переписать прогу на юникод
Кто заставил-то? Он сам придумал велосипед и решил потом его переписать, кекус.
> а потом заставили и сделать 64разрядную версию программы
Заставили переписать говнокод с интами вместо size_t? Научили не говнокодить, всё правильно, лол.
>при это не добавив ни одной функциональной возможности
Ну так не будь там говнокода с велосипедами, и не надо было бы и переписывать. Он сам себе работу лишнюю создал.
Аноним 10/11/19 Вск 17:57:35 1517922474
image.png (33Кб, 469x406)
469x406
image.png (8Кб, 177x284)
177x284
Что за хуйня, оказывается память для всех блоков выделяется снизу вверх по коду? Почему так, в стеке же чем раньше вызвать что-то, тем раньше выделится место под это. Как это работает?
Аноним 10/11/19 Вск 18:07:15 1517930475
>>1517922
У тебя мб васянокомпилятор какой-то, который ищет _main и потом все что сверху читает
Аноним 10/11/19 Вск 18:09:42 1517932476
>>1517930
Хз, я обычным gcc компилю. Типо gcc file.c -o file.exe
Аноним 10/11/19 Вск 18:11:39 1517934477
>>1517932
В препроцессоре также в самом конце написано, Местами не меняется.
Аноним 10/11/19 Вск 18:22:31 1517939478
>>1517922
что делает putchar у тебя?
Аноним 10/11/19 Вск 18:23:51 1517942479
>>1517939
Просто выводит символ новой строки в консоль. Можно и printf("\n"); написать.
Аноним 10/11/19 Вск 18:36:24 1517954480
>>1517795
расширенные кодовые наборы были как в ядре майрософт, так и в различных реализациях линукса
они справлялись со своей задачей
юникод был следующим шагом, унификацией
но, повторюсь, с точки зрения конечного функционала без разницы как оно внутри работает
а программистам, тем не менее, приходится тратить уйму времени на переделку того что и так работает

10/11/19 Вск 19:14:19 1517997481
>>1517922
> память для всех блоков выделяется снизу вверх по коду?
Память для автоматических переменных компилятор выделяет на стеке. Обычно сразу все твои переменные одним куском. Какой именно порядок будет внутри этого куска - зависит от компилятора, ключей компиляции и фазы луны. Не нужно на этом гадать.

>>1517954
> они справлялись со своей задачей
Нахуй пошел. У тебя в имени файла русские и французские символы - ты сосешь. У двух приложений разная ACP - ты сосешь при копировании данных. Вот это "не кладите компиляторы в директории с русскими буквами" пошло именно с тех времен, когда приложения сидели на всевозможных cp12151 вместо юникода. В своем тотал коммандере ты бы не смог на русской винде посмотреть аниму. Да даже выбрать аниму не смог бы - у тебя все тайтлы назывались бы "????? ???? ???" и "????-??? ?? ?????!". И удалить ее ты, кстати, тоже не смог бы. Ну нету у тебя на компьютере директории D:\Anime\????? ???? ???, нету!

> с точки зрения конечного функционала без разницы как оно внутри работает
Ну короч ты такой берешь сейчас приложение, написанное, ну например, на Visual Basic 6 (тот еще зверь: Unicode внутри, ACP снаружи), запускаешь в своей десяточке и копируешь из этого приложения русский текст. Что такое? Копируются вопросики? Как же так? Так это все потому, что ты у мамы программист, и у тебя по умолчанию английская раскладка клавиатуры. И ты меняшь раскладку на русскую, снова копируешь, и... все копируется! И других вариантов решения проблемы не было. Так вот и жили.
Аноним 10/11/19 Вск 20:56:31 1518100482
>>1517954
То, что это было в ядре швиндовса явно не указывает на то, что это хорошая практика. Там ещё баги прошлых версий ради обратной совместимости эмулируют, это по твоему хорошая практика?

Но мне больше понравилась предъява за 64 бита. Таких макак до си допускать нельзя, пусть раст сидит дрочит, если даже не знает какими типами индексироваться нужно, лол.
Аноним 10/11/19 Вск 21:31:17 1518124483
>>1517635
>он говорил, что это потребовало большого объема работы, но, по при это не добавив ни одной функциональной возможности
Какая же там была говноархитектура
Аноним 10/11/19 Вск 21:57:01 1518126484
>>1518100
>Там ещё баги прошлых версий ради обратной совместимости эмулируют, это по твоему хорошая практика?
Это та самая причина, почему винда всегда будет на всех десктопах.
10/11/19 Вск 23:14:23 1518204485
>>1518126
В 10 очень много всего сломали. Вангую, что через несколько лет нативную поддержку 32-битных систем дропнут (как во многих линуксах и маках), и винду можно будет окончательно закапывать.
Аноним 10/11/19 Вск 23:32:40 1518224486
Анончики, кто-то что-то пишет интересное? Выкладывает на github? Скучно пиздос, я б почитал...
Аноним 10/11/19 Вск 23:42:52 1518233487
>>1518204
Когда 32 дропнули даже на хипсторских маках — весь интернет засрали так, что воняет пол года спустя. Ты хоть представляешь, что будет, если сделать так с этой залупой, живущей ынтерпрайзом...
Аноним 11/11/19 Пнд 01:10:04 1518305488
>>1517997
ты хорошо написал, я все это вспомнил, все эти проблемы были и у меня в начале нулевых
но нехорошо посылать незнакомого человека
вот

Аноним 11/11/19 Пнд 01:10:46 1518306489
>>1518100
>64 бита
не нужно
vs до сих пор 32 бита и нормуль

Аноним 11/11/19 Пнд 01:12:33 1518307490
>>1518124
не знаю, исходники закрыты
но он долгое время писал tc используя delphi 3й версии и не хотел переходить на старшие версии
говорил что только лишняя работа по переносу кодовой базы, опять же которая никак не скажется на функциональности приложения, но потребует много трудовых человеко-часов

Аноним 11/11/19 Пнд 01:32:47 1518318491
Анончик, аллоцировал с mmap память под строку, хочу направить поток stdout в неё. В англоязычных интернетах нашёл только связку freopen("/dev/null", "a", stdout);
setbuf(stdout, memory);
Но она вроде как не работает, что делать?
Аноним 11/11/19 Пнд 02:14:51 1518335492
>>1518318
>поток stdout в неё.
Создай файловый дескриптор и пиши в него
Аноним 11/11/19 Пнд 02:17:04 1518336493
>>1518306
Лаунчер разве что, это же дотнет параша.
Аноним 11/11/19 Пнд 03:40:50 1518363494
Может кто-нибудь расскажет мне, почему FORTRAN такая хуита? Кому он нужен был вообще со всеми ограничениями?
Аноним 11/11/19 Пнд 04:11:13 1518372495
>>1518363
Он и сейчас нужен: физикам диффуры и урматы считать всякие, прогерам нахуй не нужен
11/11/19 Пнд 04:30:21 1518379496
>>1518318
Судя по
> /dev/null
тебе отлично зайдет готовая fmemopen().
Аноним 11/11/19 Пнд 06:47:59 1518401497
>>1518372
Вряд ли современные ученые учат языки программирования, максимум питон, а в основном сидят в матлабе наверное или в кастомных прожках написанных программистами.
Аноним 11/11/19 Пнд 07:00:50 1518402498
1.jpg (20Кб, 600x315)
600x315
>>1518401
>современные ученые
Аноним 11/11/19 Пнд 07:03:27 1518403499
Аноним 11/11/19 Пнд 09:13:03 1518428500
>>1500973
><libxxx.h>
Это когда внутренняя (стандартная) библиотека компилятора, например iostrem или stdint.
> "libxxx.h"
Это уже подключаемая пользовательская библиотека(с гитхаба), находящаяся в одной папке с файлом main.c.
Аноним 11/11/19 Пнд 10:50:31 1518452501
>>1518428
А можно же положить в папку с main.c libxxx.o и в файл main.c сделать include 'libxxx.h' ?
Аноним 11/11/19 Пнд 12:30:49 1518497502
>>1518379
Мне нужно обязательно mmap() использовать, это можно как-то совместить?
Аноним 11/11/19 Пнд 13:05:47 1518504503
>>1518335
Для mmap() я использую smh_open, который возвращает дескриптор. Я пробовал dup2 с ним, но не сработало
Аноним 11/11/19 Пнд 14:36:08 1518572504
Почему не работает этот гениальный код?
https://pastebin.com/DnSaquUk
Как создать массив внутри отдельной функции и отдать его?
Аноним 11/11/19 Пнд 16:00:54 1518626505
>>1518572
гугли про стек и кучу
M A L L O C
A
L
L
O
C
ПЕРЕКАТ Аноним # OP 11/11/19 Пнд 21:14:01 1518924506
Аноним 12/11/19 Втр 09:43:29 1519157507
>>1518403
>дед 60 лет
>лисп
Я говорил про современных ученых. А старики понятно учили языки, ведь тогда компьютеры были такими, по другому ими и не могли воспользоваться, но сейчас ситуация обратная, скрипты решают даже в программировании, а ученые, напоминаю, даже не программисты.
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов