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


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

<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
504 38 153

C Programming Language #39 /clang/ Аноним # OP 02/02/19 Суб 02:46:14 13397881
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 (драфт)
- 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://www.iso-9899.info/wiki/Books#Learning_C

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

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

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

- №36: https://arhivach.ng/thread/407257/
- №37: https://arhivach.ng/thread/414099/
- №38: https://arhivach.ng/thread/419611/
Аноним 02/02/19 Суб 04:59:36 13398142
Первыйнах1
Аноним 02/02/19 Суб 05:27:28 13398213
>>1339788 (OP)
Правда, что E1->E2 и (*(E1)).E2 не эквивалентны?
Аноним 02/02/19 Суб 06:06:06 13398574
>>1339821
Нет, не правда. Стрелочка лишь сахарок для второго выражения. Это если ты не ошибся тредом. У соседей по обыкновению все непросто.
Аноним 02/02/19 Суб 06:07:58 13398585
>>1339857
Похоже, ошибся тредом ты. Это у соседей явно прописано, что E1->E2 это эквивалент (*(E1)).E2, так что всё просто.
А вот в C со вторым может быть UB, когда с первым его может не быть. Забавно.
Аноним 02/02/19 Суб 06:10:18 13398616
>>1339858
> А вот в C со вторым может быть UB, когда с первым его может не быть.
Пруф из стандарта или хотя бы пример будет?
Аноним 02/02/19 Суб 06:21:23 13398667
>>1339861
https://pastebin.com/ARxKm18y ну вот, например 8-я и 9-я строка
Хоть такой каст указателей и доступ к члену несуществующей структуры и сомнителен, вроде считается что так можно.
Однако, в 9-й строке, `°ps` это lvalue а про него сказано
http://port70.net/~nsz/c/c11/n1570.html#6.3.2.1
> An lvalue is an expression (with an object type other than void) that potentially designates an object; if an lvalue does not designate an object when it is evaluated, the behavior is undefined.

объекта типа struct S нет, значит `°ps` — это UB?
Аноним 02/02/19 Суб 06:39:31 13398748
>>1339866
> доступ к члену несуществующей структуры и сомнителен
По-хорошему так нельзя, потому что типы разные.

> объекта типа struct S нет
Так чего ж ты кастил указатель, если объекта нет? Ты определись, либо кастить можно, и объект есть, либо у тебя все сломалось еще при касте.


Аноним 02/02/19 Суб 06:47:20 13398809
>>1339874
То есть, нельзя кастить, если объекта нет?
Тогда, например, integer aliasing (разрешение читать int через lvalue типа unsigned int и т.д.) теряет всякий смысл, т.к. по-твоему нельзя кастить указатель на int к указателю на unsigned int.
Аноним 02/02/19 Суб 07:13:52 133989010
>>1339880
> integer aliasing
Это разрешено явно до сих пор не понимаю, нахуя, как и чтение байтиков инта через указатель на char. В остальных случаях тебе нужны совместимые типы. Структура с интом несовместима. На самом деле в моем мире бегают розовые пони, помахивая -fno-strict-aliasing, поэтому у меня нет никакого UB при чтении интов через структуру. Чего и тебе желаю.
Аноним 02/02/19 Суб 07:18:50 133989311
>>1339890
> Это разрешено явно до сих пор не понимаю, нахуя, как и чтение байтиков инта через указатель на char. В остальных случаях тебе нужны совместимые типы.
Лазать через структуру явно разрешено в том же списке http://port70.net/~nsz/c/c11/n1570.html#6.5p7
> An object shall have its stored value accessed only by an lvalue expression that has one of the following types:
> …
> — a type that is the signed or unsigned type corresponding to the effective type of the object,
> …
> — an aggregate or union type that includes one of the aforementioned types among its members (including, recursively, a member of a subaggregate or contained union), or
> — a character type.
Аноним 02/02/19 Суб 07:44:45 133990412
>>1339893
> an aggregate or union type that includes one of the aforementioned types among its members (including, recursively, a member of a subaggregate or contained union), or
Там просто формулировка говно, смотри сноску, это про алиасинг. Имеется в виду, что int будет алиаситься не только с char или каким-нибудь unsigned интом, но и со структурой, у которой один из членов int или совместим с ней.

Классика. Это UB:
void test(float ∗a, int ∗b) {
∗a = 1.0;
printf("%g\n", ∗a);
∗b = 0;
printf("%g\n", ∗a); // Компилятор может не перечитывать a.
}
float foo;
test(&foo, (int ∗) &foo)

Это нет:
struct s { float x; };
void test(float ∗a, struct s ∗b) {
∗a = 1.0;
printf("%g\n", ∗a);
b->x = 0.0;
printf("%g\n", ∗a); // А вот тут компилятору придется перечитывать a.
}
float foo;
struct s bar;
test(&foo, &bar);
Аноним 02/02/19 Суб 07:47:08 133990513
>>1339904
Ну так и почему кастить к указателю на unsigned int можно исходя из тех правил, хотя объекта типа unsigned int нет, а кастить к указателю на структуру нельзя?
Аноним 02/02/19 Суб 07:53:59 133991114
>>1339905
> почему кастить к указателю на unsigned int можно исходя из тех правил
Я уже говорил, что не знаю, почему сделано исключение для signed/unsigned. Вот с char все понятно, это в свое время завезли для memcpy и прочих fwrite. Какие проблемы может решать чтение signed инта через unsigned, я не понимаю. По мне, оно только ломает alias analysis еще больше.
Аноним 02/02/19 Суб 08:10:05 133991515
>>1339911
>Какие проблемы может решать чтение signed инта через unsigned, я не понимаю.
ПРоблему совместимости со старым кодом
Аноним 02/02/19 Суб 08:16:33 133991816
>>1339915
> совместимости со старым кодом
Неужели так много говнокода, в котором путаница со знаком у указателей? По мне, так кода, который ломает strict aliasing - гораздо большая куча, которая к тому же продолжает расти. Вон даже целый линукс есть. Но что-то никто не торопится убирать strict aliasing. Зато убрали gets(), убрали олдскульный стиль аргументов у функций, где же тут совместимость?
Аноним 02/02/19 Суб 10:09:05 133994917
>>1339904
Твой код не демонстрирует доступ через aggregate or union type, т.к. b->x имеет тип float.
Доступ через aggregate or union type это присваивание структур.
Аноним 02/02/19 Суб 13:37:15 134004318
Нужно ли исправлять ВСЕ warning'и? Просто мне кажется, все исправить не выйдет, если я хочу сделать то, что я хочу, хотя это вроде как логично...
Аноним 02/02/19 Суб 18:55:22 134024919
Как понять это ?

Выражения типа a компилятор заменяет на ☆(a+b), так как выражение симметрично, то с точки зрения компилятора следующие выражения идентичны:
array и i[array], так как будет заменены одинаково: ☆(array+i);
=====
зачем вообще понадобиться может писать i[array]?
Аноним 02/02/19 Суб 19:27:17 134025720
>>1340249
Потроллить можно.
Незачем, это следствие ассоциативности арифметики указателей, такой небаг языка
Аноним 02/02/19 Суб 19:28:03 134025821
>>1340043
Неисправляемый ворнинг лучше подавить, чтобы при компиляции новые ворнинги не потерялись в куче старых
Аноним 02/02/19 Суб 20:57:51 134031622
>>1339949
Ну окей, ∗b = (struct s) { 0.0 }; доволен?

>>1340043
> Просто мне кажется, все исправить не выйдет
А ты постарайся. Можно писать даже для шланга с его -Weverything.

>>1340258
> Неисправляемый ворнинг лучше подавить
Если уж совсем никак нельзя по-другому, то да, стоит отключить, но лучше локально (#pragma GCC diagnostic push, #pragma GCC diagnostic ignored "-Wshootingyourselfinthefoot", #pragma GCC diagnostic pop или аналоги). Иначе можно проебать реальную проблему в том же файле.
Аноним 02/02/19 Суб 21:14:09 134033623
>>1340316
> но лучше локально
Я это и имел в виду
Аноним 03/02/19 Вск 13:23:54 134070924
Как прочитать размер аллоцированого чанка? Везде вроде пишут, что предшествующий size_t хранит размер. Пытался по всякому прочитать p[-i] память, но там вроде чёто-то нето.
Аноним 03/02/19 Вск 14:21:27 134074725
Аноним 03/02/19 Вск 14:38:29 134075626
>>1340747
Спасибо) но это для Линукса. Я как понял там у Винды всё по другому. Есть функция _msize, но мне интересно как она устроена.
Аноним 03/02/19 Вск 20:53:29 134106427
>>1340756
Выделяй степень двойки, храни размер сам, не лезь не в свое дело. Ты ведь понимаешь, что оно зависит от реализации - сегодня так, а завтра сломалось?

> у Винды всё по другому
У какой винды? Какой компилятор? Какая версия рантайма? Например, если линковаться с MSVCRT, то перед блоком будет указатель на структуру с информацией.
Аноним 03/02/19 Вск 23:35:23 134118728
>>1340756
>>1341064
Мимокрок на линии.
Читаю Game Engine Black Book: Wolfenstein 3D, ну вот прям от всей души рекомендую.
Хитрые изъебы с памятью в том числе весьма интересны. Я просто дохера часов убил в свое время на эту игрулю, объяснение внутренностей весьма доставляет.
Аноним 04/02/19 Пнд 00:53:25 134122029
>>1341187
Ооо всегда хотел такого рода игру написать.
Где качал книгу?
Аноним 04/02/19 Пнд 01:43:59 134125730
>>1341187
>Хитрые изъебы с памятью
это плохо, в идеале ничего хитрого не должно быть
04/02/19 Пнд 01:46:38 134125931
>>1341257
> в идеале
Лол, в идеале у тебя бесконечная память с нулевой латенси и бесконечный проц.
Аноним 04/02/19 Пнд 01:52:09 134126432
>>1341259
>у тебя бесконечная память с нулевой латенси и бесконечный проц
Ну бля, товарищь Тюринг, я больше не хочу с вами ебаться в жопу.
Давай примеры и обоснования, епте.

Аноним 04/02/19 Пнд 02:02:07 134126933
>>1341257
Я неправильно выразился. Скорее не хитрое а элегантное, не напролом.
Аноним 04/02/19 Пнд 02:03:59 134127234
>>1341257
Это ты так ненавязчиво намекнул что знаешь лучше Кармака и Ромеро как управлять памятью?
Аноним 04/02/19 Пнд 02:06:50 134127335
Аноним 04/02/19 Пнд 02:07:07 134127436
>>1341269
>а элегантное
ну так это другое, инженеры пишущие и оптимизирующие код и смузихлебы с фреймворками
Аноним 04/02/19 Пнд 02:09:26 134127537
>>1341274
>фреймворками
Тогда и фреймворков у них не было, сами писали себе.
Аноним 04/02/19 Пнд 02:13:00 134128338
>this book has only bit of text and plenty of drawings attempting to describe in great detail the Wolfenstein 3D game engine and its hardware, the IBM PC with an Intel 386 CPU and a VGA graphic card.

Автор маладца, сам Ромеро рецензировал. Я кинул ему 20 баксов, просто за слезы ностальгии.
Аноним 04/02/19 Пнд 02:16:02 134128639
>>1341274
>инженеры пишущие и оптимизирующие код
Инженерам на тот момент было около 23х лет, мне почти в два раза больше, чемпион по проебыванию жизни впустую.
Аноним 04/02/19 Пнд 02:19:51 134129140
>>1341286
>чемпион по проебыванию жизни впустую
Посоревнуйся со мной111
Аноним 04/02/19 Пнд 02:29:29 134130341
>>1341273
Но это 1 эдишн, 2й только за деньги.
Аноним 04/02/19 Пнд 13:56:34 134157942
Кодю на си уже долгое время, захотелось узнать какой стэк нужно знать чтобы на работу устроиться. Можете подсказать?
Аноним 04/02/19 Пнд 14:33:18 134159343
Аноним 04/02/19 Пнд 15:31:45 134162044
>>1341273

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

Степень происходящего пиздеца в современном ёбастрое можно оценить в гитхабе:

https://github.com/CRYTEK/CRYENGINE/tree/release/Code

Сравнить с:

https://github.com/id-Software/Quake-III-Arena

Аноним 04/02/19 Пнд 15:32:31 134162345
>>1341620
>кококо микроархитектурка порешала а неотсасывающий кеш не завезли

самофикс
Аноним 04/02/19 Пнд 16:01:26 134164046
image.png (69Кб, 1121x493)
1121x493
Что за вопросительный знак в числе?
Аноним 04/02/19 Пнд 16:12:25 134164547
Где можно узнать инфу по программированию драйверов под windows и unix системы?
04/02/19 Пнд 16:49:11 134166748
>>1341640
Опечатка автора. Можешь ему об этом рассказать.
Аноним 04/02/19 Пнд 16:56:42 134167349
>>1341667
А я думал это какие-то древние тайны сишки. Эх, нет романтики.
Аноним 04/02/19 Пнд 16:59:22 134167550
malloc - Copy ([...].JPG (39Кб, 574x302)
574x302
>>1341620
>>1341187
Посмотрите на этих эстетов, malloc им недостаточно эффективный.
Аноним 04/02/19 Пнд 17:09:19 134168251
>>1341675
Нихуя себе, это на чем вообще основано то.
Аноним 04/02/19 Пнд 17:24:33 134169152
>>1341620
>датадрочерству
Что ты под этим подразумеваешь?
>write-only пиздец
А в чем смысл write-only структур??
Аноним 04/02/19 Пнд 18:38:34 134174653
>>1341691
>write-only
Я думаю, что это рофл. Зачем они.
Аноним 04/02/19 Пнд 18:43:29 134175254
>>1339814
Мы нахи из народа ноя?
04/02/19 Пнд 19:06:43 134177655
>>1341691
>>1341746
Сука, какие же гоферы малолетние дегенераты, блядь.
04/02/19 Пнд 19:30:39 134179456
>>1341675
Это откуда? Про вольфенштейн? Сейчас маллоки достаточно крутые, чтобы не пилить ничего своего (кроме, разве что, пулов объектов), но в 90х были все описанные проблемы.
Аноним 04/02/19 Пнд 20:37:21 134185457
Что почитать чтобы драйверы писать начать, хочу писать драйвера, мам пожалуйста.
Аноним 04/02/19 Пнд 20:41:33 134185758
>>1341854
>драйверы
чего драйверы?
Аноним 04/02/19 Пнд 20:49:10 134186259
>>1341857
Просто драйвера, ну что не понятно-то, хочу драйвера
Аноним 04/02/19 Пнд 20:54:04 134186560
>>1341857
На деле хотелось бы изучить программирование драйверов под Windows 9x 7, 8.1, 10 (насколько я знаю WDK windows 10 един для них). Меня интересует программирование драйвера фильтров.
Аноним 04/02/19 Пнд 21:35:25 134189661
>>1341865
>фильтров
Аквафор чтоли? Есть книга по WDK ищи, у меня даже бумажная где то валяется.
Аноним 04/02/19 Пнд 22:17:49 134192962
Привет уважаемые.
Я осмелюсь предположить, что некоторая часть присутствующих довольно глубоко знакома с Lisp'ом.
Я прав?
Отзовитесь.
Аноним 04/02/19 Пнд 22:20:42 134193463
Аноним 04/02/19 Пнд 22:27:36 134193964
Лиспотред либо отсутствует, либо умер давно.
Скоро заканчиваю читать прату. По совпадению появится еще немного свободного времени. Хочу в сторону лиспа двигаться. Очень нравится парадигма.
Пробовал Haskell, но несмотря на то, что не так уж и сложно, в целом, не зашло.
04/02/19 Пнд 22:48:24 134195765
>>1341939
Функциональщики в моем байтоебском треде? Нет пути!
Аноним 04/02/19 Пнд 22:54:09 134196466
40243.jpg (64Кб, 529x647)
529x647
Аноним 04/02/19 Пнд 23:01:56 134197367
>>1341794

Тогда перед выделить надо было еще и получить, EMS XMS 4GW
Аноним 04/02/19 Пнд 23:37:48 134199968
>>1341794
>Это откуда? Про вольфенштейн? Сейчас маллоки достаточно крутые, чтобы не пилить ничего своего (кроме, разве что, пулов объектов), но в 90х были все описанные проблемы.

В наше время кастомные аллокаторы поверх выделенного штатным тоже используются но по другой причине (сосноли соснули) и всего двух простейших типов - stack allocator когда коридорное кинцо, очень легко выделять и прибивать сразу весь уровень/этапы и pool allocator используют когда кинцо с опенворлдом и ГТА-подобное и в процессе движения камеры/персонажа мир постоянно загружается/выгружается. В таком случае домики и пешеходы квадратно гнездовым методом впихиваются в чанки стандартных размеров.
Аноним 04/02/19 Пнд 23:38:46 134200169
>>1341999

для мелкой же бойлерплейтухи применяется обычный маллок или аналогично работающая велосипедная версия.
Аноним 04/02/19 Пнд 23:54:08 134200970
>>1341865
соответствующие главы windows internals для начала..
Аноним 04/02/19 Пнд 23:57:06 134201171
>>1341794
apr апача со своими аллокаторами динамической памяти, энжинх тоже..
это к примеру, не для срача
05/02/19 Втр 00:29:46 134202072
>>1342011
Я разве сказал, что наличие качественного системного аллокатора кого-то останавливает от написания велосипедов?
05/02/19 Втр 11:13:28 134216273
05/02/19 Втр 11:15:13 134216574
>>1341999
Где можно про это почитать что-нибудь? Вообще не разбираюсь в pool stack allocator'ах.
05/02/19 Втр 11:17:24 134216775
>>1341939
Попробуй в сторону clojure, хотя бы что-то практичное будет. Из функциональщины в проде используется только erlang/elixir (по сути одно и тоже, синтаксис просто разный, если не углубляться), scala (сидит на двух стулах) и clojure какой-нибудь. Поэтому можешь попробовать что-то из этого, но сразу скажу, что будет очень непривычно, по крайней мере, со мной это было так. Я от эрланга первую неделю ахуевал нехуйски.
Аноним 05/02/19 Втр 11:19:39 134216976
>>1342009
Актуальная? Под пивчанский сойдет, сам читал?
Аноним 05/02/19 Втр 11:22:19 134217177
Аноним 05/02/19 Втр 11:44:01 134218578
Посоветуйте книгу для кодинга под юникс?
Аноним 05/02/19 Втр 12:21:09 134220579
>>1342185
Advanced Programming in the UNIX Environment
Advanced Linux Programming
Аноним 05/02/19 Втр 15:21:45 134228980
WHYY.jpg (7Кб, 253x199)
253x199
Аноним 05/02/19 Втр 15:41:10 134229981
Аноним 05/02/19 Втр 16:15:03 134231782
Аноним 05/02/19 Втр 16:34:48 134232583
>>1341929
(задавай (quote (свои вопросы)))
Аноним 05/02/19 Втр 17:15:34 134234484
>>1342289
Есть же сикп-тред и кложетред.

>>1342167
В целом двачую. жс - тоже функциональщина!!1
Аноним 05/02/19 Втр 17:24:50 134235085
>>1342169
конечно, читал, никогда не советую книги которые сам до этого не прочитал
плюс еще в том, что даже последние издания есть на русском - темы, которые там затрагиваются, и так сложные, если их еще и на английском читать, то мозг вспухнет
Аноним 05/02/19 Втр 17:26:27 134235186
>>1342165
да зачем тебе читать то, глянь как в библиотеках это сделано
в той же apr, которую выше упоминал
Аноним 05/02/19 Втр 17:41:21 134236187
>>1342344
>Есть же сикп-тред и кложетред.
ЛОЛ, их тоже уже нет. Судя по всему, либо вопросов нет, либо у специалистов такая дикая востребованность, что нет времени здесь сидеть.
Аноним 05/02/19 Втр 17:43:10 134236288
Аноним 05/02/19 Втр 17:52:05 134236789
>>1342361
Иди блять в сикп тред, еблан.
Аноним 05/02/19 Втр 17:53:11 134237090
>>1342167
Хаскелль забыл упомянуть.
Аноним 05/02/19 Втр 17:55:47 134237191
Аноним 05/02/19 Втр 17:59:31 134237592
>>1342371
Воу, вроде именно то, что надо!
Я знал что я в правильном тредю
Аноним 05/02/19 Втр 18:24:17 134239393
Что можно делать на сишке на винде?
Аноним 05/02/19 Втр 18:25:57 134239594
>>1342362
>А CL уже все?
Уже все.
>>1342361
Он есть где-то на дне, поищи получше, да откроется он тебе.
>>1342370
Возможно, но не вижу смысла кому-то его использовать в проде.
Аноним 05/02/19 Втр 18:26:42 134239895
Аноним 05/02/19 Втр 18:31:51 134240596
>>1342398
Какой? У меня был знакомый, который этим зарабатывал, но он, когда ходил как-то странно подпрыгивал, махал руками, из еды ел только печеночные паштеты и яблоки. Он сторчался.
05/02/19 Втр 18:41:41 134241397
>>1342361
>ЛОЛ, их тоже уже нет
По-моему ты просто не умеешь пользоваться двачем.

>что нет времени здесь сидеть
Здесь сидят в основном школьники\студенты, мужики скорее иногда потроллить заходят.

>>1342405
Ты перепутал, это был коммон-лишпер (еще в пидорском пиджачке, розовой футболке и с противным носом, да?). Хаскеллисты за здоровый образ жизни! Только штанга, только хардкор.
Аноним 05/02/19 Втр 18:48:22 134241898
>>1342362
>А CL уже все?
(progn (не всё) (не-в мейнстриме))
Аноним 05/02/19 Втр 19:01:35 134242599
>>1342413
>(еще в пидорском пиджачке, розовой футболке и с противным носом, да?)
Лол, почти угадал, носил постоянно старый рваный оранжевый пиджак, но на лиспе особо не кодил, только на КЛОЖУР.

Аноним 05/02/19 Втр 19:24:13 1342430100
(JPEG Image, 22[...].jpeg (9Кб, 225x225)
225x225
>>1342425
Так кложур - это же и есть лисп. То есть он был кложуристом, но зарабатывал кодом на хаскеле? Чет ты запизделся походу, дружище.
Аноним 05/02/19 Втр 19:45:01 1342443101
>>1342413
>По-моему ты просто не умеешь пользоваться двачем.
Это минус?
Аноним 05/02/19 Втр 19:46:30 1342446102
>>1342367
Я выучу С и Лисп, найду тебя по ойпи и выебу твою семью.
Аноним 05/02/19 Втр 19:47:15 1342447103
>>1342413
> основном школьники\студенты, мужики скорее иногда потроллить заходят
А где серьезные перцы сидят?
Аноним 05/02/19 Втр 19:55:09 1342452104
>>1342393
в смысле чтоб платили?
драйвера
ну или блек
Аноним 05/02/19 Втр 21:38:58 1342499105
Может тут и на Форте кто-то писал? Как отзываетесь о нем?
Аноним 05/02/19 Втр 21:52:03 1342502106
>>1342447
Хакерньюс\реддит\слак\ирц?

>>1342499
Форт - для лохов, правильные пацаны выбирают Фактор!
мимославик
Аноним 06/02/19 Срд 05:24:36 1342630107
>>1342430
Он оба языка использовал в работе, как-будто ты сам подобное не делаешь. Каждый программист с несколькими языками работает, за редким исключением в виде каких-нибудь дедов.
Аноним 06/02/19 Срд 05:27:28 1342631108
>>1342452
>или блек
Что за блек?
>драйвера
Их типов и подтипов дохуя, нужно во всем разбираться?
>>1342502
>Форт - для лохов, правильные пацаны выбирают Фактор!
Да одно и тоже по сути. У меня для форта вроде процессор завалялся, может стоит вспомнить старину.
>>1342499
Язык интересный, поможет мышление развить. Бывает быстрее сишки!111 Вообщем, попробуй, но дальше чем просто увлечение - это вряд ли уедет.
06/02/19 Срд 09:47:19 1342715109
>>1342631
>блэк
Малварь и криптование малвари
Аноним 06/02/19 Срд 11:40:35 1342757110
int &x3 = ☆ (int☆) malloc (sizeof (int));
Что запишет эта строчка в х3?
Знаю ,что маллок возвращает адрес на массив, но там еще одна звезда появляется и что выходит? х3 хранит адрес адреса этого массива?
Аноним 06/02/19 Срд 11:49:30 1342765111
>>1342757
Напиши это кодом где-нибудь и прикрепи картинкой, непонятно, немного, что в объявлении переменной делает амперсанд, или это миссклик?
Аноним 06/02/19 Срд 11:51:57 1342766112
>>1342765
Это из си++, там есть такое дело.
Ну представь что амперсанда нет, (получится си чистый) и по рассуждаем. Что будет в переменной х3
Аноним 06/02/19 Срд 11:57:04 1342769113
Screenshot 2019[...].png (26Кб, 1016x77)
1016x77
Аноним 06/02/19 Срд 12:03:51 1342772114
Gss, объявляю в разных файлах две статические глобальные переменные с одинаковым именем и возникает конфликт имён, что я делаю не так?
Аноним 06/02/19 Срд 12:05:31 1342773115
Аноним 06/02/19 Срд 12:11:07 1342775116
>>1342772
Ну компилируешь то ты их вместе.. менять имя
Аноним 06/02/19 Срд 12:13:14 1342777117
>>1342775
Да, это так работает? Блин, а я хотел иметь короткие имена для читаемости, придётся дефайнами.
Аноним 06/02/19 Срд 12:33:46 1342783118
>>1342757
Записывает в виде инта, мусорное содержимое первого(единственного) аллоцированого элемента?
Аноним 06/02/19 Срд 14:07:09 1342821119
>>1342769
>>1342766
Если это плюсы то видимо это ссылка.
В общем, ты выделил память, потом разыменовал указатель, получил какое-то значение, то есть мусор, и приравнял ссылке это число, не знаю точно, как работают ссылки, поэтому не могу сказать точно, что в итоге это даст.
Аноним 06/02/19 Срд 14:10:35 1342826120
>>1342821
Сделаю лишь предположение, что присваивать ссылке не переменную, а конкретное значение это UB.
Аноним 06/02/19 Срд 14:16:54 1342832121
>>1342766
В случае Си, это валидный код с утечкой памяти.
Просто присваиваем инту значение из кучи.
Аноним 06/02/19 Срд 14:21:45 1342835122
>>1342832
Что будет в переменной зависит от компилятора. В случае gcc там скорее всего будет 0. У msvc не знаю.
Аноним 06/02/19 Срд 14:42:18 1342840123
>>1342783
>аллоцированого
че?
Аноним 06/02/19 Срд 14:43:26 1342841124
>>1342826
>>1342821
Да, там не муссор будет а ссылка на место ,где хранится муссор
Аноним 06/02/19 Срд 14:50:05 1342846125
>>1342772
extern?
>>1342769
Что за редактор и тема?
>>1342840
Наверное он имел ввиду выделенный в динамической памяти.
>>1342715
То есть специалист по malware? Это в сторону ассемблера, дизасма смотреть надо, наверное.
Аноним 06/02/19 Срд 15:06:37 1342851126
15169643614173.png (386Кб, 391x600)
391x600
Есть ли онлайн курсы по С типо кодакадеми? Чтобы прямо в браузере давали задание и можно было там же его сделать?
Аноним 06/02/19 Срд 15:35:31 1342858127
>>1342395
>>1342370
>>1342362
Смысла в этой эзотерике сейчас мало, по причине того, что практически все нужные в реальной разработке фичи уже включены в стандартные яп.
После сишечки упарывай плюсы там, джаву, там есть все, что тебе может понадобиться из функциональщины.
Аноним 06/02/19 Срд 15:53:26 1342864128
>>1342858
Забыл добавить.
Если так уж хочется необычного, посмотри на F#. Не исключено что скоро понадобится.
Аноним 06/02/19 Срд 16:37:51 1342885129
>>1342362
>CL
мой бог да это те же грабли
не разглядела в темноте
а ну ка наступлю ещё раз
да те
Аноним 06/02/19 Срд 17:09:54 1342898130
>>1342858
Да, пусть продолжают жрать говно.
Аноним 06/02/19 Срд 17:11:30 1342899131
>>1342858
>плюсы там, джаву, там есть все, что тебе может понадобиться из функциональщины.
Зачем ты раздаешь свои охуенные советы, если сам нихуяшеньки не шаришь?

>>1342864
F# давно не взлетел, сдох и никому не нужен, привет. Леночка, залогинься.
Аноним 06/02/19 Срд 17:16:33 1342904132
>>1342899
f# и не собирался взлетать, подыхать и быть кому то нужным
это просто еще одно добавление к ml-семейству на хорошей платформе
и все
очень полезный язык для расширения горизонтов
Аноним 06/02/19 Срд 17:21:33 1342906133
>>1342904
и интересный
планирую к старости начать пописывать что-нибудь на ml-семействе, живя в деревне и сдавая квартрки
Аноним 06/02/19 Срд 17:41:54 1342922134
CFjnQvj8thumb.gif (206Кб, 200x200)
200x200
>>1342904
Собирался, но не сложилось.

>это просто еще одно добавление к ml-семейству на хорошей платформе
А, так ты про ризон?

>очень полезный язык для расширения горизонтов
Или про скалу?..
Аноним 06/02/19 Срд 19:23:53 1342971135
Аноним 06/02/19 Срд 20:35:36 1342999136
>>1342898
В смысле? Это про функциональщину или лисп?
Аноним 06/02/19 Срд 20:50:24 1343017137
>>1342846
>Что за редактор и тема?
С сайта снимок
Аноним 06/02/19 Срд 20:51:27 1343018138
Аноним 06/02/19 Срд 21:31:18 1343048139
Аноним 06/02/19 Срд 22:24:08 1343080140
>>1342899
>Зачем ты раздаешь свои охуенные советы, если сам нихуяшеньки не шаришь?
Обоснуй мразь
Аноним 07/02/19 Чтв 11:11:35 1343238141
>>1342165
>Где можно про это почитать что-нибудь? Вообще не разбираюсь в pool stack allocator'ах.

Вот статья, правда про кресты.

https://www.gamedev.net/articles/programming/general-and-gameplay-programming/c-custom-memory-allocation-r3010/

Если про зачем это нужно то тут 3 причины:

1) У консолей ограниченная память и без свопа. Чтобы делать ёбу им приходится экономить, а так как еба как правило кросплатформенная, то на пеку переносятся все те же подходы.

2) Как упоминается в статье - частичное избегание стрельбы по ногам с учетом предметной области путем ограничения функциональности аллокаторов.

3) Скорость работы. В тесной связке с файловым движком приобретает большой смысл в опенворлд играх, когда содержимое огромной карты (превышающее размер доступной оперативы в несколько десятков раз) необходимо постоянно кусками прогонять через ОЗУ, в идеале избегая видимых недогрузов и подгрузок.
Аноним 07/02/19 Чтв 18:19:18 1343492142
Собираюсь изучить программирование под unix системы, но в данный момент установить на диск (или дуалбут) linuxbsd не могу, поэтому спрашиваю ответы насчет возможности изучать программирование под unix на шиндовс. Cygwin подойдет? Или надо поставить систему на флешку (не live cd, а именно поставить), or виртуалку с голой консолью (от чего-то тяжелее голой консоли на виртуализации, моя виртуалкоробка улетает к праотцам).
Аноним 07/02/19 Чтв 18:20:22 1343493143
>>1343238
>У консолей ограниченная память и без свопа
А чем это обусловлено? Что за у них особенности в архитектуре, что затрудняет реализацию свопа?
Аноним 07/02/19 Чтв 18:27:15 1343497144
>>1343492
у меня старенький core2duo, 4 гига оперативы, хост - 10я винда
на vmware workstation - debian, i3, консоль и vim, кодить можно без проблем, браузер и pdf-viever так же запускаю в винтуалке чтобы на хост не переключатся

могу порекомендовать сделать примерно так же как у меня
удачи
Аноним 07/02/19 Чтв 18:37:50 1343502145
>>1343497
Спасибо за совет, задумывался как раз над тайлами.
А в vim каково кодить? Можно настроить кошерный автокомплит, подсветку ошибок и прочие радости зажравшихся? Насколько долго учиться кодить в этом, чтобы не сидеть неделю за манами?
Аноним 07/02/19 Чтв 18:47:59 1343509146
На чем на Си можно относительно быстро накидать оконное приложение для Винды? WinAPI кажется слишком низкоуровневым.
Аноним 07/02/19 Чтв 19:13:03 1343523147
Аноним 07/02/19 Чтв 19:39:37 1343549148
>>1343502
есть альтернативный подход к кодингу в виме и в юниксах - в редакторе ты пишешь код
а все остальное делаешь в командной строке и соответствующими утилитами
Аноним 07/02/19 Чтв 19:46:28 1343552149
>>1343523
Не могу найти, где для MinGW, собственно, скачать GTK2. Под MSYS2 не вариант, винапи подергать таки надо. Или всякие юниксовые аналоги "получить список файлов в директории" заведутся?
07/02/19 Чтв 19:57:02 1343558150
>>1343492
VirtualBox (можно взять старую версию, которая без hardening, она гораздо быстрее стартует), разрабатывать в винде, директорию с исходниками расшарить в виртуалку, компилировать и запускать в линуксе. Виртуалку можно запускать в headless режиме, чтобы не мешалась, подключаться к ней по SSH.
Аноним 07/02/19 Чтв 20:27:35 1343566151
>>1343552
Странно, просто по первой ссылке качаешь GTK и подрубаешь либы вместе с хэдерами, можешь это в студии сделать (только поставь компилировать как сишный код). А вообще по идее msys тоже думаю, что подойдет, но проще будет первый вариант. Также если тебе не критично плюсоватость, то есть Qt, там быстро-легко интерфейс накидай и уже функционалом займись.
Аноним 08/02/19 Птн 05:49:57 1343766152
Кто байтоебил с IPTV протоколом? Дайте описание формата, пазязя.
Аноним 08/02/19 Птн 17:01:28 1344070153
Как сделать приложение под линукс на сишке? Т.е. можно было бы выбрать гуй это или в командной строке.
Также чтобы это можно было установить как пакет. Не совсем понимаю как это должно устанавливаться, походу через make && make install.
Аноним 08/02/19 Птн 17:23:59 1344087154
>>1344070
То есть тебе интересно как оформить приложение в .deb(-ВСТАВЬ НАЗВАНИЕ СВОЕГО ЛУЧШЕГО ДИСТРА) архив? В интернете есть масса информации по этому поводу, думаю, нам тут нет смысла это рассказывать. Не из жадности так говорю, а из здравой рациональности.
Аноним 08/02/19 Птн 20:14:58 1344186155
>>1339788 (OP)

Товарищи, помогите, пожалуйста, с регулярными выражениями (а именно - с библиотекой regex.h)

Надо из строки вычленить даты форма HH:MM и вывести. Регулярное выражение я составил и протестил, а вот с реализацией через regex.h - проблемы... Не подскажете, что я делаю не так?

https://ideone.com/Op2sZI
Аноним 08/02/19 Птн 23:38:44 1344315156
Аноним 09/02/19 Суб 01:08:05 1344337157
>>1344315
Суть я понял. Типа искать первое встречное совпадение, после чего смещать указатель на конец этого совпадения, и по новой.

Но зачем тогда нужен параметр nmatch в regexec?
int regexec(const regex_t preg, const char string, size_t nmatch, regmatch_t pmatch[], int eflags);

Бывают случаи, когда nmatch > 1?
Аноним 09/02/19 Суб 01:48:09 1344353158
>>1344337
Оно нужно, когда ты хочешь помимо (или вместо) куска текста, соответствующего всему регулярному выражению, доставать части в скобках.
Первый regmatch соответствует всему выражению, каждый следующий — подвыражениям в соответствующих скобках, в порядке появления открывающих скобок.
У тебя там 4 пары скобок + регулярное выражение целиком, итого 5 значений.
19:36 соответствует выражению целиком.
Первое 19 соответствует всему подвыражению (([0-1][0-9])|(2[0-3])) так как подходит под первую часть условия "или" внутри него.
Второе 19 соответствует просто ([0-1][0-9]).
Далее выводится пустое место, потому что в общем тексте совпадения "19:36" подвыражению (2[0-3]) ничего не соответствует.
И наконец идет 36, соответствующее последней паре скобок ([0-5][0-9]).

Таким образом нужное количество regmatch'ей в массиве зависит от того, сколько пар скобок тебе нужно анализировать. Если тебе нужно только все совпадение целиком, то можно обойтись без массива.
Аноним 09/02/19 Суб 01:56:05 1344355159
>>1344353

Понял. Принял.
Огромное спасибо!
Аноним 09/02/19 Суб 13:10:07 1344455160
еси я пишу:

char ☆ baz = malloc(10);

то нолик(\0) автоматически ставится вконце массива baz?

если нет, то как мне вставлять нолик вконец?
Аноним 09/02/19 Суб 13:44:50 1344463161
>>1344455
malloc просто выделяет динамическую память и всё. А ноль должен стоять не в конце памяти, а в конце строки(то-есть после нуля может быть ещё доступная память)
Аноним 09/02/19 Суб 13:45:44 1344464162
>>1344463
А как же тогда обезопасить свой код от стэк оверфлоу?
Аноним 09/02/19 Суб 13:52:13 1344467163
>>1344464
Во-первых есть стандартные функции работы со строками, во-вторых пиши остальное сам. Что тебе конкретно то нужно, вопросы совсем новичковские, почитал бы сперва по сайтикам.
Аноним 09/02/19 Суб 13:53:53 1344470164
>>1344464
>А как же тогда обезопасить свой код от стэк оверфлоу?
Использовать Rust.
Аноним 09/02/19 Суб 15:25:38 1344521165
Есть большая структурка, в ней элементы различных типов. Надо заполнить ее из файла, там key = value, ну и скобки иногда. Парсинг-то я сделал, но как по человечески ее заполнить? Пока у меня только тонна строк типа if(!strcmp(key,...
Аноним 09/02/19 Суб 15:49:41 1344538166
>>1344521
А, вот, пришла идейка накостылить hashmap (или как оно там называется?) для нужных мне типов данных и сгруппировать поля в них. Насколько плохая идея?
Аноним 09/02/19 Суб 16:07:37 1344555167
>>1344538
Почитал еще - просто ассоциативный массив. Наверное, будет нормально.
Аноним 09/02/19 Суб 16:25:33 1344581168
Правильное предсказание ветвления вообще замедляет процесс? Допустим если главном в цикле только единожды срабатывает условие. Я обернул его в макрос if(__builtin_expect(!!(x), 0)), будет ли комп после первой ошибки пролетать его не замедляясь?
Developer 09/02/19 Суб 18:29:31 1344665169
I need to create a converter from DJVU to PDF for linux (ubuntu). What do i need to know for this project? Which way to go to solve this?
Аноним 09/02/19 Суб 19:18:46 1344705170
Аноним 09/02/19 Суб 20:38:27 1344741171
>>1344665
Linux or Windows, this is not important in this question. You must:
1) Read about DJVU format documentation
2) Read about PDF format documentation
3) ???
4) Profit
Sosi huj kstati
Аноним 09/02/19 Суб 20:55:47 1344758172
Аноним 09/02/19 Суб 20:57:01 1344760173
09/02/19 Суб 22:05:05 1344805174
>>1344581
> Правильное предсказание ветвления вообще замедляет процесс
Правильное предсказание бесплатное. Неправильное (не важно, хинт, или процессор сам предсказывал) - десятки тактов.

>>1344665
Ty zaebeshsja. PDF dovol'no complicated shit.
Аноним 09/02/19 Суб 22:06:45 1344809175
Аноны, а как вообще портить код на си? Вот я написал на винде, компанул. Получил экзешник. А вдруг я хочу перенести прогу на линукс?
09/02/19 Суб 22:10:59 1344817176
>>1344809
Ну вот на винде ты использовал Windows API. Ты #ifdef-аешь функции, где ты их использовал и пишешь аналогичные реализации с POSIX-функциями и линуксовыми либами. Рано или поздно в твоем коде сама по себе выделится прослойка, которая общается с ОС, тогда ты выделишь ее в отдельный файл или даже либу, а #ifdef-ы снесешь.

Если же ты Windows API не пользовался, а обошелся стандартной библиотекой или уже кроссплатформенными либами, ты просто делаешь cc file.c -lsdelatzaebis -lanotherlibrary, все собирается и даже работает, если в твоем коде нет ошибок.
Аноним 09/02/19 Суб 22:59:26 1344850177
>>1339788 (OP)

По-прежнему Изучаю регулярные выражения.

Пытаюсь вычленить из текста url-ссылки. Но чё-то ссылки вообще не ищутся((9(

https://pastebin.com/F2mBusEV

Может кто подсказать, в чём проблема?
Регулярное выражение тестил здесь: https://regex101.com/ - всё работает вроде как
Аноним 09/02/19 Суб 23:08:04 1344857178
Аноним 10/02/19 Вск 01:26:01 1344905179
>>1344850
Во-первых, чтобы вставить в сишную строку символ \ надо писать его два раза подряд: \\.
Во-вторых, posix'ные регулярные выражения не поддерживают некоторые штуки типа \d, \w и тому подобного, и вместо этого нужно писать [[:digit:]], [[:alnum:]] и всякое такое.
В итоге должно получиться что-то вроде этого:
"([[:alpha:]]+://)?(www\\.)?([[:alnum:]]+\\.)+[[:alnum:]]+(:[[:digit:]]+)?(/|(/[[:alnum:]]+)+\\.[[:alnum:]]+)?"
Аноним 10/02/19 Вск 01:36:43 1344909180
Аноним 10/02/19 Вск 07:44:15 1344930181
Why you use C, ctards? We have C++.
Аноним 10/02/19 Вск 10:12:32 1344962182
>>1344930
Правильно Why do you use C, ctards, while we have C++?
Аноним 10/02/19 Вск 11:02:32 1344972183
10/02/19 Вск 21:46:59 1345342184
>>1344930
> We have C++.
Сочувствую всей душой.
Аноним 11/02/19 Пнд 01:17:34 1345423185
>>1344972

Правильно буит "Danke schön". А если ö на клаве нет, то пишут "Danke schoen".

Ибо schon и schön - совсем разные слова. Глаза режет.
Аноним 11/02/19 Пнд 03:13:23 1345442186
15045423721381.jpg (187Кб, 1600x1144)
1600x1144
Поступила в школу 21. Через месяц будет сложное изучение С.
Дайте интересных занятий для проверки своих скиллов. Хочу утереть двачеров, которые говорят, что тянки не могут в программирование.
11/02/19 Пнд 07:54:23 1345466187
>>1345442
Занятий или заданий? Задания в гуглокартинках по запросу warosu programming challenges, занятия CS50 в гугле и книги из шапки.

> тянки не могут в программирование
> занятий для проверки скиллов
Да они даже в русский язык не могут.
Аноним 11/02/19 Пнд 07:55:35 1345467188
Аноним 11/02/19 Пнд 10:41:39 1345515189
Снимок экрана 2[...].png (39Кб, 587x185)
587x185
Как это работает та аааа памагити
Аноним 11/02/19 Пнд 11:09:19 1345526190
>>1345515
Перепишешь на хвостовую рекурсию - расскажу.
Аноним 11/02/19 Пнд 11:11:39 1345527191
>>1345515
При n меньше 1 будет выдавать хрень, низачот.
Аноним 11/02/19 Пнд 11:13:20 1345529192
>>1345527
Да, всё верно, это для натуральных чисел. Памагите
Аноним 11/02/19 Пнд 11:19:36 1345530193
>>1345529
Добавь после ифа ещё один иф, который печатает "только натуральныеы", если 'n' окажется меньше 1. Либо смени, чтобы if(n>1)... else printf "только натуральныеы" А вообще это обычная рекурсия. Функция вызывает саму себя, понижая каждый раз 'a', прибавля 'n' к промежуточной переменной, которую вернёт когда все рекурсивные вызовы функций завершатся и самая первая функция вызвавшая рекурсию вернёт результат промежуточных вычислений.
Аноним 11/02/19 Пнд 11:21:21 1345532194
>>1345530
а не, пизжу. Понижается 'n', прибавляя 'a'.
фикс*
Аноним 11/02/19 Пнд 11:48:48 1345542195
>>1345530
а какой смысл в строчке 'return a' ? Ведь она возвращяет всегда то что дали ей вначале a!
Аноним 11/02/19 Пнд 11:55:23 1345546196
>>1345542
Это условие окончания рекурсии, типо a умножить на 1 = а.
Распиши как эта функция будет работать хотя бы при н = 3, и поймёшь что к чему.
Аноним 11/02/19 Пнд 11:56:24 1345547197
>>1345546
Пипец ты умный, у тебя блога нету?
Аноним 11/02/19 Пнд 11:57:56 1345548198
>>1345547
мимо
в том числе и про блог, хотя насчёт того анона - хз
Аноним 11/02/19 Пнд 11:58:47 1345549199
>>1345546
>Распиши как эта функция будет работать хотя бы при н = 3
Я пробую, нихуя не понятно всё равно
Аноним 11/02/19 Пнд 12:01:24 1345552200
>>1345549
Если хочешь хорошо разобраться с рекурсией, поработай с бинарными деревьями, хотя я думаю тебе рановато ещё.
Аноним 11/02/19 Пнд 12:04:08 1345556201
>>1345549
В конкретно это случае, давай я распишу.
3 умножить на а = 2 умножить на а + а = 1 умножить на а + а + а ==
Теперь мы попадаем в наше условия окончания рекурсии, что а на 1 это а, и подставляем.
== а + а + а.
Надеюсь поймёшь.
Аноним 11/02/19 Пнд 12:08:32 1345561202
>>1345556
а бляьб... смысл в том чтобы каждый раз а у нас было. спасибо аноны, буду ебать бинарные дервья наверно.
Аноним 11/02/19 Пнд 12:11:26 1345563203
>>1345556
>3 умножить на а = 2 умножить на а + а = 1 умножить на а + а + а ==
блеть ты гений, где работаешь, расскажи о себе. вышка есть?
Аноним 11/02/19 Пнд 12:18:37 1345566204
>>1345556
Ты только на C пишешь?
Аноним 11/02/19 Пнд 12:22:59 1345569205
>>1345563
Я работаю системным девом по факту, пишу драйвер под линукс.
Вышки ещё нет, третий курс пока что.
>>1345566
Ну немного балуюсь питоном, ещё на работе всякие баш-скрипты пишу и CI на ямле пилил.
В принципе плюсы я тоже более менее знаю, но на работе применять их негде, т.к. в ядро не примут драйвер написанный на плюсах, хех.
20 дал если что.
Аноним 11/02/19 Пнд 12:43:26 1345576206
Аноним 11/02/19 Пнд 13:02:10 1345590207
>>1345442
Я двачер, который не прошел бассейн, зачем так грубо про нас..?
Могу только дать совет учить и понимать смысл, а не гнаться за очками. Потому что экзамены важнее. Не копипасти чужой код, даже если в жопе рейтинга. Да и еще, они смотрят на прогрессию, если ты получил 3 лвл, а экзамены пишешь на 0, то это тревожный звоночек. Лучше иметь 1 лвл, но сдать все экзы на 30-60 балов
И ты уже проявляешь не самостоятельность, когда пишешь тут такие просьбы. А могла бы тыщу сайтов загуглить сама (в шк этот навык гугления понадобится) И желательно на инглише гуглить тоже.

И вообще я это все рассказываю, не потому что ты тян или мне понравилась ты мне уже не понравилась своим "утереть нос"
А потому что я уже не поступлю в эту школу, в договоре написано что шанс 1 раз на жизнь. Так что спускаю их важные данные.
Аноним 11/02/19 Пнд 14:17:23 1345624208
>>1343493
>А чем это обусловлено? Что за у них особенности в архитектуре, что затрудняет реализацию свопа?

Его отсутствием в операционной системе соснулей.

Можешь спиздить на русракере SDK PS4, там про все подробно. Если в кратце - на соснулях уже давно обыкновенные ОС с точно такой же хуевой тучей библиотек, времена ебания регистров на ассемблере закончились лет так 15-20 назад.

Аноним 11/02/19 Пнд 15:12:02 1345641209
>>1345423
>"Danke schoen"
Спасибо, всегда не знал, что делать в случаях, когда лень ставить фашистораскладку.

Какой левел языка?
Аноним 11/02/19 Пнд 15:53:02 1345658210
>>1345442
> Можно ли обучаться дистанционно?
> Нет, вы должны лично присутствовать в Школе 21 в Москве, поскольку основная часть процесса обучения проходит в прямом взаимодействии с другими студентами. К тому же все учебные материалы хранятся в электронном виде во внутренней сети Школы 21, и чтобы получить их, вы должны прийти в школу.
Ясно, хуета.
Аноним 11/02/19 Пнд 15:59:56 1345668211
>>1345442
>Сложное изучение
>stdlib only и ограничение сложной логики
lol
Аноним 11/02/19 Пнд 16:18:25 1345675212
>>1345668
Ну там заставляют все писать без for / print
Аноним 11/02/19 Пнд 16:30:22 1345684213
>>1345675
Что значит без фор?
Если тебе нужно будет заполнить массив определенным способом ты будешь каждому элементу отдельно присваивать, не юзая for?
Хуйня какая-то.
базарю очередные юзлес курсы, которые ничем не отличаются от так же бесплатных курсов из инета
Аноним 11/02/19 Пнд 18:05:24 1345781214
>>1345675
Это и означает без сложной логики. Судя по базе заданий, там дают фундамент для последующего изучения алгоритмики. Оно и понятно, новичкам ни в одном языке сложную логику не дадут, иначе они нихуя не выучат.
Аноним 11/02/19 Пнд 19:20:54 1345854215
>>1345781
>for / print
>слолжная логика
Аноним 11/02/19 Пнд 20:02:23 1345890216
>>1345854
Ебучий долбоеб научившийся по хело ворлдам с /пр высирать в джейпейн параше свои дженерик проги считающие гыыы скока я ебал телок веди имя узнай знаю ли я пацана с таким иминем))) плиз завали ебало и не пиши ничего. Если ты не понимаешь почему новичкам в си даже на самых тупых курсах в стерлитамаке не дадут а первые месяцы ничего кроме вайла ну или свича с одним кейсом — просто иди нахуй тупой выродок
Аноним 11/02/19 Пнд 20:36:44 1345922217
>>1345890
Так почему?
Это что усложняет обучение?
Или юзать фор запрещено каким-то кодстайлом?
Аноним 11/02/19 Пнд 20:45:41 1345934218
>>1345922
Ты че тупой? Как думаешь почему в школе треугольники изучают раньше чем призмы и функции? Или ты в шестом классе так же пиздел училкам мол где мои интегралы Мань Аркадьевна зачем мне эту хуйню учить можно же из библиотеки 1996васянлиб функцию вызвать!!!)))
Ладно скажу тебе чтобы ты понял получше, очевидно они там готовят не макак-дизайнеров, а реальных программеров, по вашему терминалоебов.
Аноним 11/02/19 Пнд 20:54:27 1345939219
>>1345934
Блядь, чем фор сложнее вайла, ты какую-то хуйню несёшь.
А я могу считаться терминалоёбом ака реальным программером, если я пишу драйвер в ядро?
Нам не запрещали в универе на первом курсе юзать принтфы или фор/ду вайл.
Аноним 11/02/19 Пнд 21:18:14 1345963220
>>1345939
>Блядь, чем фор сложнее вайла, ты какую-то хуйню несёшь
>>1345684
>Что значит без фор?
>>1345684
>Если тебе нужно будет заполнить массив определенным способом ты будешь каждому элементу отдельно присваивать, не юзая for
>>1345939
>Нам не запрещали в универе на первом курсе юзать принтфы или фор/ду вайл.

Пиздец. Это точно Си тред? Как можно не вспомнить про goto блять. Сразу видно ни строчки кода на ассемблере не писали.
мимо фп господин
Аноним 11/02/19 Пнд 21:51:33 1345977221
>>1345963
Если их научат правильно пользоваться goto, окей просто, но тыкать goto там, где можно обойтись без него полный бред, только ухудшает читаемость.
да это си тред и тут есть встроенные циклы
Аноним 11/02/19 Пнд 22:08:19 1345989222
>>1345590
А что там было на бассейн, что ты не прошел? Там вроде бы всё легко быть.
Аноним 11/02/19 Пнд 22:35:09 1346021223
>>1345989
Хочешь поподробнее разузнать да? Девочка?
Ну спроси ,что конкретно тебя интересует. Может отвечу. А пилить гигантские пасты мне не кайф, и так много тебе дал уже подсказок
Аноним 12/02/19 Втр 00:08:21 1346103224
>>1345989
Проходил осенью интенсив в юнитфактори, тоже самое, но возможно от школы к школе меняются подходы. Первую неделе ебете линукс до посинения, начинаете разбирать си, собственно следующие 3 недели только сижкой и занимаетесь. В конце первой недели проект вдвоем, после второй — втроем, и на третьей впятером. Последняя неделя — несколько больших пректов, но абсолютное большинство успело сделать только один
Если никогда не работала на маке, советую заранее разучить хоткеи, всякие прыгания по страницам, в конец строки, и самое полезное — control+shift+enject
Не забывай проверять свои работы перед заливкой на вогсфер, не стесняйся спрашивать у шарящих ребят, ни при каких условиях не заебывай админов, даже если кажется , что они не заняты, хорошо высыпайся и не пытайся что-то сделать дома. Не общайся с одними и теми же людьми, всегда ищи новых и учись у них чему-то бтв юзание дебагеров приравнивается к читингу. Ну и само дальнейшее обучение по крайней мере в Киеве того не стоит, но бассейн это супер экспириенс.
Аноним 12/02/19 Втр 00:48:38 1346115225
>>1345442
О чём ты вообще? Какое ещё сложное изучение через месяц?
>>1345590
Этого не слушайте. Система отбора никому неизвестна, главное стремиться поступить и усердно трудиться.
>>1345989
Если до школы не программировал, то задания на бассейне не будут казаться лёгкими.

четвёртый месяц в школе 21 задавайте ответы
Аноним 12/02/19 Втр 01:12:04 1346121226
>>1346115
>главное стремиться поступить и усердно трудиться.
А он что по твоему сказал? даун
Аноним 12/02/19 Втр 10:37:03 1346223227
>>1346115
что задания делали, чтобы примерно понять логику.
думаю между институтом и школой.
Аноним 12/02/19 Втр 12:32:01 1346269228
>>1346103
> юзание дебагеров приравнивается к читингу
Ну охуеть теперь. Мне принтфами отлаживать чтоле?
Мимо
Аноним 12/02/19 Втр 12:56:30 1346278229
>>1346269
Для лаба1.ц дебаггер не нужен, как и принтфы отладочные в принципе.
Аноним 12/02/19 Втр 15:04:15 1346331230
>>1346269
Я только так и умею. Получается довольно неплохо по крайней мере все работает, хотя я понимаю, что с приличной конторки меня бы выгнали ссаными тряпками.
Нииблядь
Аноним 12/02/19 Втр 16:36:17 1346372231
Exercise.JPG (39Кб, 1123x102)
1123x102
mysolution.JPG (65Кб, 542x898)
542x898
Output.JPG (26Кб, 490x307)
490x307
Привет сигоспода.
Прохожу Прату, на пике задача.
В принципе, решение из вереницы if-ов приходят сами на ум. Гугление показало что практически все решили именно через простыню if-ов.
Но заебавшись в 10й раз переписывать if-ы да, я тупой, решил по-своему.
Ты наверное будешь смеяться над ньюфагом, а мне вот дичайше прёт что я написал понятный мне код.
Просто хотел поделиться.
И вопрос есть - если например железо поддерживает операцию swap как атомарную, как ее вызывать? Через ассемблерные вставки?
Спасибо.
Аноним 12/02/19 Втр 16:53:26 1346381232
>>1345641

B1, однако

Лушше б англицкий учил, ий-богу
Аноним 12/02/19 Втр 20:16:03 1346467233
>>1346115
Новый бассейн начинается 25 февраля.
Что было на старом? Что вы изучали, что ты вылетел с бассейна?
12/02/19 Втр 20:28:06 1346473234
>>1346372
> если например железо поддерживает операцию swap как атомарную, как ее вызывать
Компилятор и сам может сгенерировать. Но зачем тебе атомарно? Ты бы лучше в restrict поиграл, там ему самое место.
Аноним 12/02/19 Втр 20:30:59 1346474235
>>1346473
>Компилятор и сам может сгенерировать.
А как он знает что надо сгенерировать? Он видит что я взаимоменяю значения?
Аноним 12/02/19 Втр 20:36:59 1346480236
Лдоьд
Аноним 12/02/19 Втр 23:18:40 1346555237
Что почитать по использованию записи "дополнение до 2" с символьной арифметикой? И вообще про операции сложения, умножения со знаковыми и беззнаковыми различной длины. Просто средства контроля переполнений и ошибок в процессорах различных семейств...
А то как-то сухо везде, "вот это так делается - делайте так же".
Хочется историю, мотивацию к созданию.
Можно док-ва из дискретки тоже, что всё это работает, только вкратце, вводить в дискретку талмудами не надо.
12/02/19 Втр 23:23:41 1346558238
Хочу придумать новый язык программирования.
Высокоуровневый, мультипарадигма и без ооп. Сейфовый, сверхбыстрый и простым синтаксисом.
Сверхбыстрый за счёт увеличения времени компиляции.
Тогда даже Си пососет.
Вопросы?
Аноним 12/02/19 Втр 23:25:18 1346559239
>>1346558
Полностью без объектизации? То есть даже препроц и библиотеки нахуй? 0_0
Аноним 12/02/19 Втр 23:30:54 1346560240
>>1346558
Структуры из указателей на функции там будут?
Аноним 13/02/19 Срд 00:23:05 1346579241
>>1346559
Можно запилить, чтобы удобно было
>>1346560
Посмотрим как можно сделать это безопасно

Главное еще, супергибкость!
13/02/19 Срд 01:33:03 1346602242
>>1346558
> сейфовый
> сверхбыстрый
Выбери что-нибудь одно.

> Сверхбыстрый за счёт увеличения времени компиляции.
Фортран?

> Тогда даже Си пососет.
Нет.
Аноним 13/02/19 Срд 01:51:17 1346607243
>>1346602
>Выбери что-нибудь одно.
Сделав умнее компилятор и возложив больше усилия на компилятор, мы получим сверхбыстрый код
>Фортран?
Нет
>Нет.
Да
Аноним 13/02/19 Срд 04:00:11 1346624244
Анон из школы 21.

Как сделаешь такой код более быстрым и удобным?

#include <stdio.h>
int main() {
int height = 0;
int nbLeaflets = 0;
scanf("%d %d", &height, &nbLeaflets);
int tinuviel = height <= 5 && nbLeaflets >= 8;
int calaelen = height >= 10 && nbLeaflets >= 10;
int falarion = height <= 8 && nbLeaflets <= 5;
int dorthonion = height >= 12 && nbLeaflets <= 7;
if(tinuviel) {
printf("Tinuviel");
}
if(calaelen){
printf("Calaelen");
}
if(falarion){
printf("Falarion");
}
if(dorthonion){
printf("Dorthonion");
}
if(!tinuviel && !calaelen && !falarion && !dorthonion){
printf("Uncertain");
}
return 0;
}
Аноним 13/02/19 Срд 04:06:36 1346625245
Аноним 13/02/19 Срд 04:28:36 1346626246
>>1346625
Ты из школы 21? Если нет, то проходи мимо.
Аноним 13/02/19 Срд 04:54:54 1346628247
>>1346626
Прошел тебе за щеку
Аноним 13/02/19 Срд 05:40:05 1346632248
>>1346628
Сразу видно дауна, который даже бассейн не пройдет.
Аноним 13/02/19 Срд 06:06:49 1346641249
Аноним 13/02/19 Срд 10:32:30 1346700250
>>1346632
Пиздец, это вот этому учат в этой школе: пытаться соптимизировать код из 5 ифов?
Ебать как полезно.
Скоро дойдете до оптимизации кода из одного принтфахелоу ворлд
Даже интересно, вас там будут чему-то реально полезному учить или вот такой хуйнёй будете все время заниматься.
Лучше сами что-то немного изучили и начали свой проект пилить, любой, и то больше опыта бы было.
не блядь, серьёзно? вот ето — хваленая школа 21?
Аноним 13/02/19 Срд 10:43:27 1346709251
Ща потекут задачи из школы..
Вы хоть оформляйте нормально, а не кидайте как есть
Аноним 13/02/19 Срд 10:43:52 1346711252
Сап, анон. Брату в шарагу нужно написать на плюсах программу сортировки пузырьком одномерного массива, который вводится с клавиатуры и имеет 5 элементов. Сам я веб-макака и с плюсами не знаком, можешь накидать код, пожалуйста? Делов на 2 минуты, а я благодарен тебе буду очень.
Аноним 13/02/19 Срд 10:54:23 1346719253
>>1346711
Здесь базовый С. Братишь, тред плюсов дальше.
Аноним 13/02/19 Срд 10:54:42 1346720254
Аноним 13/02/19 Срд 10:56:31 1346723255
>>1346719
Спасибо, написал туда.
Аноним 13/02/19 Срд 10:56:53 1346724256
>>1346720
Ебать у тебя ценник. Мог бы и правдоподобнее выставить.
мимо
Аноним 13/02/19 Срд 10:57:12 1346725257
271640151015616[...].jpg (170Кб, 2048x1365)
2048x1365
>>1346720
За 5к я тебе хело ворлд на хтмле напишу, хочешь?
Аноним 13/02/19 Срд 11:01:33 1346730258
>>1346724
Нормальный ценник, а со школочмошников нужно брать в джва паза больше
Аноним 13/02/19 Срд 11:29:38 1346740259
Что лучше подойдёт для вкатывания, vs community или vs code?
С программированием в принципе знаком почти 10 лет. Но серьезно никогда не занимался.
Аноним 13/02/19 Срд 11:40:54 1346746260
>>1346740
Короче, пока vs code. В студии я работал какое-то время, но там слишком много пока ещё ненужных вещей, которые занимают место.
Аноним 13/02/19 Срд 12:15:09 1346757261
>>1346746
В студии есть встроенный компилятор, к вс код нужно прикручивать или компилятор от студии или мингв ставить.
Аноним 13/02/19 Срд 13:17:29 1346780262
>>1346757
Я поставил мингв. Вроде бы работает, но почему-то дебагер не видит gdb. Он же идёт вместе с мингв, разве нет?
Аноним 13/02/19 Срд 13:22:05 1346784263
1.PNG (28Кб, 763x561)
763x561
2.PNG (6Кб, 585x140)
585x140
Аноним 13/02/19 Срд 13:30:43 1346793264
>>1346780
Не уверен, лучше погугли.
Аноним 13/02/19 Срд 13:31:24 1346794265
>>1346784
грит, что у тебя в переменной miDebuggerPath должно быть что-то помимо "gdb". Найди поиском путь до gdb и впиши этот путь в переменную. Как мне кажется.
Но я тут просто мимио ошиваюсь
Аноним 13/02/19 Срд 13:34:57 1346801266
1.PNG (33Кб, 628x547)
628x547
>>1346794
Он в той же папке что и компиляторы. Ладно, поищу дальше что можно сделать
Аноним 13/02/19 Срд 13:39:11 1346805267
>>1346801
А у тебя компилятор сам-то хоть работает? Потому что если компилятор не видит, то значит у тебя в environment нет переменной, в которой находится путь до компилятора и дебагера. Я к тому, что там в предыдущем пикриле должно быть, наверное, не просто gdb, а full_absolute_path/gdb.exe
Аноним 13/02/19 Срд 13:41:14 1346806268
>>1346801
асло, попробуй ещё закомментировать в json-настройке переменную "setup commands" и всё, что с ней связано и тогда запустить дебагер.
Аноним 13/02/19 Срд 13:43:13 1346809269
1.PNG (20Кб, 495x582)
495x582
2.PNG (11Кб, 692x156)
692x156
>>1346805
В path естественно всё прописано, и бинарник он создаёт.
Если путь до дебагера прописывать другим образом, то он просто не находит его.
Аноним 13/02/19 Срд 13:44:00 1346811270
>>1346806
Не влияет. То же самое
Аноним 13/02/19 Срд 13:52:27 1346815271
>>1346809
Программа работает.
Дебаггер не работает или его нет
Аноним 13/02/19 Срд 13:52:48 1346816272
>>1346801
А ещё в ошибке указано, что переменная назывется "MIDebuggerPath", но в настройках переменная называется "miDebugerPath". Я так-то хз критичен ли тут регистр, но мне кажется, что критичен.
>>1346809
А разве в винде нормально, что путь начинается от корня? Я бы заменил слэши на бэкслэши. И либо вписал "C:\Programm FIles\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin\gdb.exe ", либо "${path}/gdb".
Но очевидно, что тут что-то ещё помимо этого. Но на этом мои полномочия всё.
Аноним 13/02/19 Срд 13:55:09 1346818273
>>1346816
Я и отдельную переменную для miDebugerPath делал, и полный путь писал. Безрезультатно.
Аноним 13/02/19 Срд 13:57:13 1346820274
И при этом всём красноглазиков после такого называют пердолями, хотя на винде это вот так вот делается, лол.
Аноним 13/02/19 Срд 13:59:11 1346822275
1.PNG (1Кб, 269x38)
269x38
Пиздец. Вот в чём дело было-то, лол
Аноним 13/02/19 Срд 14:05:43 1346824276
>>1346820
Можно было студию ставить, но она ненужна пока.
Аноним 13/02/19 Срд 14:19:41 1346831277
Аноним 13/02/19 Срд 14:20:02 1346832278
>>1346624
Чем твоя школа от курсов говна отличаются?
Аноним 13/02/19 Срд 14:40:11 1346844279
Аноним 13/02/19 Срд 14:42:39 1346845280
>>1346844
це не язык. це формат передачи данных json, который вытесняет xml, ну, или не вытесняет, но конкурирует с ним. А если ты про язык, на котором обычно пишут, то это английский, ну и судя по тому, что настраивался мингв под студию, то это язык программирования Си, как и тред, в котором мы находимся.
Аноним 13/02/19 Срд 15:33:28 1346872281
>>1346844
Это просто скрипт для консоли чтоб компилить/дебажить с одной кнопки
Аноним 13/02/19 Срд 15:40:00 1346877282
Capture - Copy.JPG (38Кб, 656x717)
656x717
Аноним 13/02/19 Срд 15:42:17 1346881283
Аноним 13/02/19 Срд 16:43:05 1346920284
>>1346820
Пердолик поставил на винду пердовысер (даже два!) и пердолится. Что удивительного?
Нормальные люди ставят студию и работают, но пердоли работать не могут, вот и ставят пердософт имитируя деятельность пердоленьем с ним.
Аноним 13/02/19 Срд 16:47:20 1346922285
>>1346920
Вс код тоже проект мелкомягких, как и студия, какие проблемы?
Он удобный и намного легче студии.
я не говорю, что студия хуже вс кода, каждый пользуется тем, чем ему удобно, нет смысла осуждать кого-то за выбор рабочего окружения
Аноним 13/02/19 Срд 16:57:59 1346929286
>>1346922
>какие проблемы?
Твой дебилизм проблема. И мингв и вскод это линуксовые пердовысеры, какая разница кто их делал. Ни то ни другое на винде не нужно, там есть студия, в 100500 раз лучше, и всё работает без пердоленья. Но пердоля бесполезен, ему страшно когда всё работает, ведь тогда придется что-то делать - программировать, а он не может, вот и качает пердовысеры и ебется с ними, отттягивая неизбежное осознание собственного ничтожества.
>намного легче студии
Студий дохуя версий, качаешь подходящую к твоему железу. Всё равно любая будет бесконечно лучше пердовысеров.
>каждый пользуется тем, чем ему удобно
>У МИНЯ НИРАБОТАИТ, ПОСОНЫ ПАМАГИТИ, Я ТУПОЙ
Такое-то удобство, азаза. Именно потому что тупой, и ставит пердософт. Как выше и обяснил, пердософн прекрасно подходит дебилам, сознавая из ничего занятие на пустом месте, как колесо для хомячков, в котором они радостно крутятся, воображая что умные и делают умные дела.
Аноним 13/02/19 Срд 17:49:49 1346961287
>>1346929
Бля, ты какой-то дегенерат, который дико топит за конкретное ИДЕ, хотя ИДЕ это просто инструмент, можно в блокноте код писать, правда только для лаборатории подходит, т.к. серьезные проекты писать без нормального редактора довольно проблемно.
чувак, лечись в тебе слишком много злости
Аноним 13/02/19 Срд 17:58:06 1346967288
>>1346929
Я не ставил студию потому что там много ненужных мне на данных момент вещей. Как научусь грамотно писать проекты - поставлю. А пока функционала vs code мне хватает.
Машина тянет студию, просто у меня и так дохуя тяжеловесных программ типа матлаба и прочих cad/cae. Если есть альтернатива более лёгкой (и удобной естественно) версии программы, то почему нет? К тому же будет полезный опыт настройки чтоб понять что к чему и куда идёт.

И вопрос, почему это работает
for (int i = 0; i < (p2 - 1); i++)
а в случае передачи значения p2 через указатель - не работает
for (int i = 0; i < (*p2 - 1); i++)


Аноним 13/02/19 Срд 17:59:56 1346969289
>>1346967
Давай полный код, по циклу непонятно, почему у тебя это не работает.
Аноним 13/02/19 Срд 18:08:58 1346975290
Посоны, студия так и не научилась в С11 нормально? Clang for windows походу тоже сдох, нипописать на няшной сишечке пол венду походу.

Хотя можно сбилдить вижлой кажись, или цыгвин скочать. В чём разница будет? Что с С ABI будет? Смогу винапи юзать? А опенгл?
Аноним 13/02/19 Срд 18:14:13 1346978291
Аноним 13/02/19 Срд 18:23:35 1346986292
Ай, блять, даже если конпелятор нормальный завести, всё равно нормальной стандартной либы не будет.
Аноним 13/02/19 Срд 19:06:53 1347019293
>>1346929
Опять чмо оправдывает кусок виндового говна.
Аноним 13/02/19 Срд 19:15:43 1347030294
>>1347019
>чмо
Перестань загаживать уютный тредик.
Аноним 13/02/19 Срд 19:16:40 1347031295
Добрый вечер.
Можете вкратце но аргументированно объяснить почему программист на c# или backend зарабатывает в среднем ощутимо больше, чем на c?
Спасибо.
Аноним 13/02/19 Срд 19:17:59 1347035296
>>1347031
Задачи разные плюс сложность изучения
Аноним 13/02/19 Срд 19:20:06 1347038297
Аноним 13/02/19 Срд 19:22:33 1347041298
>>1347031
Потому что ооп. А ооп прост для освоения типичному обывателю. Плюс схожесть с другими языками для ооп
Аноним 13/02/19 Срд 19:34:57 1347045299
Только идиот будет писать на сишке сейчас то, что можно написать на расте. Если выбора нет (типа всяких ёба-микроконтроллеров), то ладно, пишите на сишке
Аноним 13/02/19 Срд 19:35:52 1347047300
>>1346967
имхо, студия на винде пошустрее vs code будет..
Аноним 13/02/19 Срд 19:43:04 1347056301
>>1347045
Раст медленный и неудобный, зачем писать на нем?
Аноним 13/02/19 Срд 19:45:09 1347059302
>>1347045
Я твою мать нежно трахал даже предварительно не выделив памяти под свой хуй ибо у нее там ведро пиздец далбаеб иди нахуй
Аноним 13/02/19 Срд 19:45:45 1347060303
>>1347056
>неудобный
Дело привычки.
>зачем писать на нем
Очевидная безопасность
Аноним 13/02/19 Срд 19:46:48 1347061304
>>1347060
Я могу писать безопасно и быстро.
Аноним 13/02/19 Срд 19:48:04 1347063305
15417907200200.jpg (46Кб, 453x604)
453x604
>>1347059
>Я твою мать нежно трахал даже предварительно не выделив памяти под свой хуй ибо у нее там ведро пиздец далбаеб иди нахуй
Аноним 13/02/19 Срд 19:49:50 1347064306
>>1347061
Нет, не можешь, любой может обосраться. Основная хуйня, что Раст помогает писать корректные проги, а Сишка - нет.
Аноним 13/02/19 Срд 19:53:44 1347066307
>>1347063
Предлагаю тебе съебать и заняться делом. Например, выучить какой-нибудь хоть немного полезный язык, а если остаёшься то подготовь свою жопу к принятию моего трехмерного массива
Аноним 13/02/19 Срд 20:03:13 1347073308
Аноним 13/02/19 Срд 20:19:30 1347077309
>>1347073
Не надо кривые руки проецировать на нормальных людей,обрыган.
Аноним 13/02/19 Срд 20:44:20 1347092310
1523833618140.png (92Кб, 250x250)
250x250
>>1347077
>любой может обосраться
>Не надо кривые руки проецировать на нормальных людей
13/02/19 Срд 21:50:31 1347124311
>>1346978
> Это не работает.
А должно? А -Wall компилятору не пробовал указать, чтобы он тебе пояснил, что по адресу N (=5), который ты передал в p2, нету размера массива?
Аноним 13/02/19 Срд 22:08:34 1347140312
>>1347047
Да. Код на джаве написан. Ну и что, зато весит меньше и интерфейс приятный
Аноним 13/02/19 Срд 22:09:45 1347141313
>>1347124
Я вместо N и обычную переменную ставил и просто число. Всё равно.
13/02/19 Срд 22:16:26 1347146314
>>1347141
> Всё равно.
А какая разница, откуда ты берешь число, когда передаешь его вместо указателя? Включи ворнинги, читай ворнинги! А сделать ты хочешь вот это:
int length = N;
bubl(inp, &length);
Аноним 13/02/19 Срд 23:13:33 1347168315
>>1346832
Это франшиза топовой французской школы 42. Обучение бесплатно, требуется только пройти отбор, который тоже бесплатный.
Выпускники сразу претендуют на сеньеора в гугл.
13/02/19 Срд 23:28:04 1347177316
>>1347168
>франшиза
Я бы сказал, говнопародия.
Выпускники такой школы могут только сосать хуй на пару с мамашей.
Аноним 13/02/19 Срд 23:37:48 1347181317
>>1347168
> сеньеора в гугл.
АЙ ЛОЛД
Аноним 13/02/19 Срд 23:43:12 1347188318
67B3786D-352D-4[...].jpg (229Кб, 1124x1656)
1124x1656
Школа 21 полезна в первую очередь комьюнити и мотивацией заниматься, делать совместные проэкты и не охуеть от сычевания в туториалы дома с мамкой.
Аноним 13/02/19 Срд 23:49:08 1347191319
Fh
Аноним 14/02/19 Чтв 00:11:55 1347198320
Сейчас на бассейне по приколу, пришел уже с опытом разработки, и имею щас только 3 уровень, задавайте ответы.
Скажу сразу, что есть подводные камни, из-за которых на деле все сложнее, чем кажется.
Аноним 14/02/19 Чтв 00:12:23 1347199321
>>1347188
Охуел дома от сычевания в туториалы с мамкой. Я на верном пути?
Аноним 14/02/19 Чтв 00:15:42 1347203322
>>1347198
На бассейне можно набирать уровень? Что за задачи делаете? Хотя бы примерно, чтобы понять к чему готовиться.
Аноним 14/02/19 Чтв 00:48:15 1347210323
>>1347203
Можно. Уровень отслеживает твой прогресс. Изучение похоже на типичный С-бугурт-тред: листы, байтоебля, массивы, компилятор. Изучи волл векстра веррор стандарты, ибо после другого языка на си будет перепрыгнуть тяжелее, у меня как у джава-хуя, например, была лютая любовь открывать тело функции в той же строке где она объявлена, из-за чего до 4 дня я получал нулевые отметки, машина даже не будет проверять твои задания, если что-то не по стандарту. Если в задании явно не написано, что определенную функцию/библиотеку/оператор можно применять в задании — значит применять его нельзя. Ну и большинство людей в твоих проектах будут дегенератами, надейся только на себя.
Аноним 14/02/19 Чтв 00:53:49 1347211324
Задания не особо сложные. Если есть базовые знания алгоритмики и понимание типов данных, делать их труда особого не составит, тащемта проверяют они не то как ты пиздато луп с 80 условиями закрутишь чтобы он тебе судоку решил, а твой рост.
Первое же про что почитай — типы данных, большинство людей, что на бассейне, что в /пр нихуя не могут именно из-за того что в первую очередь не понимают с чем работают.
Аноним 14/02/19 Чтв 00:56:39 1347212325
>>1347211
Про типы данных жиза. Уже второй год пошёл, как я учусь, а до сих пор не понимаю, как флоаты хранятся. И даблы соответственно.
Аноним 14/02/19 Чтв 01:03:32 1347214326
>>1347198
>из-за которых на деле все сложнее, чем кажется.
Поясни за камни? Был на встрече, хотел спрашивать студентов, но мне сказала Руслана, что такие вопросы нельзя задавать.
Аноним 14/02/19 Чтв 01:06:10 1347215327
>>1347198
Куда планируешь на стажировку идти?
Аноним 14/02/19 Чтв 01:26:19 1347219328
>>1347215
Никуда не планирую, я пошел с другом новичком, ибо ему одному было стрёмно, социофоб хека.

>>1347214
Я что ли ебу о чем ты там спрашивал?
Аноним 14/02/19 Чтв 01:59:53 1347223329
>>1347168
Выпускники претендуют?
Вас там будут учить 5 лет, и вы все там будете участвовать в реальных проектах, с настоящим рабочим конвейером, CI настроите, тестеры будут отдельной командой.
Или что, ты думал ты научишься писать крутойты так будешь думать код и тебя без опыта с одной бумажкой возьмут на сеньора?боже, вы такие наивные
Аноним 14/02/19 Чтв 08:03:54 1347283330
>>1347223
Умерь свой баттхерт, просто ты слишком тупой даже для теста на бассейн.
Аноним 14/02/19 Чтв 08:21:18 1347290331
>>1347283
Ну да, я-то уже работаю, зачем мне бассейн с псевдогарантиями.
Аноним 14/02/19 Чтв 08:22:24 1347291332
>>1347290
И всё таки, сколько вас там будут учить? Мне просто очень интересно что вам это даст и как поможет.
Аноним 14/02/19 Чтв 08:52:18 1347301333
Какой смысл от указателей, кроме их использования в массивах? Часто вижу функции, которые на входи принимают именно указатель, даже если там всего-то одна переменная. Зачем?
Аноним 14/02/19 Чтв 09:04:30 1347302334
>>1347301
Чтобы изменить переменную внутри функции, например.
Аноним 14/02/19 Чтв 09:06:07 1347303335
>>1347301
В функцию всегда передается копия аргумента. ТО указатели нужны:
1. Чтобы копировать только указатель вместо большой структуры.
2. Чтобы изменения сделанные внутри функции отразились на переданном объекте.
3. Передача колбеков.
Аноним 14/02/19 Чтв 09:11:23 1347304336
>>1347303
Ну коллбеки это уже указатели на функцию, ему рановато это, пожалуй
Аноним 14/02/19 Чтв 09:16:35 1347305337
>>1347291
Зависит от скорости обучения от 1.5 года до 4. И всё бесплатно. А ты и дальше плати за свою шарагу.
Аноним 14/02/19 Чтв 09:19:49 1347308338
>>1347305
Я на бюджете.
Ну посмотрим, что там из вас сделают,школьные гении.
Аноним 14/02/19 Чтв 09:26:33 1347309339
>>1347303
Если передавать указатель вместо переменной, это значит что он создаёт копию этой переменной и будет занимать больше места в памяти? Значит надо всегда оперировать указателями, даже если нет необходимости менять аргумент?
Просто хочу понять когда имеет смысл использовать указатель, а когда нет.
Аноним 14/02/19 Чтв 09:31:22 1347312340
>>1346624
Почему ты решил в школе выучить невостребованную сишечку? Твоя голоа запилить патч для линуса?
Аноним 14/02/19 Чтв 09:35:19 1347313341
>>1347309
Представь что тебе надо передать один байт. Указатель на него будет занимать 4 байта на 32 битной системе.
Аноним 14/02/19 Чтв 10:20:13 1347338342
Аноним 14/02/19 Чтв 10:41:06 1347351343
>>1347338
Динамическое очко твоей мамаши
14/02/19 Чтв 11:29:18 1347378344
Идите нахуй со своей ебучей школой.
Аноним 14/02/19 Чтв 11:57:20 1347411345
>>1347338
>вижел
Я пока не досмотрел почему, но мне кажется, что последние числа при делении 1/10 это просто данные с соседней ячейки памяти, не связанные с самим результатом деления.
Аноним 14/02/19 Чтв 13:51:17 1347456346
>>1346929
>винде не нужно, там есть студия
А на маке как?
Аноним 14/02/19 Чтв 13:56:13 1347459347
>>1347146
>Включи ворнинги, читай ворнинги!
ок. Только -Wall?
Какие еще полезные флажки нужны?
Аноним 14/02/19 Чтв 14:06:16 1347465348
Аноним 14/02/19 Чтв 14:13:09 1347466349
Аноним 14/02/19 Чтв 15:46:24 1347507350
maxresdefault.jpg (54Кб, 1280x720)
1280x720
Аноним 14/02/19 Чтв 16:14:30 1347519351
Зачем нужен _Bool, если есть char?
Аноним 14/02/19 Чтв 16:24:27 1347529352
>>1339788 (OP)
Чем можно заняться на сишке? Что обычно пишется?
Аноним 14/02/19 Чтв 16:42:38 1347540353
>>1347507
Ну читай теперь хуле . Ты же в школе 21
Аноним 14/02/19 Чтв 16:45:48 1347542354
Сап, анон. Возник такой вопрос.
Например, я задал структуру, например слова с переводом. Ввожу слово в консоли и перевод через '-', все эти строки записываю в файл.
Потом хочу прочитать этот файл и найти перевод нужного мне слова или наоборот. Как организовать поиск нужной строки по файлу без всякой лишней хуйни и динамической памяти(потому что еще не изучил, если она, конечно, в таком роде заданий нужна)?
Аноним 14/02/19 Чтв 17:36:54 1347557355
>>1347540
>Ты же в школе 21
Нет, с чего ты взял? Я похож на того кому меньше 30?
Аноним 14/02/19 Чтв 17:41:12 1347559356
>>1347542
Через связку fgets и sscanf думаю.
Аноним 14/02/19 Чтв 18:12:49 1347566357
>>1347557
Я не знаю на кого ты похож, я же не вижу тебя
Аноним 14/02/19 Чтв 19:04:36 1347588358
Реквестирую небольшие программы на Си, написанные хорошим стилем. Ибо чую я, что костылить ООП в стиле map_get(mymap #m, const char #key, char #value) - хуевый путь.
Аноним 14/02/19 Чтв 19:12:43 1347598359
>>1347588
А в идеале - с использованием WinAPI, и являющиеся редактором конфигов или чем-то похожим.
Аноним 14/02/19 Чтв 21:56:26 1347708360
>>1347559
Можешь по простому объяснить чем scanf от sscanf отличается, а то про эти буферы нихуя не понятно
14/02/19 Чтв 22:18:37 1347726361
>>1347507
Основная проблема стандарта не в количестве страниц, а в языке, которым он написан. Вон мы в самом начале треда обсуждали дереференс, и если бы формулировки были четкими и ясными, да еще не размазанными по половине стандарта, а сгруппированными по смыслу, обсуждать было бы нечего.

>>1347542
> как организовать поиск нужной строки по файлу без всякой лишней хуйни и динамической памяти
Делаешь на стеке буфер достаточно размера (килобайт, например), читаешь строки по одной с помощью fgets, попутно разбиваешь их на слово и перевод с помощью strtok, strcmp проверяешь совпадения (или используешь какую-нибудь нестандартную _stricmp, чтобы не учитывать регистр).

>>1347588
Совершенно нормальный подход, так все и делают. Разве что я бы для удобства чтения привел в соответствие тип и префикс имени: mymap_get(mymap ptr map, ...).

>>1347598
> с использованием WinAPI, и являющиеся редактором конфигов
Винда кэширует полупрожеванные .ini на некоторое время, когда ты делаешь GetPrivateProfileString/Int, поэтому можешь не заморачиваться и читать напрямую, не изобретая никаких внутренних мапов.

>>1347708
scanf() читает из stdin (пользовательский ввод из консоли). sscanf() читает из сишной строки в памяти. Можешь считать, что scanf() - это что-то подобное fgets(buffer, ..., stdin), после которого идет sscanf(buffer, format, ...) хотя на самом деле оно не так реализовано.
Аноним 15/02/19 Птн 05:05:54 1347838362
Объясните мне, почему в 2019 году не убивают сразу за консольные приложения под Windows, все эти printf и scanf. Я понимаю линукс, там консоль юникодная, но под виндой, писать под этот артефакт DOS и не сдохнуть от позора, как так можно жить вообще?
Аноним 15/02/19 Птн 05:12:11 1347839363
>>1347838
Да, ведь как охуенно потом комбинировать кучу оконных прилаг в скриптах.
Аноним 15/02/19 Птн 05:12:41 1347840364
>>1347838
У - Уябывай в макакотред
Аноним 15/02/19 Птн 08:09:01 1347874365
>>1347839
Да, ведь как охуенно натягивать сову на глобус юниксвей на винду, попутно обсирая оконные приложения в системе которая называется "Окна", и при этом думать что ты не дебил.
Аноним 15/02/19 Птн 11:02:59 1347949366
>>1339788 (OP)
есть какие то книги или примеры по функциональному программированию, как правильно писать функции как струтурировать и тд или это все с опытом приходит ?
Аноним 15/02/19 Птн 11:05:44 1347952367
>>1347874
Манька, в каком классе учишься?
Аноним 15/02/19 Птн 11:17:20 1347969368
15/02/19 Птн 11:24:03 1347975369
>>1347838
> линукс, там консоль юникодная
В винде тоже юникодная, в том смысле, что ты можешь выводить и UTF-16, и UTF-8, и все будет норм, только отобразится не все. Да и зачем тебе эмодзи и хангыль в консоли?
Аноним 15/02/19 Птн 14:02:23 1348082370
Стоит ли везде юзать unsigned int, если знаешь, что он не будет отрицательным? Например, в счетчиках?
Аноним 15/02/19 Птн 15:46:43 1348168371
>>1347874
Да, ведь комбинировать программы это юниксвей, а не единственный способ иметь нормальную билдсистему, например.
Аноним 15/02/19 Птн 15:56:33 1348183372
>>1348082
Сам так сперва ставил unsign, где типо положено; но стали возникать возникать трудноуловимые проблемы с приведением типов при арифметических операциях, теперь везде стараюсь ставить просто int.


Пишу glsl шейдер, хочу провести препроцессинг, но gcc, что только
расширения .c переваривает, можно как-то свой .vert сунуть?
..Такие флаги: gcc -E -C -P PRE.c -o RESULT.c .
Аноним 15/02/19 Птн 15:58:27 1348187373
>>1348082
unsigned типы вообще чаще всего не для этого используются..
а чтобы байтики туда-сюда подвигать..
Аноним 15/02/19 Птн 16:01:52 1348192374
>>1348183
Переименуй файл, кек, а потом обратно.
Аноним 15/02/19 Птн 16:46:40 1348251375
>>1348187
Чтобы не мешался значащий бит?
>>1348183
>Пишу glsl шейдер, хочу провести препроцессинг, но gcc, что только
Переименовать?
Аноним 15/02/19 Птн 16:53:10 1348255376
>>1348251
Чтобы можно было безопасно битовые сдвиги делать и битовые поля на весь word.
Аноним 15/02/19 Птн 16:59:49 1348257377
>>1348192
>>1348251
Ну я хотел поизящнее. Уже нашёл "-<"
gcc -E -C -P -< shad/test.vert -o shad/test.vert_, препроцессинг есть
, но только когда делаю #include он не влезает, почему-то файл остаётся того же размера, наверное должен быть флаг для разрешения переразмеривания. Вообще как прочитал это UB кормить gcc не .c файлы, но glsl похож синтаксисом так, что.. надо ещё поковыряться.
Аноним 15/02/19 Птн 17:12:28 1348272378
>>1348257
>Вообще как прочитал это UB кормить gcc не .c файлы, но glsl похож синтаксисом так, что.. надо ещё поковыряться.
Поищи тогда в тулзах от производителя видюхи. В glsl должен быть свой препроцессор же.
Аноним 15/02/19 Птн 17:18:47 1348279379
>>1348272
По сравнению с gss`ишным он приметивен, там нет например #include который мне нужен.
Аноним 15/02/19 Птн 18:00:57 1348313380
Аноним 15/02/19 Птн 18:33:53 1348332381
Аноним 15/02/19 Птн 18:34:41 1348333382
>>1347726
>Делаешь на стеке буфер достаточно размера (килобайт, например), читаешь строки по одной с помощью fgets, попутно разбиваешь их на слово и перевод с помощью strtok, strcmp проверяешь совпадения (или используешь какую-нибудь нестандартную _stricmp, чтобы не учитывать регистр).
Создал 2 массива строк через *, в цикле(пока не конец файла начал считывать строки через gets, сразу же делил через strtok_s, на всякий случай выводил в консоль 2 массива строк, все хорошо выводилось, но с поиском не получилось, потому что в следующем цикле введенная мной строка и эти массивы через strcmp не сравнивались. Теперь такой вопрос, как все строки в этих массивах сохранить, чтобы использовать их для сравнения в следующем цикле с введенной мной строкой?
Аноним 15/02/19 Птн 18:52:47 1348344383
>>1348251
>Чтобы не мешался значащий бит?
чаще всего signed типы немного сложнее устроены.. если планируешь байтоебить, полезно будет таки узнать
Аноним 15/02/19 Птн 18:54:40 1348346384
Написал консольную программу под линукс и решил перевести её на windows, кроссплатформа так сказать.

ВО ВСЕХ ПРОЕКТАХ ТАКАЯ ХУЙНЯ С WCHAR_T ЖОПОЙ???
Аноним 15/02/19 Птн 18:59:51 1348349385
>>1348346
Если я наделаю в своем проекте
#define char wchar_t
#define fputc fputwcc
И прочее, то я не буду сукой? Мне глаза режут эти названия просто.
Аноним 15/02/19 Птн 19:11:12 1348355386
>>1348349
>>1348346
АХАХАХ НАДО БЫЛО ПРОСТО СЕТЛОКАЛ НАЕБЕНИТЬ А Я ЧО ТВОРИЛ ПИЗДЕЦ РЫДАЮ НАХУЙ
Аноним 15/02/19 Птн 19:16:03 1348360387
>>1348355
Смена локали ВНЕЗАПНО может сломать всякие atof. Они, сука, разделитель системный тянут, так что какой-нибудь 5.71 может считаться как 0,00.
Аноним 15/02/19 Птн 19:36:05 1348376388
>>1348360
Так как тогда блять делать нормальную кросплатформенную залупу для консоли? У меня уже агрессия какая-то, я не думал, что на винде все так злобно с этим.
Аноним 15/02/19 Птн 19:54:10 1348395389
>>1348376
Всегда можно сделать #ifdef и тупа разный код для платформ-специфик говна.
Аноним 15/02/19 Птн 20:02:42 1348401390
>>1348395
Я так и делаю, но ощущаю жжение в одной точке.
15/02/19 Птн 20:51:40 1348424391
>>1348082
> Стоит ли везде юзать unsigned int
unsigned int не стоит, из-за него компилятору на 64-битной системе придется генерировать лишние 1-2 инструкции (но если собирать с -frapv, то и для int тоже!). А вот size_t использовать можно и нужно, если итерируешься по индексам.

>>1348333
Может быть, код покажешь?

>>1348360
> Смена локали ВНЕЗАПНО может сломать всякие atof
Внезапно локаль - это не только и не столько про кодировки, а как раз про всякие десятичные точки. Меняй не LC_ALL, а только LC_CTYPE.

> Так как тогда блять делать нормальную кросплатформенную залупу для консоли?
Не бывает кроссплатформенных программ сложнее хелловорлда. Страдай и портируй.
Аноним 15/02/19 Птн 20:56:34 1348431392
>>1348424
>генерировать лишние 1-2 инструкции
Всегда?
Аноним 15/02/19 Птн 21:06:17 1348433393
Screenshot2019-[...].png (121Кб, 1080x2160)
1080x2160
Почему такой свап не работает? Я думал он свапнет хотя бы первые цифры, но он не меняет ничего.
Куда вообще указывает адрес при создании переменной?
Аноним 15/02/19 Птн 21:12:07 1348439394
>>1348433
Попробуй вдуматься в то, что ты делаешь.не работает, потому что и не должно, попробуй осмыслить, что происходит, когда ты передаешь в свою функцию адреса переменных
Аноним 15/02/19 Птн 21:14:54 1348441395
>>1348439
Всё, сообразил. Думал прокатит.
15/02/19 Птн 21:20:53 1348451396
>>1348431
Иногда. При вычислении эффективного адреса из-за возможности переполнения. А для int переполнения нет.

>>1348433
Изучаешь укозатели брутфорсом? Ну удачи. В swap у tmp звездочку убери, у всего остального подставь.
Аноним 15/02/19 Птн 21:25:24 1348458397
>>1348451
Я знаю как надо правильно свапать. Про указатели я сразу понял всё, просто экскрементирую.
Аноним 15/02/19 Птн 21:30:13 1348467398
>>1348451
>брутфорсом
А как надо?
Аноним 15/02/19 Птн 21:30:19 1348468399
>>1348424
>А вот size_t использовать можно и нужно, если итерируешься по индексам.
То есть for (size_t i = 0; i < size; i++) ...
И чем этот сайз отличается от unsigned int?
Аноним 15/02/19 Птн 21:31:36 1348469400
Аноним 15/02/19 Птн 21:32:51 1348472401
>>1348424
>не бывает кроссплатформенных программ сложнее хелловорлда. Страдай и портируй.
Но жавабляди...
Аноним 15/02/19 Птн 21:34:31 1348473402
>>1348424
>Не бывает кроссплатформенных программ сложнее хелловорлда
А у меня программа уровня хелловорлда.
Она берет текстовый файл и с указанной частотой выводит слова в середине консоли (чтобы быстро читать). И даже на такой нупской задаче сосу с кроссплатформой.
Аноним 15/02/19 Птн 21:38:22 1348477403
>>1348433
Рекомендую лучше termux поставить с nano или vim'oм вместе с клавой для кодинга. Удобнее в разы.
Аноним 15/02/19 Птн 21:39:28 1348478404
>>1348468
Обычно size_t это тайпдеф на unsigned long какой-нибудь, лол.
Аноним 15/02/19 Птн 21:40:08 1348480405
>>1348472
Там код на виртуальной машине выполняется, не сравнивай.
Аноним 15/02/19 Птн 21:40:22 1348481406
Безымянный.jpg (43Кб, 438x443)
438x443
>>1348424
>Может быть, код покажешь?
char sl[20], per[20], poisk[200], c[200];
Аноним 15/02/19 Птн 21:42:32 1348484407
6345345433.png (1Кб, 313x20)
313x20
>>1348481
БЫСТРОФИКС ЗАБЫЛ ПРО РАЗМЕТКУ В ПРОШЛОМ ПОСТЕ БЛЯ
Аноним 15/02/19 Птн 21:57:00 1348488408
>>1348478
А тогда зачем его нужно в счетчиках юзать то?
15/02/19 Птн 22:15:02 1348496409
>>1348468
> И чем этот сайз отличается от unsigned int?
На 64-битных машинах unsigned int 32-битный, unsigned long как получится (привет, Microsoft), а size_t везде 64-битный. Если компилятор положит 32-битное значение в 64-битный регистр, ему нужно заботиться об арифметике с переполнением, а вот положить 64-битный size_t в 64-битный регистр можно без дополнительных сложностей. К тому же, size_t - это хорошая подсказка читающему, что речь идет о размере объекта или индексе.

>>1348472
> Но жавабляди...
if (osName.startsWith("windows 9"))

15/02/19 Птн 23:09:23 1348517410
>>1348481
Так не получится. У тебя каждый следующий fgets затирает массив c новой строкой, а по-отдельности ты сохраняешь только указатели внутрь этого массива. Я тебе предлагал не совсем такой вариант. Я предлагал вводить искомую строку до чтения файла, потом читать построчно и сравнивать, храня в памяти только текущую строку, а не весь файл. Вот как-то так: https://ideone.com/MsdkUO

Но если ты очень хочешь читать файл в память, и тебя устраивает захардкоженное максимальное количество строк, то просто сделай двумерный массив со строками:
char c[20][200]; // 20 строк максимум, по 200 символов каждая.
и читай не в c, а в c[​i​], ну и strtok тоже делай для c[​i​]. Алсо, чтобы заработало, надо убирать \n в концах строк, их fgets оставляет.
Аноним 15/02/19 Птн 23:25:10 1348526411
>>1348477
есть эумялторы терминала на ведроид помимо термукса?
Аноним 16/02/19 Суб 08:31:04 1348633412
>>1348526
Есть, но это самый годный варик как по мне.
Аноним 16/02/19 Суб 11:38:58 1348676413
>>1348517
в твоей программе размер 1024 что значит?
Аноним 16/02/19 Суб 13:37:36 1348727414
Аноним 16/02/19 Суб 13:44:29 1348731415
Аноним 16/02/19 Суб 13:51:10 1348737416
>>1348676
1 КБ. Чтобы упростить вычесления, можешь задефайнить 1кб размер и прибавлять один для конца строки, если много чарстрингов то читать их так будет намного удобнее
Аноним 16/02/19 Суб 15:24:59 1348789417
>>1348737
Можно ли
>word = strtok(line, "=");
>
translation = strtok(NULL, "");
Заменить на
word = strtok_s(c, "-", &translation);
Аноним 16/02/19 Суб 18:55:28 1348939418
image.png (20Кб, 938x91)
938x91
Что это значит?
Аноним 16/02/19 Суб 18:58:48 1348942419
>>1348939
Что именно тебе непонятно? От тебя требуется написать программу, которая на вход получает текст с переносами и прочими вещами, но выводит на экран символы перевода строки видимыми. Простая софтина. Можешь несколькими путями сделать. Я б через регэкспы сделал.
Аноним 16/02/19 Суб 19:04:18 1348951420
>>1348942
Я понял. "tab" и "\t" — два разных термина. Просто не самым понятным языком написано.

Буду писать на ифах, потому что в книге, по сути, ничего больше не представляли. Решил оставить все предыдущие знания всех предыдущих языков программирования и изучить Си с нуля.
Аноним 16/02/19 Суб 19:07:08 1348955421
>>1348942
И да, спасибо за помощь, я раз 15 прочитал и не понял.
Аноним 16/02/19 Суб 19:30:40 1348964422
Указатель указывает на ячейку памяти какого размера? Вот к примеру я беру адрес числа, который занимает 4 байта. Указатель указывает на первый байт?
Аноним 16/02/19 Суб 19:40:05 1348971423
изображение.png (16Кб, 1048x594)
1048x594
изображение.png (18Кб, 1004x353)
1004x353
Решаю задачу на степике, не могу понять где проебался.
Аноним 16/02/19 Суб 19:52:36 1348976424
>>1348971
Везде, твой код — не калькулятор, а хер знает что. Касаемо ошибки: чему равно d? Оно у тебя не инициализируется и не присваивается нигде.
Аноним 16/02/19 Суб 19:54:29 1348977425
>>1348971
Ты в d не указал что он равен с.
Аноним 16/02/19 Суб 20:20:22 1348985426
изображение.png (66Кб, 1366x768)
1366x768
>>1348971
Чет ты не совсем то написал. Разбирай.
Аноним 16/02/19 Суб 20:30:58 1348993427
>>1348985
Добра тебе, понял.

Но и всем отписавшемся тоже спасибо.
Аноним 16/02/19 Суб 21:33:18 1349049428
>>1348951
> Просто не самым понятным языком написано.

Это английский.

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

Ни в чём себе не отказывай. В книге скорее всего и подразумевается данным примером на практике проверить как ты усвоил материал. Если окромя ифов и циклов ничего не было, значит задачу совершенно точно можно решить уже пройденным матералом.

> Решил оставить все предыдущие знания всех предыдущих языков программирования и изучить Си с нуля.

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

>>1348955
Если с 3-го раза не понял, стоило бы отложить чтение на пару часов доя прогулки на свежем воздухе. И, да, пожалуйста.
Аноним 16/02/19 Суб 21:41:55 1349063429
image.png (213Кб, 1920x1080)
1920x1080
Аноним 16/02/19 Суб 22:25:30 1349097430
изображение.png (95Кб, 554x189)
554x189
Как решить? И где можно онлайн записывать код? Хочу попробовать свои силы.
int N;
scanf("%d", &N);
x +=2;
for (int i = 0; i <= N; i++){
printf("%d", i x);
x = x + i
N;
}
printf("%d", x);

return 0;


Правильная логика?
Аноним 16/02/19 Суб 22:30:03 1349100431
>>1349097
> где можно онлайн записывать код
https://ideone.com/
https://wandbox.org/

> решить
Что там решать, когда все до мелочей описано?

> Правильная логика?
Зависит от того, как ты объявил x.
Аноним 16/02/19 Суб 22:38:42 1349107432
>>1349100
>Зависит от того, как ты объявил x.
Как инт. А как ещё можно?
Просто практикуюсь на задачах.
Спасибо за список сайтов.
Аноним 17/02/19 Вск 00:05:28 1349161433
>>1348789
Мужик уходи с виндузятни и юзай джисиси или джибиди
Аноним 17/02/19 Вск 00:40:16 1349175434
Как программист на Си я специально посетил сей тред, чтобы недвусмысленно и решительно высказать своё "фи" так называемому компилятору ШЛАНГ. Надеюсь это говно никогда не взлетит и все так и будут сидеть на GCC и VC.
Аноним 17/02/19 Вск 00:43:18 1349177435
>>1349063

Почему на картинке в одном месте переменная называется PTR а в другом месте - STR? Автор ёбу дал?
Аноним 17/02/19 Вск 03:04:05 1349213436
>>1348964
Адрес указывает на байт. В памяти хранятся байты, других ячеек не бывает. Если тип указателя больше чем байт меньше не бывает, то указывает на начало - первый байт.
Аноним 17/02/19 Вск 03:51:02 1349219437
snap002060.png (2Кб, 397x100)
397x100
>>1349175
>программист на Си
Ты-то мне и нужен. Как объявить числовой литерал по аналогии со строковым?
Аноним 17/02/19 Вск 04:12:54 1349220438
.png (15Кб, 350x96)
350x96
Аноним 17/02/19 Вск 04:33:04 1349221439
snap002062.png (6Кб, 464x259)
464x259
Затем, что мне нужно много числовых последовательностей, но нахуй не нужно плодить в каждой строчке новые имена для них. Видишь на пикче всего одна переменная n для всего.
Аноним 17/02/19 Вск 08:21:27 1349263440
>>1349177
Так, что ты знаешь про объявления указателей в Си? Ты же в курсе, что указатель это отдельная переменная ссылающаяся на другую переменную?

char str[] = “Hello”;
char *ptr;
ptr = &c;

Понятно должно быть без проблем, как по мне.
Аноним 17/02/19 Вск 09:14:37 1349266441
>>1349263
Блядь, лоханулся, последняя строка должна быть ptr = &str;

>>1349177
Аноним 17/02/19 Вск 09:54:31 1349273442
>>1349263
>Ты же в курсе, что
Алё, кто знает про указатели, тому не нужны картинки. Такие картинки предназначены тем кто не понимает, чтобы они посмотрели и поняли. Но тут мы видим, что картинка - говно нарисованное жопоруким дебилом. В результате не помогает понять, а только еще больше путает.

>указатель это отдельная переменная ссылающаяся на другую переменную
Неправильно. Указатель ссылается на память, какую угодно, а вовсе не на переменные.
Аноним 17/02/19 Вск 10:05:44 1349276443
>>1349273
> Указатель ссылается на память, какую угодно
вообще то в си указатели типизированные, за исключением спец случая void..
Аноним 17/02/19 Вск 10:14:57 1349277444
>>1349276
>>1349266
>ptr = &str+1;
На какую переменную теперь ссылается?
Аноним 17/02/19 Вск 13:26:56 1349477445
изображение.png (11Кб, 778x386)
778x386
Где я ошибаюсь в логике решения?
Аноним 17/02/19 Вск 13:32:16 1349484446
>>1349477
ну, он же циклически печатает
-5,-3,-1
изначальный -1 будет каждую итерацию инкрементироваться, а изначальный 4 будет каждую итерацию декрементироваться. Доходят до {1,2} и после этой итерации условие перестаёт выполняться.
Аноним 17/02/19 Вск 14:00:03 1349508447
Аноним 17/02/19 Вск 17:06:37 1349691448
изображение.png (33Кб, 849x718)
849x718
Я опять с тупыми вопросами. Только начал изучать С, а мне сразу структуры пихают. Пиздец.
Седьмая строка - typedef struct rect_tag rect_t;
Тридцать четвертая строка - rect_t intersection(rect_t r1, rect_t r2) {

Что за тайпдеф стракт? Почему рект_т нужен?
Короче, я только новичок в программирование, а курс сразу кидает на амбразуры. Нахуй так жить.
Аноним 17/02/19 Вск 17:10:50 1349696449
>>1349691
>typedef struct rect_tag rect_t;
сам нубас, но чутка понимаю структуры и кажется, что это какая-то мусорная строка. Зачем вообще объявлять структуру rect_tag, а потом тут же её переопределять как rect_t. Или так типо не нужно будет к её полям каждый раз прописывать доступ?
Аноним 17/02/19 Вск 17:24:17 1349711450
>>1349277
У тебя во время присвоения значения произойдёт ошибка мисматч. Ты с типами данных разберись, у тебя каша в голове какая-то. Либо ты жирная зелень что скорее всего так и есть
Аноним 17/02/19 Вск 17:28:52 1349716451
>>1349696
>Или так типо не нужно будет к её полям каждый раз прописывать доступ?
Что?
Аноним 17/02/19 Вск 17:34:31 1349720452
>>1349691
Это чтобы не писать каждый раз struct, а писать просто rect_t
Часто используется еще такой способ
typedef struct {
....
} rect_t
Аноним 17/02/19 Вск 17:57:50 1349748453
>>1349720
Типо рект_т становится функцией, которая может принимать аргументы? Или что?
Аноним 17/02/19 Вск 18:04:17 1349756454
>>1349748
Если ты просто обьявишь структуру то тебе потом везде прийдеться писать struct rect_t, а с тем дерьмом можно писать просто rect_t. Почитай что такое typedef или просто игнорируй (пока) ту хуйню. Это чисто для удобства сделано, чтобы код почище был.
Аноним 17/02/19 Вск 20:30:10 1349952455
>>1349756
Но для задачи по поиску пересечение двух прямоугольников это может быть удобно. Собственно моя задача об этом и была.
А что почитать? Не могу найти инфу доступную.
Аноним 17/02/19 Вск 20:48:38 1349962456
в си для структур было свое пространство имен, в с++ это уже не так
вот и все
Аноним 17/02/19 Вск 21:41:33 1350006457
>>1349219
>>1349221
В C99 и выше можно так:
int ∗n = (int []){1, 2, 3};
Но у тебя там кресты, а в стандартных крестах этого нет, но возможно, что твой компилятор это поддерживает в качестве нестандартного расширения.
Аноним 17/02/19 Вск 22:40:45 1350078458
Capture - Copy.PNG (85Кб, 1232x941)
1232x941
>1960
>Массив - ссылочный тип.

>2019
>Javamakaka: си устарел
>Java: массив - ссылочный тип
Аноним 17/02/19 Вск 23:02:30 1350096459
>>1350078
Я правильно понял, что твоя функция берет аррей и умножает каждое число в нем на три?

Учусь читать код.
Аноним 17/02/19 Вск 23:30:59 1350116460
>>1350096
Учись не читать код, а кодить, это ведь элементарщина.

мимо
Аноним 17/02/19 Вск 23:38:21 1350121461
Аноним 18/02/19 Пнд 04:18:34 1350208462
snap002063.png (3Кб, 623x113)
623x113
>>1350006
>>1350121
>[BCC32 Error] : E2188 Expression syntax
Понятно, спасибо.
Напердолил через строки, хотя лишние нули в конце раздражают, да и сам пердолинг тоже. Чем эти петухи занимаются в своих комитетах, наверное шлюхами и коксом, что не могут в байтоёбском языке сделать определение байтов.
Аноним 18/02/19 Пнд 08:12:25 1350243463
>>1350208
Объясни, кто тебе мешает сделать static const uint8_t data1[] = { ... }; Литералы, которые тебе предложили, практически ничем от этого не отличаются. Это ведь протокол какой-то, неужели сложно имена переменным придумать? Ну или если компилятор умеет в __COUNTER__, можно обернуть в макрос и генерировать серийные номера.
Аноним 18/02/19 Пнд 08:33:56 1350247464
>>1349175
> Как программист на Си я специально посетил сей тред, чтобы недвусмысленно и решительно высказать своё "фи" так называемому компилятору ШЛАНГ. Надеюсь это говно никогда не взлетит и все так и будут сидеть на GCC и VC.

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

Один только линус пока держится и еще пара красноглазых.
Аноним 18/02/19 Пнд 08:39:46 1350249465
>>1347588
> Реквестирую небольшие программы на Си, написанные хорошим стилем. Ибо чую я, что костылить ООП в стиле map_get(mymap #m, const char #key, char #value) - хуевый путь.


https://github.com/id-Software/Quake-III-Arena
Аноним 18/02/19 Пнд 09:29:33 1350262466
>>1348424
чел откуда ты столько знаешь, опыт или книги есть спецальные просто вот про unsigned int удивило , ты просто в компиляторе разбираешься круто или где то инфу взял ?
Аноним 18/02/19 Пнд 10:18:41 1350277467
>>1349175
>>1350247
Вы такие умные, а рассказать что плохого в силанг можете? Мне правда интересно потому что пользуюсь им немного.
Аноним 18/02/19 Пнд 10:38:41 1350288468
>>1350277
>рассказать что плохого в силанг можете?

LLVM
Аноним 18/02/19 Пнд 10:43:02 1350289469
>>1350288
1. Выходит, со шлангом проблем нет, а проблемы с
LLVM? Почему же выше сказано наоборот?
2. Какие тогда проблемы с LLVM?
Аноним 18/02/19 Пнд 18:54:22 1350552470
>>1350078
Какой же у тебя лютый говнокод, просто пиздец. Взять хотя бы циклы, это же потенциальная база для выполнения операции переполнения буфера.

Если ты заранее знаешь размер массива, то на какой хуй ты не указываешь его длинну? Если ты знаешь длинну массива, то на какой хуй ты её вычисляешь в цикле? Идиота ты кусок ебаный. Делай цикл с отчётом от последнего элемента в массиве, это заодно примитивная оптимизация, которая требует меньше машинных операций и защита от переполнения массива.

Блядь, животное ты ебанутое и ты ещё будешь давать советы нубам не читать чужой код? Ох ты и чепуха ебаная. Твоё место в ЖЭКе на получение униформы и метлы. Ебать, что за дегроды растут.

>>1350096
Анон, не слушай ты эту хуету >>1350078 ебаную, он поц пиздючный, решил тут повыёбываться.
Аноним 18/02/19 Пнд 19:24:37 1350575471
>>1350552
> Какой же у тебя лютый говнокод, просто пиздец. Взять хотя бы циклы, это же потенциальная база для выполнения операции переполнения буфера.
Если он случайно забудет изменить макрос после изменения массива при объявлении — да, если уж используешь макрос для размера будь добр при объявлении массива дать ему этот размер.

> Если ты заранее знаешь размер массива, то на какой хуй ты не указываешь его длинну?
Собственно вот.

>Если ты знаешь длинну массива, то на какой хуй ты её вычисляешь в цикле?
В каком месте он вычисляет длину в цикле?

>Идиота кусок ебаный.
Давай без оскорблений, все когда-то начинали.

>Делай цикл с отчётом от последнего элемента в массиве, это заодно примитивная оптимизация, которая требует меньше машинных операций и защита от переполнения массива.
Вот тут объясни что ты имеешь в виду.

> Блядь, животное ты ебанутое и ты ещё будешь давать советы нубам не читать чужой код? Ох ты и чепуха ебаная. Твоё место в ЖЭКе на получение униформы и метлы. Ебать, что за дегроды растут.
Опять же, успокойся, пожалуйста.
Аноним 18/02/19 Пнд 19:30:11 1350578472
>>1350249
>небольшие
>третья Квака
Аноним 18/02/19 Пнд 19:39:35 1350583473
>>1350575
Во-первых, есть переменная i, которая на каждой итерации цикла прохождении от 0 до конца массива инкриминируется. В этот момент происходят операции вычисления длинны массива циклом, в условии хоть и задан предел, ро цэ переменная, значение которой можно поменять в любой момент и вот в этом проблема безопасности кода.

Во-вторых, обратный цикл от известного максимума до нуля не производит операций по вычислению длинны массива (он тупо уже не вырастет). Соответственно даже изменив на лету макс значение переменной во вреия выполнения не приведёт к чему либо страшному. Дизассемблируй оба цикла, чтобы нагляднее было.
Аноним 18/02/19 Пнд 20:19:41 1350601474
Аноним 18/02/19 Пнд 21:27:23 1350634475
Аноним 18/02/19 Пнд 22:15:42 1350661476
>>1350289
Нет никаких проблем. Просто у сектантов пригорает от лицензии шланга, она для них слишком свободная.

>>1350583
> операции вычисления длинны массива
Это ты так сейчас обозвал практически бесплатную инструкцию lea?

> проблема безопасности кода
Какие-то фантазии. Если есть баг, позволяющий испортить my_size, то скорее всего, он же позволит испортить и i. Да, на проходе по массиву из конца в начало можно выиграть несколько байт размера кода, заодно проиграв в быстродействии, но вот на безопасность проход в обратном порядке не влияет вообще никак.
Аноним 18/02/19 Пнд 23:46:09 1350700477
Блять смешно читать как вы, дегенераты не могущие посчитать сколько вам байт на введённый хело ворлд выделить на полном серьезе обсуждаете оптимизацию и безопасность кода. Юзаете си как входную точку для вайтивайти — не заебывайтесь по этому поводу, вам надо понять как работает, а не чтобы БЫЛА ВСЕ ПО СТАНДАРТУ
Ебланы сука ощущение что вы поиграться просто хотите, а не реально чтото понять