М.Двач / Программирование

Этого треда уже нет.
Это копия, сохраненная 10 апреля 2019 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

78 Кб, 792x1023
C Programming Language #41 /clang/ # OP 12 мар, 00:50 1362799 В конец треда | Веб

Тред, посвященный прародителю всех С-подобных языков и по совместительству единственному идеальному и всесторонне годному средству программирования как на системном, так и на прикладном уровне.

Пожалуйста, пользуйтесь 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 помогает читать сложные сишные декларации.

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

- №38: https://arhivach.ng/thread/419611/
- №39: https://arhivach.ng/thread/423396/
- №40: https://arhivach.ng/thread/428550/

Ответы6280265612666956815269317

2 12 мар, 01:06 2 1362802

>>1362799 (OP)
Скажите уже раз и навсегда, чё юзать на линуксе шланг или гсс

Ответы6280362805628676322163231

3 12 мар, 01:10 3 1362803

>>1362802
То, что тебе больше нравится. Если похуй - подкинь монетку.

4 12 мар, 01:34 4 1362805

>>1362802
cc

5 12 мар, 08:58 5 1362867

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

Ответы62877

6 12 мар, 09:43 6 1362877

>>1362867
> Ох уж этот пердо-рабский менталитет
А был быфронтендский сказали бы "ох блять, теперь придется в джвух проверять как код конпилируется"

7 12 мар, 23:38 7 1363221

>>1362802
Я юзаю tcc, но я на окнах. На линуксах тоже его бы юзал, наверное.

Ответы63240

24 Кб, 508x500
8 12 мар, 23:57 8 1363231

>>1362802

Ответы63238632406333365458

9 13 мар, 00:39 9 1363238

>>1363231
default:
puts("Напиши свой компилятор, с блэкджеком и шлюхами!");

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

Ответы63239

10 13 мар, 00:39 10 1363239

>>1363238
Блядь, break; забыл.

11 13 мар, 00:41 11 1363240

>>1363221
Когда-нибудь ты вырастешь и перестанешь. Это >>1363231 тоже ты? Вот если бы поставил на первое место tcc, было бы тонко. Угадай, какое число сгенерирует твой код, если RAND_MAX == INT_MAX (в glibc, например)? Не делай так больше.

Ответы6324263384

12 13 мар, 00:42 12 1363242

>>1363240
Сука, а я-то думал, чому мой детектор тревогу бьет на этот кусок кода.

13 13 мар, 10:43 13 1363333

>>1363231
ну бляяяд, почему бы не просто rand() % 3 ??

Ответы63384

14 13 мар, 12:48 14 1363384

>>1363240
>Угадай, какое число сгенерирует твой код, если RAND_MAX == INT_MAX (в glibc, например)?
Какое?
>>1363333
Хм, так действительно проще.

Ответы63503

15 13 мар, 16:24 15 1363503

>>1363384
> Какое?
Либо результат, умноженный на три, будет меньше INT_MAX просто потому, что он меньше, либо будет переполнение, и при переполнении остаток тоже будет меньше INT_MAX. Значит, при делении на INT_MAX ты всегда будешь получать ноль. Ну разве что ты найдешь компьютер, где INT_MAX делится на 3, тогда ты ради разноообразия будешь изредка получать 1, но не больше.

16 14 мар, 11:01 16 1364023

Программисты хуесосы. 30 лет языку и нет ни одной нормально написанной книги.

Ответы640266403364311

95 Кб, 677x402
17 14 мар, 11:11 17 1364025

Почему бичи не смогли переносы нормально расставить в учебнике? Ну неужели нельзя хотя бы в книжке форматировать код так чтобы его было удобно читать?

Ответы64248

18 14 мар, 11:11 18 1364026

>>1364023
Иди нахуй.

19 14 мар, 11:28 19 1364033

>>1364023
что-то ты не выспался

20 14 мар, 13:22 20 1364092

Как написать интерпретатор своего охуительного языка прогромирования на си?

Ответы64145

21 14 мар, 14:59 21 1364145

>>1364092
Лучше LLVM

Ответы64157

22 14 мар, 15:01 22 1364148

Помогите плиз. Лучше вас на доске в этой байтоебле наверно никто не разберется.
Мне нужно читать бинарные файлы и редактировать их.
Например.
Есть картинка в raw-формате. Мне нужно считать из этой картинки величины для всех пикселей и поместить их в соответствующий двухмерный массив. Вроде бы простая задачка, но я не понимаю, как читать из бинарника по одному байту. Работал только с текстовыми файлами, а там чтение построчно, все проще.

Ответы6415964248

23 14 мар, 15:13 23 1364157

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

Ответы64241

24 14 мар, 15:19 24 1364159

>>1364148
А потом что с этим массивом будешь делать?

Ответы64160

25 14 мар, 15:22 25 1364160

>>1364159
Неважно. Мне не только raw-файлы надо читать, это только как пример.
В raw-файле каждый байт - это 1 пиксель, число в байте - это интенсивность белого цвета. Мне надо как то побайтно прочитать.
Как это сделать? Сначала записать в память все содержимое файла, а потом уже побайтно отсекать?

Ответы64175641806418264187

26 14 мар, 15:33 26 1364175

>>1364160
Да и так и так можно, лол. Си разрешает к массиву обращаться хоть как к одномерному, хоть как к трехмерному, етц. Главное, за пределы не вылететь.

В общем, Интернет тебе в руки, fread в поисковую строку и удачи.

Ответы64189

27 14 мар, 15:37 27 1364180

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

Ответы64189

28 14 мар, 15:39 28 1364182

>>1364160
Вот стандартная библиотека ввода-вывода, там много всяких полезных функций для твоей задачи.
https://www.opennet.ru/docs/RUS/libc/libc-3.html

Ответы64189

29 14 мар, 15:50 29 1364187

>>1364160
Вон в википедии есть пример как прочитать пять байт из файла.
https://en.wikipedia.org/wiki/C_file_input/output#Example
https://ru.wikipedia.org/wiki/Файловый_ввод-вывод_в_языке_Си#Пример_использования

30 14 мар, 15:53 30 1364189

>>1364175
>>1364180
>>1364182
Ок, спасибо.
Теперь другой вопрос. Что делать, если структура бинарника примерно известна, но размер данных внутри структуры непостоянный?
Например, такая структура: сначала идет текстовый заголовок, затем количество байтов в Int32, которое занимает эта структура, затем сами данные, которые могут включать в себя другие заголовки и т.д., а также имеют непостоянный размер.
Как читать данные из таких структур? Искать в цикле текстовый заголовок, а затем читать указанное количество байт?

Ответы64248

65 Кб, 604x587
31 14 мар, 16:31 31 1364216

Есть ли хороший пошаговый гайд по С?
Хочу пройти и выложить потом на гите.

Ответы64219

32 14 мар, 16:33 32 1364219

>>1364216
K&R

33 14 мар, 16:40 33 1364222

'\0' он же NULL он же 0?

Ответы64248

37 Кб, 677x575
34 14 мар, 17:03 34 1364241

>>1364157
Вот начал. Правильно прочитал всю строку с пробелами? Теперь нужно научиться как распарсить строку на числа и команды и посчитать то что там написано. Сначала простые арифметические действия +-*/.

Ответы642476424867069

35 14 мар, 17:15 35 1364247

>>1364241
За детерминированные конечные автоматы пояснить сможешь?

sage 36 14 мар, 17:16 36 1364248

>>1364025
К счастью в Си можно большую часть кода (кроме препроцессора) писать хоть в одну строку. А книжка - это скан кривой, наверное.

>>1364148
> не понимаю, как читать из бинарника по одному байту
Зачем тебе по байту?
buffer = malloc(width ∗ height);
fread(buffer, 1, width ∗ height);
адресуешься buffer[y ∗ height + x]

>>1364189
Читаешь несколькими fread. Строки побайтово. Можешь еще прочитать или смапить (mmap()/MapViewOfFile()) файл целиком и потом парсить его из памяти. Это проще, если файлы относительно небольшие.

>>1364222
NULL - это (void ∗) 0, укозатель. '\0' - это целочисленная константа (int) 0, а в крестах (char) 0.

>>1364241
Возьми любую книгу про компиляторы. Можешь книгу дракона, можешь какое-нибудь говно попроще типа https://compilers.iecc.com/crenshaw/

Ответы6425164263

sage 37 14 мар, 17:18 37 1364251

>>1364248
buffer = malloc(width ∗ height);
fread(buffer, 1, width ∗ height, fp);
адресуешься buffer[y ∗ width + x]
Пиздец я.

Ответы64263

38 14 мар, 17:28 38 1364263

>>1364248
>>1364251
Благодарю.

39 14 мар, 17:32 39 1364268

Ребят, в книжке было задание, в котором просили посчитать сумму двух гармонических рядом. В одном ряду все члены положительные, во втором отрицательные только четные. Сделал тут прогу, работает, но не покидает ощущение, что я забыдлокодил. А, ну и оператором if пользоваться было нельзя. Поясните, быдлокод это чи не? https://pastebin.com/raw/Z8xTAD1Z

Ответы6426964314

40 14 мар, 17:33 40 1364269

>>1364268
>рядов

41 14 мар, 18:45 41 1364311

>>1364023
Зачем нужны вообще эти книги по языкам? Серьезно, какой смысл их читать, если без четкого понимания что ты хочешь делать все это бесполезное чтиво, а с четким пониманием тебе скорей всего не по языку придется гору литературы изучать, а по всяким ручкам в ос, api, особенностям железа. Сказать по правде мне кажется большинство программистов осваивали языки постольку поскольку, поэтому и не могут внятно ответить на извечный вопрос со стороны непосвещенных "с чего начать". У человека просто появляется желание что то реализовать он берет чужой кусок кода начинает его ковырять методом тыка, гуглить постепменно начинает вникать как это работает, усваивает минимальные азы, а потом садится и обклажившись документацией по системам сборки, фреймворкам, библиотекам, штурмует мозгом стену до переопухания. Язык постигается попутно попутно, дрочь на них мне лично видится странным, а книги по языкам я вообще не понимаю для кого.

Ответы6431864330

42 14 мар, 18:49 42 1364314

>>1364268
> быдлокод это чи не?
Вложеные цыклы же

179 Кб, 500x285
43 14 мар, 18:53 43 1364318

>>1364311

44 14 мар, 19:03 44 1364330

>>1364311
Твоя проблема в том что ты утилитарист. И вообще как можно знать что ты хочешь не зная как и что ты можешь?

Ответы64378

45 14 мар, 20:45 45 1364378

>>1364330
> как можно знать что ты хочешь не зная как и что ты можешь?
Это вопрос пустопорожний - с чего ты взял что надрочив си по заданиям в книжке и написав хэловорд ты необходимые знания c умениями приобрел? Скажешь тебе (например) - иди вон фильтры для изображений запили (регулируемую яркость, сепию, grayscale) ты так и так их просто так не напишешь, ты пойдешь перебирать тонну всякой хуйни по битмапам и особенгностям работы с ним и еще всякой дополнительной херни связанной с тем куда там это все вывести и через что настройки реализовать. И так происходит постоянно, даже владея языком в совершенстве эта поебень не заканчивается никогда, и чтобы этой ебатней заниматься нужен позитивный стимул в виде идеи и желинии ее реализовать.

Ответы6437964381

46 14 мар, 20:48 46 1364379

>>1364378
Ну раз ты скозал что нужон, значит так и есть. Это звучит примерно "чтобы заниматься радиотехникой надо хотеть собрать айфон", бредово короче.

Ответы64399

47 14 мар, 20:49 47 1364381

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

Ответы6438864662

48 14 мар, 21:01 48 1364388

>>1364381
Нет, не нормально, делай его, делай как можно более лучше, нет предела совершенству.
Иначе ты его никогда не начнёшь.

49 14 мар, 21:09 49 1364399

>>1364379
> звучит примерно "чтобы заниматься радиотехникой надо хотеть собрать айфон", бредово короче.
То есть ты за язык схватился с расчетом на то что достигнешь когда нибудь такой уровень просветления, который позволит познать дзен и написать свою операционную систему с попов-офис?

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

Ответы64410

50 14 мар, 21:11 50 1364404

> Просто сильно резануло ухо про айфоны, как будто блять любая деятельность сводится к тому чтобы запилить йобу и стать успешным. С таким подходом иди в бизнес лучше, программирование не для тебя.
Вот уж странное высказывание! Чем плоха цель придумать и реализовать йобу? Язык это же инструмент для созидания, а не самоцель.

Ответы64418

51 14 мар, 21:20 51 1364410

>>1364399
Ты потерял нить разговора. Перечитывай.

52 14 мар, 21:26 52 1364418

>>1364404
Ничего плохого, у меня на самом деле тоже есть подобная цель, но она долгосрочная и может быть я ее никогда не реализую, но в любом случае путь к ней усеян маленькими квестами, как связанными ( то есть опыт в создании которых пригодится и продвигает меня ближе к цели) так и не связанными, то есть они конечной цели не дадут ничего но помогают сейчас прокачать скилы и пополнить знания.
Что касается айфонов то я имел в виду идеи вроде "вот я сейчас стану великим погромиздом, напишу какой нибудь телеграм и заживу" диструктивные как по мне

53 14 мар, 21:40 53 1364432

Что вообще интересного можно реализовать на С? Для новичка. Всякие хелл ворлд умею.

Ответы64435645196456864569

54 14 мар, 21:42 54 1364435

>>1364432
автоматику или либу какую нибудь

Ответы64442

55 14 мар, 21:48 55 1364442

>>1364435
Чуть подробнее.

56 14 мар, 22:13 56 1364465

Как сделать, чтобы char выводился как шестнадцатеричное двузначное число, а не как символ?

Ответы64477

57 14 мар, 22:34 57 1364477

>>1364465
%X, если мне память не изменяет.

58 14 мар, 22:35 58 1364478

1364465
printf("%02x\n", ch);

59 14 мар, 23:55 59 1364519

>>1364432
Попробуй базу данных. Или если совсем новичок, то напиши свою лог ин процедуру на одном стракте и постепенно попробуй к ней прикрутить больше фич.

60 15 мар, 03:52 60 1364568

>>1364432
Doom

sage 61 15 мар, 03:57 61 1364569

>>1364432
Что вообще интересного можно реализовать отверткой? Для новичка. Всякие болты крутить умею.

62 15 мар, 12:40 62 1364662

>>1364381
Владеешь ли ты русским в совершенстве? Может, не стоило писать этот пост?

Ответы64692

63 15 мар, 13:28 63 1364684

подскажите онлайн компилятор для обучения, совместимый с ansi/

Ответы64757

64 15 мар, 13:48 64 1364692

>>1364662
овладеваешь русским в совершенстве->становишься русским->садишься на бутылку
Нет, спасибо.

65 15 мар, 14:26 65 1364707

Можете поделиться ссылкой на какой-нибудь сравнительный обзор компиляторов? Плюсы, минусы каждого и т.п.

Ответы64727

66 15 мар, 15:19 66 1364727

>>1364707
Для крестов юзай шlang. Если си для тебя лишь инструмент для вката - юзай что угодно, хоть вижуал студию. Если же собираешься работать с си то есть либо ембедить никсы в весы в пятерочке, либо писать алгоритмы для микроволновок за 30к в месяц, или поддерживать схожее легаси говно из 90-ых то GCC, ибо он написан как раз под стандарты 89/99, на которых то говно и работает.

Ответы6477866919

sage 67 15 мар, 16:06 67 1364757

>>1364684
ideone.com (выбираешь просто C), wandbox.org (можешь вписать ключик -ansi даже, если хочешь)

68 15 мар, 16:16 68 1364762

А есть человеческая книга по си, написанная без ебланских ошибок, с нормальным форматированием и чтобы задачи из неё нормально компилились без ошибок?

Ответы6476664921

69 15 мар, 16:25 69 1364766

>>1364762
Нет, таких книг не существует.

70 15 мар, 16:52 70 1364778

>>1364727
Значит GCC, спасибо, с ним и работаю. В целом мне интересно почитать чем они отличаются, не совсем поверхостно, не для новичков, но и не совсем в дебри уходить. Об архитектуре представление имею, с Си знаком, но не в качестве основного языка, а на уровне написать биндинг к СИшной либе.

Ответы64836

71 15 мар, 18:26 71 1364836

>>1364778
Ну а что именно тебя интересует?
Т.к. шланг - поделка изначально выступавшая в роли догоняющего, их мануал написан в стиле чем мы лучше GCC, поэтому если тебя интересует что-то не конкретное, то могу только посоветовать полистать менпейдж.
Я лично юзаю GCC, т.к. на старых машинах он дает большую производительность. Преобразуя код в нижние уровни он пытается его отпимизировать для минимальных затрат ресурсов. Очевидно в этой фиче GCC нет смысла если ты пишешь Си код для 64 битных процев ЩТО тут ты либо долбоеб либо школьник вонаби реверсинженер ловитель пакетов. Плюс многие платформы уже перестают поддерживать GCC (спасибо JVM и новым мультиязыковым компилерам);

sage 72 15 мар, 20:21 72 1364921

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

Ответы64925

8 Кб, 306x96
73 15 мар, 20:30 73 1364925

>>1364921
Хочется сесть сразу на 2 стула, чтобы с джеком дениелсом и флорентиной не спеша покуривая сигару читать книгу перед камином, получать удовольствие и учить язык за одно.
Сейчас читаю "программирование на си для начинающих" перри-миллер. Вроде книга хорошая, но непонятно почему в книжке main(), а в компиляторах int main(). Учитывая что до этого я только бейсик в школе все совсем сложно.

Ответы649296494064952

74 15 мар, 20:33 74 1364929

>>1364925
На си ты не заработаешь на Джек дениелс и флорентину.

75 15 мар, 20:44 75 1364940

>>1364925
"int main(void);" - полный прототип (в реальных программах, конечно, делать прототип main не стоит)

"main()" - просто упоминание функции. Скобки добавляются чтобы ты понял, что это не просто что-то main, а функция main.

int в начале - тип возвращаемых функцией данных. В некоторых всяких хуйжективхуйси можно опускать у main(); возвращаемое значение. К самому си это отношения не имеет. Просто виндовские костыли.

Ответы6494364950

76 15 мар, 20:50 76 1364943

>>1364940
add:
в некоторых говнокомпиляторах (пробабли после 99 стандарта) можно не указывать возвращаемое значение main(), и они по умолчанию проставят тебе int, только реально этим пользоваться -- пиздец какой друной тон, придуманный долбоебами из JVM подобных языков, который потом еще и крестовики переняли. Код с такой хуйней как плевок в лицо будет воспринят всеми нормальными людьми. Что gcc по 99 стандарту, что шланг запрещают опускать возвращаемое значение у main, поэтому просто восприми это как опечатку.

Ответы64951

77 15 мар, 21:13 77 1364950

>>1364940
Это понятно что инт это тип данных.
>Что gcc по 99 стандарту, что шланг запрещают опускать возвращаемое значение у main, поэтому просто восприми это как опечатку.
Ясно понятно, буду иметь ввиду.

Ответы64955

sage 78 15 мар, 21:16 78 1364951

>>1364943
При чем тут говнокомпиляторы, если это стандартный синтаксис для C89? Поддерживаешь C89 - поддерживаешь неявный инт, указание любых аргументов для функций с пустыми скобками, декларации аргументов перед { а не в () и всю прочую хуйню. Даже если тебе не нравится. Да, это старый синтаксис, писать так не стоит, но знать о нем нужно - еще встречаются исходники, написанные в таком стиле.

79 15 мар, 21:17 79 1364952

>>1364925
Запомни щенок, блять. Всегда пиши только так:
int main(int argc, const char argv) {...}
Когда будешь вызывать свою программу из шелла или из командной строки, то int - это всегда будет код завершения твоей программы. Примечательно, что командная строка оперирует не логическим состоянием а уровнем ошибки и поэтому в комнадной строке 0 - это правда нормальное завершения процесса а 1 - это ложь ненулевой уровень ошибки и соотвественно всё, что выше единицы - это ложь. Так как на уровень ошибки отводится 1 байт, то уровни ошибки от 0-255. Дальше.
int argc - arguments count это количество аргументов, которые твоя программка получает, когда вызывается из командной строки.
const char argv - это arguments values значения аргументов, которые передаются при вызове из командной строки. Конст, потому что меня в универе препод учил, что нельзя изменять входные данные программы.
Шелл сам определяет как разбиваются аргументы командной строки. Как правило это пробел, но можно и что-то индусское накостылить.

А ещё запомни щенок. Явное, лучше чем явное. И тебя никто не стукнет по рукам, если ты напишешь лишнего, но запутанного.

Ответы6495364954649556496764969

80 15 мар, 21:18 80 1364953

>>1364952
блять, я забыл про звёздочки.
Ну, короче перед argv две звёздочки.

81 15 мар, 21:19 81 1364954

>>1364952
Да блять. А ещё явное лучше чем неявное
фикс

sage 82 15 мар, 21:21 82 1364955

>>1364950
> шланг запрещают опускать возвращаемое значение у main
Как же оно тогда без ворнингов-то конпелируется? https://wandbox.org/permlink/tiXtDxWXuSc2vBWA

>>1364952
> командная строка оперирует
> уровнем ошибки
Зависит от реализации. Сишка вообще знает только о EXIT_SUCCESS и EXIT_FAILURE, причем FAILURE может быть и 100500, а не 1.

> const char *argv[]
Нету const в стандарте. Туда можно писать, и пишут.

> препод учил
Это его половые проблемы.

Ответы64969

83 15 мар, 21:53 83 1364967

>>1364952
Ну и нах мне аргументы, если я их не обрабатываю?
Мимо

Ответы67071

84 15 мар, 21:56 84 1364969

>>1364952
>const char argv[]
никакого конста, ибо храниться параметр будет в любом случае все время работы main(), а даже его возможная перезапись никак не отразится на безопасности работы с памятью. конечный юзер сам по себе никуда ничего не вводит, зпускается все чаще всего make/exeс хуйней, а значит сломать твою прогу таким образом обычному юзеру будет тяжело.

>argument values
arguments vector*;

>>1364955
>9 кланг созданный в эпоху джава детей и вкатывальщиков не могущих осилить даже поинтеры в ОЧЕНЬ СЛОЖНОМ си
Уверен, что ниже 9 версии не будет ни одного без ворнинга

Ответы64999

sage 85 15 мар, 22:33 85 1364999

>>1364969
> Уверен, что ниже 9 версии не будет ни одного без ворнинга
И в предыдущих не будет ворнингов. И в гцц тоже.

Ответы65003

86 15 мар, 22:40 86 1365003

>>1364999
Только что твой же код на ванде запустил со всеми гсс и всеми клангами кроме 9-ых, и ВЕЗДЕ выдало ворнинг.
-Werror передает привет.

Ответы65010

sage 87 15 мар, 22:50 87 1365010

>>1365003
Ну ок, ты прав. Но код все равно валидный.

Ответы65014

88 15 мар, 22:59 88 1365014

>>1365010
Никто и не говорит, что невалидный. Дело в стандартах (не только писанных, но и общепринятых) Писать int перед main для си прогера должно быть то же самое, что саму точку входа называть main и никак иначе — бетонный стандарт.

Ответы65020

89 15 мар, 23:12 89 1365019

Как узнать, есть ли в стандартном вводе еще символы, не изменяя его?

Ответы65020

sage 90 15 мар, 23:13 90 1365020

>>1365014
> должно быть то же самое, что саму точку входа называть main
Периодически обзываю точку входа start, когда пишу под bare metal. Как мне жить-то теперь?

Алсо, выяснилось, что ворнинги на implicit int есть только в gcc. clang (любой) соответствует стандарту. Вот, например, третий шланг: https://wandbox.org/permlink/tiXtDxWXuSc2vBWA

>>1365019
Переносимо - никак, но есть ungetc().

Ответы65025

91 15 мар, 23:26 91 1365025

37 Кб, 1280x116327 Кб, 1280x18329 Кб, 1280x306

>>1365020
Не очень понял что ты имел ввиду, ибо по ссылке открылся аутпут 9 кланга.
Из интереса накатил сейчас на ведро 7-ой кланг и даже без флагов словил ворнинг

Ответы65044

sage 92 16 мар, 00:04 92 1365044

>>1365025
-std=c89

Ответы65050

93 16 мар, 00:17 93 1365048

На чем пишут компиляторы? Думаю запилить свой один для саморазвития, finite state machines знаю

Ответы65057

94 16 мар, 00:18 94 1365050

41 Кб, 1280x51821 Кб, 1280x352

>>1365044
Значит реально зависит от стандарта.
Я всегда думал что это приколы компиляторов. Позорно ретируюсь.

95 16 мар, 00:28 95 1365057

>>1365048
YACC/Bison + flex + c/cpp

611 Кб, 2528x1990
96 16 мар, 01:47 96 1365094

В чем прикол С? На нем написан https://en.wikipedia.org/wiki/Leap_Motion ???

Ответы65097

97 16 мар, 01:49 97 1365097

>>1365094
Чё за лип моушен

Ответы65145

sage 98 16 мар, 02:21 98 1365145

>>1365097
Очередное невзлетит.

99 16 мар, 08:43 99 1365234

Такой вопрос, а что нужно сделать что бы в функцию можно было ссылку на переменную отправить и получить на ней результат из текущей функции?
[CODE]void plus_1(int i) { i += 1; }

int main(void) {
int i = 1;
plus_1(&i);
printf("%d", i); // => 2
}[/CODE]

100 16 мар, 08:47 100 1365235

А хотя нахуй эти сишные приколы можно же i = plus_1(i); обойтись

101 16 мар, 11:16 101 1365264

Анон, у тебя есть что-нибудь почитать на тему AMQP, очередей сообщений, брокеров и т.д.? Всё это по большому счёту FIFO-очередь, где данные со всякими вспомогательными заголовками идут поверх транспортного протокола. Правильно?

Репост из ньюфаг-треда в самый адекватный тред.

102 16 мар, 11:33 102 1365270

Не нашел в шапке ничего про микроконтроллеры и т.д.

Скачал на udemy пару курсов по С и микроконтроллерам, сижу изучаю, вкатился к вам в тред, у вас тут лампово? Как относитесь Embedded программистам?

Ответы65304

103 16 мар, 12:51 103 1365304

>>1365270
потому что на борде есть целая доска посвященная этому

Ответы65318

104 16 мар, 13:10 104 1365318

>>1365304
Да нахуй радач, мне больше нравится байты перекладывать.

21 Кб, 686x349
105 16 мар, 13:16 105 1365322

Запилил консольный калькулятор, который пока понимает только сложение и вычитание. Как вам? Какие будут рекомендации?
https://ideone.com/ZJ8mdK

Следующий щаг - добавить понимание умножения и деления с их повышенным приоритетом. Как лучше всего это сделать?

Ответы65329653476542065482655226585266004

106 16 мар, 13:21 106 1365329

>>1365322
Ну сначала ищи операции умножения деления, делай их пока ни одной такой операции не останется, после этого у тебя останется привычная строка со сложением вычитанием

Ответы65367

59 Кб, 1366x728
107 16 мар, 13:38 107 1365347

>>1365322
Есть такая штука как isdigit().
И выглядит сильно лучше моего парсера одного файла "Конфига"

Алсо, есть какие IDE получше Code::Blocks? CLion адово тормозной, как и Студии.

Ответы6534965368659976601266088

108 16 мар, 13:42 108 1365349

>>1365347
>IDE получше Code::Blocks
эмулятор термиала с башом.

Ответы65353

109 16 мар, 13:45 109 1365353

>>1365349
Но это не IDE. И вечно наяривать gcc дохуя файлов -std=99 -Werror -o prog.exe несколько заебывает. Не мейкфайлы и шелл-скрипты же делать ради этого.

Ответы65355

110 16 мар, 13:46 110 1365355

>>1365353
>Не мейкфайлы и шелл-скрипты же делать ради этого
а что тогда?

Ответы65356

111 16 мар, 13:48 111 1365356

>>1365355
Я ж виндоребенок. Мне бы нажать кнопочку "собрать" чтобы, собственно, собрать.

Ответы65373

112 16 мар, 14:07 112 1365367

>>1365329
Тогда надо будет либо загонять весь ввод в строку и работать уже с ней - сразу появляется ограничение на длину строки, либо делать длинные стеки под числа и операторы - тоже появляется ограничение на длину стека. Хочется сделать без ограничений.

Ответы6537265378

113 16 мар, 14:11 113 1365368

>>1365347
>isdigit()
Скорее всего эта функция не пригодится, по крайней мере, пока.

114 16 мар, 14:24 114 1365372

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

Ответы65388

115 16 мар, 14:24 115 1365373

>>1365356
Тогда зачем тебе си? И да, слабо умножение самому написать, а не просто return f*x?

Ответы65377

116 16 мар, 14:28 116 1365377

>>1365373
Ну епт, умножение железно поддерживается даже каким-нибудь древним AVR8535. А Си просто нравится. Как и Перл. А вот для Форта я туповат, увы

117 16 мар, 14:29 117 1365378

>>1365367
Непонятная ебля у тебя, ну не мое дело, если не хочешь каких-то ограничений стеков и т.д., делай все проще.

Читаешь ввод посимвольно.

1) Читаешь первое число
2) Читаешь знак
3) Читаешь второе число
4) Читаешь второй знак
4.1) Если он плюс или минус, то совершаешь операцию над первым и вторым числом
4.2) Если умножить или разделить, то кладешь в буфер первое число плюс знак
4.2.1) Читаешь следующее число
4.2.2) Совершаешь действие
5) В итоге у тебя в буфере первое число и знак, и результат вычисления - второе число, а это пункт 3 - GOTO 3)

Ответы6538265384653886542465987

118 16 мар, 14:35 118 1365382

>>1365378
Если следующий знак — открывающая скобка, идёшь назад до первой открывающейся, и считаешь все

Ответы6538465424

119 16 мар, 14:37 119 1365384

>>1365378
Проебался в 5 пункте, если вышел с 4.1 то GOTO пункт 2, если с 4.2.2 то GOTO 4.

>>1365382
Скобок у него вообще нет, это видимо у него следующий пункт.

120 16 мар, 14:45 120 1365388

>>1365372
>динамическую память
Блин, я еще не знаю что это. Опять учить. Хочется дела делать.

>>1365378
Хм, занятно. Так наверное и сделаю. Спасибо.

Ответы6539665461

121 16 мар, 15:11 121 1365396

>>1365388
>Опять учить. Хочется дела делать.
Сфотай свою детскую жопу и выложи на гит

122 16 мар, 15:53 122 1365420

>>1365322
Запили ещё парсинг скобок, возведение в степень и возможность задания собственных констант каких-нибудь, а то какую-то хуйню для школьников делаешь.

123 16 мар, 15:55 123 1365424

>>1365378
>>1365382
Сказали бы сразу ему обратную польскую запись использовать.

Ответы65425

124 16 мар, 15:57 124 1365425

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

125 16 мар, 16:43 125 1365458

>>1363231
Это visual studio 2005? Прям 1 в 1

Ответы65585

126 16 мар, 16:56 126 1365461

>>1365388
Виртуалку поставь и надрачивай все с нуля. Я когда сам только начинал, пытался умножение сделать через байты. Закономерно проебался, поэтому не советую пытаться. Сделай просто исключения на умножение чисел, типа x>1, x<1 && x>0, x<0, x<-1, x>-1 && x<0 Если решишь ебаться с байтами, для начала сделай только int.

Ответы65464

127 16 мар, 16:58 127 1365464

>>1365461
Через битысамофикс*

128 16 мар, 17:12 128 1365471

Пните, что читать, если надо считать из текстовика данные и распихать их по структурам, в том числе и вложенным. Проблемы с последним - на третий уровень моих мозгов уже не хватает.

10 Кб, 771x754
129 16 мар, 17:32 129 1365482

>>1365322
> Как лучше всего это сделать?
Рекурсивно разбиваешь выражение, сходя из приоритета операций, от наименьшего к наибольшему. Составляешь дерево: в предка кладешь операцию, в потомков (ты используешь лишь бинарные операции, потому их всегда будет 2) -- разбитые выражения.
Продолжаешь опускаться вниз до тех пор, пока у тебя не останутся лишь числа (если выражение некорректно, то останется некоторая мусорная часть).
Потом проходишься по дереву снизувверх и склеиваешь числа по операции-родителю.
В этот метод легко добавляется обход скобочек (внешние скобочки просто отбрасываются), обработка унарных операций (в случае унарной операции родитель будет иметь одного потомка) и прочее.

Можешь, кстати, написать не калькулятор, а символьное дифференцирование. Оно делается в точности так же, только обход снизу вверх чуть усложнится.

Ответы66000

130 16 мар, 18:35 130 1365522

>>1365322
Ее величество, Рекурсия беспощадно разбирает подобные задачки. SICP читай.

Ответы655246558366000

131 16 мар, 18:37 131 1365524

>>1365522
> SICP читай
sicp это мем

Ответы65636

132 16 мар, 18:39 132 1365526

Я не понимаю как работает пирамидальная сортировка. Почитал, и все равно не пойму. Может кто нибудь на пальцах разъяснит?

Ответы65569

133 16 мар, 20:37 133 1365569

>>1365526
Ключевая операция - соединение двух отсортированных последовательностей в одну отсортированную последовательность. Например, есть у тебя 1 3 4 6 7 и 2 5 8. Одновременно двигаешься по обеим, смотришь, где меньше, и складываешь в результат. 1<2 значит выбираем единицу из первой, остается 3 4 6 7 и 2 5 8, дальше аналогично 2, 3, 4, 5, 6, 7, 8. Идея в том, что эти две подпоследовательности в момент соединения гарантировано отсортированы, потому что рекурсия сначала доходит до самых маленьких (по 2 элемента, думаю несложно), и потом соединяет по 4, по 8 и т.д. Степень двойки или нет - не принципиально, просто местами будут по одному, а не по два попадаться.

Ответы65576

134 16 мар, 20:47 134 1365576

>>1365569
Я не он, но ты хуево объяснил без обид
>Одновременно двигаешься по обеим
После этого перестал читать, невозможно что-то делать одновременно.

Тот кому ты объясняешь, ты это зря ему объясняешь, в гугле стоит ввести heap sort, heap sort для чайников, там будет 1000000 объяснений с разных точек, видео, презентации, иллюстрации, а ты надеешься ему объяснить лучше? Зря время теряешь.

Ответы65581

135 16 мар, 20:51 135 1365581

>>1365576
Поправлюсь - одновременно в одном потоке.

136 16 мар, 20:57 136 1365583

>>1365522
> SICP
Офигеть, вот это забористая книга. Еще есть такие?

137 16 мар, 20:59 137 1365585

>>1365458
Это нотпад++.

Ответы65586

133 Кб, 1200x1202
138 16 мар, 21:02 138 1365586

>>1365585
когда ж вы уже людьми станете

Ответы655876559167067

139 16 мар, 21:04 139 1365587

>>1365586
Как только добавят возможность его закрыть.

140 16 мар, 21:09 140 1365591

>>1365586
Я не учился в музыкалке на пианиста. Да и якобы скорость работы в нем не всегда нужна.

Ответы6561565617

141 16 мар, 21:44 141 1365612

>>1362799 (OP)
Сап. Пишу базу данных на си, что-то типа списка одноклассников/одногруппников, пока что сделал только добавление в файл бд. Как организовать поиск через структуры из файла? Я ваще нихуя не пойму. Например вот так выглядит бд в файле:
|NAME USER |2CH |ABU |HUY |
|NAME USER |2CH |ABU |HUY |
а так выглядит структура:
typedef struct _bd
{
char name[25];
char user[25];
char 2ch[20];
char abu10];
char huy30];
}bd;

Ответы65613656386571665848

142 16 мар, 21:45 142 1365613

>>1365612
фикс
char abu[10];
char huy[30];

143 16 мар, 21:50 143 1365615

>>1365591
соглы. Вим не столько для написания кода, сколько для моментального форматирования текста. Как sed только немного круче. Он в отличие от sed интерактивный. Пожалуй, на этом отличия заканчиваются.

285 Кб, webm,
266x426, 0:09
144 16 мар, 21:50 144 1365617

>>1365591
Vim с каким-нибудь ClangCompleter и парой десятков плагинов очень классная штука, если у тебя проект не на десятки тысяч строк и полновесная IDE особо не нужна. Просто берёшь и пишешь код.

145 16 мар, 22:11 145 1365636

>>1365524
SICP это мем только у дурачков. Когда ты так говоришь, ты выставляешь себя дегенератом

Ответы65679

146 16 мар, 22:13 146 1365638

>>1365612
Пусть твоя прога хранит как в .json. Популярно и удобно.

147 16 мар, 22:56 147 1365679

>>1365636

SICP это книжка для андерградов-первокурсников по основам программирования, ничего больше.

Ответы65713

148 16 мар, 23:24 148 1365713

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

sage 149 16 мар, 23:26 149 1365716

>>1365612
Просто читай одну запись за другой с помощью fread. Так работает (работал) DBF. Если захочешь искать быстрее, можешь запилить индексы, например. В простейшем случае ты можешь записать индексы записей, отсортированных по имени, в отдельный файл, а потом двоичным поиском читать индексы и соответствующие им записи.

150 17 мар, 05:21 150 1365848

>>1365612
>Пишу базу данных на си
Ты обосрался, используй dBase.

151 17 мар, 05:58 151 1365852

>>1365322
Сори, анон, но как-то костыльно написано + логику всю переписывать, если добавлять приоритеты операций, который возникают при использовани скобок, операторов умножения/деления и т.д. Советую почитать про запись выражений в польской нотации. Будет гораздо проще сделать нормальный калькулятор. Строчек в 200, думаю, влезет

Ответы6585365982

152 17 мар, 05:59 152 1365853

>>1365852
>который
которыЕ*

153 17 мар, 07:48 153 1365862

А можнго ли в си создать экземпляр функции которая являетсчя ссылкой на другую функцию с двумя переданными аргументами? Ну типа как в жабаскрипте:

function foo (int, str) { };
var f1 = foo.bind(null, 1, ".");

Ответы658716587565882

154 17 мар, 08:46 154 1365871

>>1365862
Функция это код. Нельзя создавать экземпляр кода.

Ответы65881

155 17 мар, 09:02 155 1365875

>>1365862
Ты что-то типа такого ищешь?

https://onlinegdb.com/BkzpMPjvV

Ответы65881

58 Кб, 607x648
156 17 мар, 09:50 156 1365881

>>1365871
> «Поинтерами баловать можно, а баловать кодом нельзя»© The C Language
>>1365875
Ух как медленно грузится

Я пытаюсь что-то типа такого https://paste.ofcode.org/78985hzGxnFE25Hhgq9z8M
Естественно код не рабочий

157 17 мар, 09:52 157 1365882

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

Ответы65883

158 17 мар, 09:56 158 1365883

>>1365882
Ну целевой проект просто на Си, не буду же я весь код переписывать. Так то конечно если б с чистого листа, на плюсах делал бы.

Ответы65887

159 17 мар, 10:03 159 1365887

>>1365883
Если хочешь, можешь сделать через макрос типо.
#define f() foo(2, 4)
Сможешь писать просто f();
Единственное что это всего лишь макрос, который препроцессор развернет перед компиляцией, но это визуально ближе к тому, что ты хочешь хотя бы.

Ответы65888

160 17 мар, 10:05 160 1365888

>>1365887
О, спасибо. Мне в принципе и нужно для того чтоб в 10 местах одно и то же не исправлять если что, а как там препроцессор подготавливает это уже похуй.

51 Кб, 663x304
161 17 мар, 12:28 161 1365975

А почему вот так такое происходит?
Программа компилируется но естественно падает при запуске.

Ответы66254

162 17 мар, 12:43 162 1365982

>>1365852
Читал про нее - не очень понравилась что нужно дофига конвертировать выражение используя для этого кучу лишних длинных массивов. А тут хоть может костыльно, но всего два коротеньких стека под операторы и под числа, длина которых равна количеству разных приоритетов +1, и всего лишь один проход по выражению.

21 Кб, 686x350
163 17 мар, 12:50 163 1365987

Накостылял в калькуляторе умножение с делением.
https://ideone.com/K0zNua
Делал примерно как посоветовали >>1365378, логика программы при этом не пострадала, только стеки увеличились на одну ячейку, появилась рабочая область в виде двух смежных ячеек в этих стеках, которую можно перемещать по стеку и добавилась проверка приоритета операторов.

Ответы6598866448

164 17 мар, 12:56 164 1365988

>>1365987
Я не эксперт, но 150 строчек многовато

165 17 мар, 13:25 165 1365997

>>1365347
>Алсо, есть какие IDE получше Code::Blocks? CLion адово тормозной, как и Студии.
Qt Creator.

Ответы66001

166 17 мар, 13:38 166 1366000

>>1365522
>>1365482
Скобки, наверное на рекурсии буду делать.

167 17 мар, 13:43 167 1366001

>>1365997
Не менее тормозным будет.

Ответы66047

168 17 мар, 13:52 168 1366004

>>1365322
Рекурсивный спуск жи.

169 17 мар, 14:04 169 1366010

Хм, а обработка вложенных скобок практически всегда через рекурсию выполняется, выходит?
Мимо

Ответы66254

170 17 мар, 14:05 170 1366012

>>1365347
Borland Turbo C

Ответы66037

171 17 мар, 15:02 171 1366037

>>1366012
Вот этого удвою единственный ценитель среди здешних говноедов.

172 17 мар, 15:28 172 1366047

>>1366001
Уверен? Несколько лет его юзаю, нагрузка на память и процессор в разы меньше, чем у CLion.

74 Кб, 991x783
173 17 мар, 17:01 173 1366080

Сейчас ведь IDE не модно, сейчас модно расширеные редакторы типа сублейм, текстмейт, VS Code, Atom и так далее.

Ответы66085660866625466270

174 17 мар, 17:08 174 1366085

>>1366080
>поносный бред зумера

175 17 мар, 17:08 175 1366086

>>1366080
Я емаксом пользуюсь, мне норм

Ответы66094

176 17 мар, 17:13 176 1366088

>>1365347
Студия 2008 летает.

Ответы66093

177 17 мар, 17:20 177 1366093

>>1366088
Хм, а я старые Студии и не рассматривал. А в 2008 С++98 ака Си с классами, по сути.

Ответы66221

178 17 мар, 17:25 178 1366094

>>1366086
Так vi/emacs из той же оперы, только без гуя и с режимами.

179 17 мар, 18:46 179 1366131

Если в функции, которая возвращает double, что-то пошло не так, как это событие передать наружу?

Ответы661396621566254

180 17 мар, 18:53 180 1366139

>>1366131
Ручками установить errno, и если он выставлен - обрабатывать возвращаемое как целочисленные коды ошибок. Ну или завести свою глобальную переменную под это дело.

181 17 мар, 20:46 181 1366215

>>1366131
>header
define PROIZOSHLA_ZALUPA 1488

>func.c
if (zalupa cond)
ErrorHandler(PROIZOSHLA_ZALUPA);

>Error_handler.c
if (func(x) = 1488)
puts("произошла залупа пиздец короче чтото не так");

Ответы6622066222

182 17 мар, 20:55 182 1366220

>>1366215
void errorhandler(int error) {switch (error)
case 1488:
puts("zalupa occured error code 1488");
break
;}

9 Кб, 735x249
183 17 мар, 20:56 183 1366221

>>1366093
Выбор языка в настройках проекта.

Ответы6623566254

184 17 мар, 20:57 184 1366222

>>1366215
double f(double x)
{ return x + 8.;}

int main()
{ f(1440.); }

Охуенное решение.

185 17 мар, 21:43 185 1366235

>>1366221
Он имеет в виду что там компилятор старый, но ему ничто не мешает прикрутить туда компилятор от новой студии.

Ответы6625066254

186 17 мар, 21:58 186 1366250

>>1366235
А как?

Ответы66262

sage 187 17 мар, 22:05 187 1366254

>>1365975
Тебе же написали - неверный указатель. Сделай в load_file аргумент или указателем на массив фиксированного размера, или выкинь фиксированный размер из LIST нахуй и принимай указатель на указатель. И unsigned тоже выкинь. https://ideone.com/3aWjFh

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

>>1366080
> Сейчас ведь IDE не модно
> модно
Ты, наверное, из мейнтейнеров leftpad.js? Или тебе просто нравится дрочить на инструменты вместо решения задач?

>>1366131
> Если в функции, которая возвращает double, что-то пошло не так, как это событие передать наружу?
Или выделить из всего диапазона double что-то ненужное для индикации ошибки (например, банально вернуть NaN), или bool func(double ∗result).

>>1366221
Зачем /TC, если можно просто добавить в проект файлы с расширением .c, а не .cpp?

>>1366235
И енжой проблемы с отладкой и инкрементальной компиляцией. Но в основном с отладкой.

Ответы6626366269

188 17 мар, 22:33 188 1366262

>>1366250
Через настройки, лол.

189 17 мар, 22:38 189 1366263

>>1366254
С отладкой дело решается так же как и с компилятором, а проблема с инкрементальной компиляцией вообще откуда должна взяться?

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

Ответы6626566271

sage 190 17 мар, 22:42 190 1366265

>>1366263
> а проблема с инкрементальной компиляцией вообще откуда должна взяться?
Прошу прощения. Я имел в виду Edit&Continue.

191 17 мар, 22:47 191 1366269

>>1366254
> Сделай в load_file аргумент или указателем на массив фиксированного размера, или выкинь фиксированный размер из LIST нахуй и принимай указатель на указатель.
Это какой то пиздец пиздеца. Я вначале отправлял значение (char *)LIST[num] а потом и вообще нахуй перенес массив по месту использования а в теле порограммы оставил только чиселки, с ними меньше проблем.
> Ты, наверное, из мейнтейнеров leftpad.js? Или тебе просто нравится дрочить на инструменты вместо решения задач?
Нет, я как раз давненько в веб фронтенд не лазил хотя левоотступ это вроде из ноды ну да хуй с ним уже и забыл что IDE и любимый редактор друг друга не исключают. Звиняюсь.

192 17 мар, 22:51 192 1366270

>>1366080
Это что за редактор такой?

Ответы66278

193 17 мар, 22:52 193 1366271

>>1366263
>удобно компилить из под терминала
Ну не знаю, что удобнее. Альт-табаться до окна терминала, жать вверх и энтер. Или же просто ctrl+f5.
Мимо

Ответы662786627966281

194 17 мар, 22:57 194 1366278

>>1366270
Явно какое-то браузерное говно. Атом?

>>1366271
Зависит от подхода к программированию. Если ты компилируешь при каждом изменении (F5-driven development), тогда конечно в консольку ходить не очень удобно. Если ты пишешь относительно большие куски, то консоль норм, и даже удобнее. А так, сейчас любой редактор можно научить компилятор запускать по хоткею.

Ответы6628066283

195 17 мар, 22:59 195 1366279

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

196 17 мар, 23:00 196 1366280

>>1366278
Не знаю, не пользовался им, выглядит красиво, работает скорее всего так себе.
Думаю вот с вскода попробовать перекатиться на саблайм.

197 17 мар, 23:01 197 1366281

>>1366271
>не знаю, что удобнее
while :; do gcc "FILE" 2&>logfile; sleep 2; done
watch cat logfile
И отвешиваешь терминал на второй монитор, чтобы смотреть, какие ошибки выплёвывает компилятор.
Какже ИДЕдети сосут. Я просто тащусь.

Ответы6628566286

198 17 мар, 23:02 198 1366283

>>1366278
>F5-driven development
Да, оно, идеальное название. Написал строк десять, собрал, повторяю, когда решил проверить - запускаю и молюсь на распиханные в первой версии кода принты.

199 17 мар, 23:02 199 1366285

>>1366281
>while :; do gcc "FILE" 2&>logfile; sleep 2; done
while :; do gcc "FILE" 2&>logfile; sleep 2; done &
да, в конце ещё пизже будет поставить амперсанд, чтобы отправить цикл в фон.

200 17 мар, 23:04 200 1366286

>>1366281
Ну от подхода зависит. Я не постоянно пишу, а набегами. Между ними подсознание придумывает, как решить конкретную проблему. Ну и у меня не никсы.

201 18 мар, 05:14 201 1366355

Как это работает?
char *lineptr[MAXLINES];
Я правильно понимаю, что это объявляет массив из maxlines элементов, каждый из которых является указателем на строку?
strcpy(p, line);
lineptr[nlines++] = p;
Каким образом работает это? Ведь длина строки не указана, вдруг там не хватит места для копирования p?

Ответы66417

202 18 мар, 11:11 202 1366417

>>1366355
p не имеет никакого отношения к твоему массиву с УКАЗАТЕЛЯМИ на строки. Где-то в памяти создаешь строку p, копируешь в нее line. А за тем просто в свой массив копируешь указатель (адрес начала строки p) p.
Т.е. строки хранятся отдельно, а массив просто коллекционирует их адреса/указатели.

Ответы66421

203 18 мар, 11:22 203 1366421

>>1366417
Спасибо, теперь все понятно

204 18 мар, 12:18 204 1366432

А есть что-нибудь из переведенной литературы с учетом новейших изменений?

Ответы6648566679

205 18 мар, 12:19 205 1366435

>>1362220
>>1362244
Господи, почему же Бабаян с Пентковским отдались Интелу. Если бы они не ушли к ним на западе все еще не было бы микропроцессоров, способных хотя бы в 1 MOPS. А мы были бы монополистами в мире микропроцессоров, создавали бы самые технологичные и быстрые решения, доход от продажи которых составлял бы триллионы долларов в год, ведь выхода у других стран не было бы - Интел сам не может, а остальные вообще полные бомжары. И только наш Эльбрус пробивает сверхзвуковой барьер в микропроцессорных вычислениях. Мы стали бы властелинами мира, держали в руках всю компьютерную индустрию, не продай они наши технологии врагу. Как так можно было поступить. Ублюдки.

Ответы66436664406644466456

206 18 мар, 12:21 206 1366436

>>1366435
Прохладная история.

Ответы66452

207 18 мар, 12:25 207 1366440

>>1366435
>не продай они наши технологии врагу. Как так можно было поступить. Ублюдки.
Все правильно сделали, малаца, люблю их.

208 18 мар, 12:28 208 1366444

>>1366435
Опять психи из дур.дома сбежали. Как же вы сюда попадаете-то?

Ответы66450

22 Кб, 683x350
209 18 мар, 12:32 209 1366448

>>1365987
Добавил скобочки на рекурсии.
https://ideone.com/rDppF4
Теперь нужно думать как парсить многосимвольные операторы, типа синусов и тангенсов.

210 18 мар, 12:33 210 1366450

>>1366444
>эта весна и обострившиеся шизики повсюду
>Как же вы сюда попадаете-то?
Такая ты наивная няша :3

211 18 мар, 12:34 211 1366452

>>1366436
Ничего прохладного. Пентковский создал набор инструкций SSE (на основе разработок микропроцессора Эль-90, который в 1990м году стал бы быстрейшим в мире, если бы пошел в серийное производство (развал СССР сделал эти планы неосуществимыми). Интел догнал бы его по производительности только через 10 лет (на самом деле не догнал бы - Пентковского-то у них не было бы, выпускайся на родине Эль-90). SSE до сих пор используется в новейших процессорах Интел) для Pentium 3, который увеличил производительность 3ки в 4 раза.
А Бабаян пришел в Интел в 2004 году. Угадай, что Интел выпустит спустя 2 года с его прихода? Core 2, который станет отцом для твоего любимого Core i7, на который ты дрочишь. И эти микропроцессоры просто рвут все остальные в производительности. Очевидно, что в них использовались наработки Бабаяна для процессора Эль-2000.
Так что когда ты теперь восхищаешься великолепными сверхбыстрыми процессорами Интел, тебе стоит вспомнить, кто стоял у их истоков. Советские ученые. Без их работ мир бы сейчас все еще радовался бы 0.5 MIPS'ам и 256 Кб оперативной памяти.

Ответы66454664556646566475664806675266777

212 18 мар, 12:37 212 1366454

>>1366452
Хуль теперь плакаться, радуйся, что из-за совместной разработки выиграл лично ты. Аля наивная фантастика 60-х, про совместное покорение космоса.

213 18 мар, 12:38 213 1366455

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

214 18 мар, 12:41 214 1366456

>>1366435
Не могу понять толсто это или тонко.

Алсо: вот допустим у меня объявлено Mix_Music mymusic;
в исходниках SDL_mixer объявлено вот так

struct _Mix_Music {
Mix_MusicInterface interface;
void context;

SDL_bool playing;
Mix_Fading fading;
int fade_step;
int fade_steps;
};

typedef struct _Mix_Music Mix_Music;

Я правильно понимаю что не могу вот так4 в тупую в своем коде mymusic->context вызывать а только через какой нибудь

char buffer = Mix_GetContext(mymusic);

объявленный публичным, верно?

Ответы66660

215 18 мар, 12:57 215 1366465

>>1366452
А тотального отставания в электронике у СССР как бы и не было, ага. Во всем виновато копирование System/360, чоуж. И хуевое руководство.

216 18 мар, 13:18 216 1366475

>>1366452
>если бы пошел в серийное производство
Но ты же понимаешь, что он никогда бы не пошел в серийное производство?
Я много читал про все это не далече, чем полгода назад. Про компьютеры из СССР. Из прочитанного я понял, что все компьютерные технологии Совка - это копипиздинг западной техники, микросхем, микропроцессоров, технологий производства жестких дисков, мониторов и прочего прочего. И единственной реально революционной (все остальное - тупое говно тупого говна, которое появлялось в совке, когда на западе такие решения уже лет 10 как устарели) разработкой был этот пресловутый Эльбрус. Кстати, его концепт тоже спизжен - с машин компании Берроуз, которые не использовали ассемблера в процессорных командах, вместо него был высокий АЛГОЛ (его наши тоже спиздили, назвав "язык высокого уровня Эль-76"). Но концепт концептом, язык языком, спиздили и спиздили, а итог должен был превосходить суперкомпьютеры Берроуз да и вообще компьютеры всего мира.
Но. Эльбрус 1 был сдан в 1980 году и никогда не пошел в серию. При этом он был слабее батьки-Берроуза, с которого вдохновлялся. Фэйл.
Срочно начали пилить Эльбрус 2. Вот он как бы уже должен был быть гораздо сильнее и лучше предыдущего (хотя все равно безнадежно сосал у какого-нибудь Крэя). Но и он не пошел в серию. А почему? Машина-то получилось, как принято общественностью, неплохая. А потому что НЕТ БЛЯДЬ У СОВКА ЭЛЕМЕНТАРНОЙ БАЗЫ. Не мог он, как и сейчас не может, массово производить суперкомпьютеры и/или микропроцессоры. Потому что нет такой школы и промышленной технологии полупроводников, как у США (сейчас кто-нибудь кукарекнет, что многое из разработки теории и промышленности полупроводников разработали как раз-таки в СССР "Ряяя, ты что, не слышал про Алфероваааа, ряя", но я не знаю конкретно за Алферова, знаю только, что с проводниками в СССР и России полный пиздец - т.е., даже если наши какие-то технологии первыми разработали, воспользоваться ими они не смогли). Не умели и не умеют в транзисторы, интегральные схемы, микропроцессоры. Поэтому и выпустили Эльбрус 2 мелким тиражом. В количестве БЛЯТЬ 3 ШТУК. Все остальные Эльбрусы 2 - это так называемые "Эльбрус-1к2", т.е. перенос БЭСМ-6 на элементную базу Эльбруса 2. Рассказывать, что это за говно, думаю, не нужно. Берут устаревшую на 20 с лишним лет машину и натягивают на нее (или ее на) концепт Эльбрусовской системы с языком высокого уровня в процессорных командах. На выходе получается дикое, монструозное, страшное, нестабильное тупое говно, отстающее от западных машин как минимум на поколение. А ведь это "революционная разработка".
Нету блять элементарной базы. Поэтому не смогли бы они выпускать эти "Эль-90". Были они на бумаге, вполне возможно, что помогло людям, участвовавшим в их разработке, вкатиться в Интел, Sun, Моторолу и AMD. Но производить такое промышленность СССР никогда бы не смогла. Нет технической обеспеченности.
Так что да - лучшее, что могло случиться с Эльбрусом - это переход его команды в Интел. С отечественной элементарной и технической базой о мировом господстве в микропроцессорах можно забыть и даже на заикаться, а Интел успешно все вывел и выдал в массы.

216 18 мар, 13:18 216 1366475

>>1366452
>если бы пошел в серийное производство
Но ты же понимаешь, что он никогда бы не пошел в серийное производство?
Я много читал про все это не далече, чем полгода назад. Про компьютеры из СССР. Из прочитанного я понял, что все компьютерные технологии Совка - это копипиздинг западной техники, микросхем, микропроцессоров, технологий производства жестких дисков, мониторов и прочего прочего. И единственной реально революционной (все остальное - тупое говно тупого говна, которое появлялось в совке, когда на западе такие решения уже лет 10 как устарели) разработкой был этот пресловутый Эльбрус. Кстати, его концепт тоже спизжен - с машин компании Берроуз, которые не использовали ассемблера в процессорных командах, вместо него был высокий АЛГОЛ (его наши тоже спиздили, назвав "язык высокого уровня Эль-76"). Но концепт концептом, язык языком, спиздили и спиздили, а итог должен был превосходить суперкомпьютеры Берроуз да и вообще компьютеры всего мира.
Но. Эльбрус 1 был сдан в 1980 году и никогда не пошел в серию. При этом он был слабее батьки-Берроуза, с которого вдохновлялся. Фэйл.
Срочно начали пилить Эльбрус 2. Вот он как бы уже должен был быть гораздо сильнее и лучше предыдущего (хотя все равно безнадежно сосал у какого-нибудь Крэя). Но и он не пошел в серию. А почему? Машина-то получилось, как принято общественностью, неплохая. А потому что НЕТ БЛЯДЬ У СОВКА ЭЛЕМЕНТАРНОЙ БАЗЫ. Не мог он, как и сейчас не может, массово производить суперкомпьютеры и/или микропроцессоры. Потому что нет такой школы и промышленной технологии полупроводников, как у США (сейчас кто-нибудь кукарекнет, что многое из разработки теории и промышленности полупроводников разработали как раз-таки в СССР "Ряяя, ты что, не слышал про Алфероваааа, ряя", но я не знаю конкретно за Алферова, знаю только, что с проводниками в СССР и России полный пиздец - т.е., даже если наши какие-то технологии первыми разработали, воспользоваться ими они не смогли). Не умели и не умеют в транзисторы, интегральные схемы, микропроцессоры. Поэтому и выпустили Эльбрус 2 мелким тиражом. В количестве БЛЯТЬ 3 ШТУК. Все остальные Эльбрусы 2 - это так называемые "Эльбрус-1к2", т.е. перенос БЭСМ-6 на элементную базу Эльбруса 2. Рассказывать, что это за говно, думаю, не нужно. Берут устаревшую на 20 с лишним лет машину и натягивают на нее (или ее на) концепт Эльбрусовской системы с языком высокого уровня в процессорных командах. На выходе получается дикое, монструозное, страшное, нестабильное тупое говно, отстающее от западных машин как минимум на поколение. А ведь это "революционная разработка".
Нету блять элементарной базы. Поэтому не смогли бы они выпускать эти "Эль-90". Были они на бумаге, вполне возможно, что помогло людям, участвовавшим в их разработке, вкатиться в Интел, Sun, Моторолу и AMD. Но производить такое промышленность СССР никогда бы не смогла. Нет технической обеспеченности.
Так что да - лучшее, что могло случиться с Эльбрусом - это переход его команды в Интел. С отечественной элементарной и технической базой о мировом господстве в микропроцессорах можно забыть и даже на заикаться, а Интел успешно все вывел и выдал в массы.

Показать весь текст
Ответы664776648066777

217 18 мар, 13:26 217 1366477

>>1366475
>Не умели и не умеют в транзисторы, интегральные схемы, микропроцессоры.
а на чем тогда военная электроника работает? она все-таки у совка была пусть и не особо крутая да и сейчас что-то делают

Ответы66478664816648266537

218 18 мар, 13:29 218 1366478

>>1366477
Ты охуеешь, но военные до сих пор от ламп не отказались.

Ответы6647966481

219 18 мар, 13:30 219 1366479

>>1366478
скажем так я не поверю
самонаводящаяся ракета на лампах это дизельпанк какой-то

Ответы66481

220 18 мар, 13:30 220 1366480

>>1366452
>>1366475
>этот разговаривающий сам с собой обострившийся шизик
Весна пришла.

221 18 мар, 13:31 221 1366481

>>1366477
>>1366478
>>1366479
Нахуй иди.

222 18 мар, 13:34 222 1366482

>>1366477
Ну, да. По мелочевки пилят какую-то хуету мелкими партиями. Но это предел.

223 18 мар, 13:41 223 1366485

>>1366432
Bump. нафлудили то

224 18 мар, 15:36 224 1366537

>>1366477
Да пиздежь это всё. Я будучи школьником годами занимался радиотехникой, паял всё, начиная с ламповых усилков со здоровенными трансформаторами и заканчивая схемами на логических элементах (микрухи с ноготь) и ни разу не видел ни одной иностранной детали. Вся элементная база была русская. Отставание пошло только с компьютеров (микропроцессоров).

Ответы665636658666603

225 18 мар, 16:00 225 1366563

>>1366537
Зачем ты что-то объясняешь залетным детям из hw, которые с трудом себе-то объяснят что такое ток?

226 18 мар, 16:25 226 1366586

>>1366537
Там не деталь, а сами элементы были иностранными. Можно погуглить, у всех отечественных диодов, микросхем и прочего были зарубежные прототипы. Где-то был сайт, где перечислялись с фотками советские копии и иностранные оригиналы.

Ответы6660666655

227 18 мар, 16:36 227 1366603

>>1366537
Мда, то-то было так много брака среди телевизоров и радиомагнитофонов, а электронных устройств сложнее "Электроники ИМ-02" в гражданском потребление просто не существовало.
Видимо, только твои говноподелки пилить эти микроэлементы и подходили.

228 18 мар, 16:40 228 1366606

>>1366586
> сами элементы были иностранными. Можно погуглить, у всех отечественных диодов, микросхем и прочего были зарубежные прототипы.
Ну все охуеть теперь в Америке колёса круглые, давай нахуй на квадратных езди

Ответы66621

229 18 мар, 17:08 229 1366621

>>1366606
Пошли сверх-маневры.
Продолжаем зоонаблюдение.

230 18 мар, 17:28 230 1366636

Нахуй вы в треде про Сишечку сретесь? Сходите скриптомакак повеселите.

Ответы66688

231 18 мар, 17:54 231 1366655

>>1366586
Это называется "аналог". Аналоги есть не только между отечественными и зарубежными деталями, но и внутри отечественных например. Дело в том, что схемотехника примерно унифицирована. Изобретать детали с нестандартными параметрами не круто.

Ответы66658

232 18 мар, 18:02 232 1366658

>>1366655
Есть разные архитектуры. Тот же интел и арм.

233 18 мар, 18:08 233 1366660

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

Ответы66679

234 18 мар, 19:12 234 1366679

>>1366432
Ну прата же. В C17 ничего особо интересного нет.

>>1366660
Полей нет, но если вот так struct _Mix_Music лежит в .c файле внутри SDL или в приватном (не распространяемом) .h, а typedef к ней в публичном .h, то единственный легальный способ достучаться до полей - через геттеры. Это классический способ инкапсуляции в Си (который, кстати, не осилили в крестах, где методы должны торчать в определении класса в .h вместе со всеми остальными кишками).

Ответы6686566912

235 18 мар, 19:28 235 1366688

>>1366636
Дело говоришь. При чем тут Сишка? Как сейчас помню, поднимаю в 88-м на советском компьютере javascript...

Ответы6670266911

236 18 мар, 19:38 236 1366695

>>1362799 (OP)
Всем привет, я новичок.
Кто-нибудь может сделать так, как гифке, написав код на С?
И так же в среде разработки покадрово сохранить и сделать один файл .gif на выходе, а потом показать код?
Хочу выбрать язык, на котором буду делать такие вещи, а возможности языков не знаю.
Помогите, пожалуйста.
http://www.cyberforum.ru/3d-modeling/thread2421226.html

Ответы6670366720

237 18 мар, 19:49 237 1366702

>>1366688
Не сомнено, про Сишку ни слова. Но писькомерство и а вот если бы

238 18 мар, 19:49 238 1366703

>>1366695
тащи гифку сюда, cyberforum сломался. Я не помощник, за других говорю

Ответы66712

124 Кб, 300x300
239 18 мар, 20:08 239 1366712

>>1366703

240 18 мар, 20:23 240 1366720

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

241 18 мар, 21:31 241 1366752

>>1366452
Как мне кажется, всё-таки большая часть производительности из-за out-of-order execution, а не SSE. Да, оно безусловно важно, но без OOO ты бы до сих в асме сидел и руками вычислял трупуты и латенси. Особенно в 90-х, когда компиляторы разве что константы сфолдить могли.

RIP Itanium

Ответы6677366777

242 18 мар, 22:07 242 1366763

А какого хуя у меня программа сегфолтится?

typedef struct _TAG_ {
int x,y,w,h;
img_t img;
} g_t;

g_t Button1;

...

_draw_img(Button1.img, Button1.x, Button1.y, Button1.w, Button1.h)

Когда тоже самое было через обычные переменные все ОК

Ответы6677666950

243 18 мар, 22:24 243 1366773

>>1366752
Любопытное про кодинг под PowerPC на пастген-консолях. Чтобы далеко не ходить, вывод такой что эти чипы примерно равны 1/3 от K8(Athlon64) равной частоты на сложном (branch and microcode-heavy) коде.

http://cbloomrants.blogspot.com/2010/07/07-10-10-powerpc-suxors.html
http://cbloomrants.blogspot.com/2010/07/07-21-10-x86.html

Ответы66860

244 18 мар, 22:26 244 1366776

>>1366763
Ну нам-то откуда знать? Проблема где-то еще. Видимо, у тебя img инвалидный, ты структуру вообще инициализируешь?

Ответы6678066936

245 18 мар, 22:30 245 1366777

>>1366752
>>1366475
>>1366452
Что-то мне кажется вы этого долбаеба Бабаяна ну хотя бы слегкааааа так переоцениваете. Ну хотя бы самую малость. За Пентковского не скажу, так как нихуя о нем не знаю, не знаю на кой ляд ему этот SSE сдался, но раз хотел разработать, значит есть за что.
Но Бабаян - огромнейший хайпожор, который "изобрел" читай спиздил все подряд прорывные технологии. Его Sun нахуй послали, прокрутив на залупе с его "невероятными процессорами", а свой охуенный Эльбрус ДВЕТЫЩИ он так никогда и не выкатил. Лол, обещал захуярить и похоронить Интел с начала 90х, а в итоге выкатили какое-то говнище только в 2008, которое с глубоким проглотом сосет у самых бюджетных Интелов. ГДЕ БЛЯТЬ ПРОТОТИП СУКА? В смысле, раз такой охуенный процессор был, где хоть один? Почему Sun нахуй послали? Потому что он им говна лил за шиворот, как вам льет. Увидел кучу модных, появившихся на заре 90х терминов (по крайней мере в отношение процессоров) - суперскалярность, VLIW, параллелизм, предвыборка кода. И как начал спамить этой терминологией всех подряд, не забывая еще спиздануть, что все это придумал он.
Пиздабол он какой-то, миллион раз уже попадался, поэтому я ему не очень-то верю.

Ответы66793

246 18 мар, 22:36 246 1366780

>>1366776
> ты структуру вообще инициализируешь?
Инициализирую бля! Как понять "иницмализирую"?
Картинки не битые если что

247 18 мар, 22:58 247 1366793

>>1366777
> как вам льет. Увидел кучу модных, появившихся на заре 90х терминов
Кому вам, мудила? Он в каждой лекции трындит про Эльбрус 1-2 повторяя по кругу что - OoO суперскаляр, первый (сирийный) в мире, интел только в 93ем осилил, всем давали пасасать.

Итаниум никакого отношения ни к эльбрусу ни к бабаяну не имеет.

Ответы66805

248 18 мар, 23:18 248 1366805

>>1366793
Бабаяноёб порвался.
Кого блять Интел только в 93 осилил, долбаеб? Суперскалярный мейнфрейм? Ну охуеть теперь, вот только Интел по микропроцессорам, а не по мейнфреймам специализируется. Первый же суперскалярный рабочий микропроцессор создала Моторола в 88 году, но никак не уебан Бабаян.
Но и с желанием быть первым суперскалярщиком Бабаян сосёт бибу, так как Крэй создавал АБСОЛЮТНО СЕРИЙНЫЕ (а не 1-2 штуки, как его невъебенные "серийные" Эльбрусы) суперскалярные машины на 16 лет раньше этого пиздабола.
Так что непонятно на что он тут претендует, на какое первенство. На суперскалярность? Сорян, вы опоздали на 16 лет, надо было раньше приходить. На суперскалярный микропроцессор? Извините, но что-то никто никогда не видел ваших рабочих суперскалярных микропроцессоров. Короче, он знатный пиздабол.

Ответы66809

249 18 мар, 23:29 249 1366809

>>1366805
> Бабаяноёб порвался
kek написал порвавшийся долбоеб с горелой дупой. Иди с бабаяном на хабре спорь кто там первый и кто круче, тут тема про язык Си.

50 Кб, 500x672
250 19 мар, 01:03 250 1366860

>>1366773
> The result is that you can get wins by randomly offsetting your arrays when you know they will be used together. Some amount of this is just unavoidable.
Ох лол. Как же рад, что под x86 всё делаю. Особенно когда читаю про модели памяти различных архитектур (например DEC Alpha - ебануться).

Ответы6686267224

251 19 мар, 01:17 251 1366862

>>1366860
Алсо, это чувак из RAD Game Tools? Как они туда столько классных людей набирают? Одни Фабиан и Кейси стоят сотни программистов.

252 19 мар, 01:32 252 1366865

>>1366679
Что нового в С17?

253 19 мар, 07:20 253 1366911

>>1366688
Память выделил? Или в указатель что-то записал перед вызовом?

254 19 мар, 07:22 254 1366912

>>1366679
>Ну прата же.
Спасибо.

255 19 мар, 08:23 255 1366919

>>1364727
GCC и современные стандарты поддерживает.

62 Кб, 773x585
256 19 мар, 09:18 256 1366936

>>1366776
Короче у меня похоже проблема с пониманием как правильно работать со структурами

пикрелейтед - когда я передаю картинку в модуль программа сегфолтится

функция из модуля делает вот это

void module_draw_img(img_t p, int x, int y)
{
SDL_Surface pixbuf = (SDL_Surface )p;
SDL_Rect dest;
dest.x = x;
dest.y = y;
dest.w = pixbuf->w;
dest.h = pixbuf->h;
SDL_BlitSurface(pixbuf, NULL, screen, &dest);
}

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

Ответы66938

22 Кб, 370x164
257 19 мар, 09:20 257 1366938

>>1366936
> делает вот это
да ебаное говно

Ответы6694566946

258 19 мар, 09:40 258 1366945

>>1366938
Включи пошаговую отладку, посмотри на каком вызове падет. Ну или тошни в лог, перед каждым вызовом. Смотри где падает.

Ответы66949

259 19 мар, 09:50 259 1366946

>>1366938
Потому что у тебя все переменные в структуре в стеке, ВОЗМОЖНО кроме img_t. Надо смотреть и ее описание, возможно там есть член требующий явной инициализации.

Ответы66949

260 19 мар, 09:59 260 1366949

>>1366945
> Ну или тошни в лог, перед каждым вызовом.
жабаскрипты жабаскриптики так и делаю

Алсо:

loadIMG: music 28x33
loadIMG: info 32x32
loadIMG: vol 65x32

drawIMG: vol 0x0 x:0 y:480
drawIMG: info 0x0 x:0 y:480

То есть то что я и подозревал - когда я вызываю btn_init(Button1) оно внутри с копией структуры работает внутри а на глобальной структуре это никак не отражается.

Надо как то правильно через поинтер в функцию ссылку на структуру передавать

>>1366946
> ВОЗМОЖНО кроме img_t. Надо смотреть и ее описание, возможно там есть член требующий явной инициализации.
typedef void* img_t;

Вот так вот оно в заголовке определено

Ответы6695266979

261 19 мар, 10:00 261 1366950

>>1366763
Сделай так
_TAG_ Button1;
Я честно говоря вообще не понимаю, как это у тебя компилируется.

Ответы66956

262 19 мар, 10:07 262 1366952

>>1366949
В btn_init и btn_draw по ссылке передавай

Ответы6695366956

263 19 мар, 10:08 263 1366953

>>1366952
*через указатель.

264 19 мар, 10:18 264 1366956

>>1366950
> Я честно говоря вообще не понимаю, как это у тебя компилируется.
прикидываюсь clang -ом

попробовал по твоему через struct _TAG_ Button1;
тоже компилируется и тоже валится на том же месте, то есть и то и то примерно одно и тоже

>>1366952
А как правильно то? https://paste.ofcode.org/vi5TZjpwaZhLrLfGAv68Bt
Когдя я их использую он (компилятор) вечно пиздит

Ответы66958

265 19 мар, 10:21 265 1366958

>>1366956
static void btn_init(g_t btn) {
btn->img = module_load_img( btn->path ); // модуль знает путь к папке с картинками
btn->w = module_get_img_width( btn->img );
btn->h = module_get_img_height( btn->img );
}

static void btn_draw(g_t btn) {
module_draw_img(btn->img, btn->x, btn->y, btn->w, btn->h);
}

Ответы6695966960

266 19 мар, 10:23 266 1366959

>>1366958
Примерно понял, можешь пасту не делать, сейчас попробую

267 19 мар, 10:23 267 1366960

>>1366958
https://pastebin.com/KVMmy0em
Так лучше

Ответы66965

113 Кб, 734x563
268 19 мар, 10:34 268 1366965

>>1366960
Спасибо заработало.

то есть корректный код для моего примера выглядит вот так https://paste.ofcode.org/GHjwTb99cprrU44Ru9j6WX

Ответы66967

269 19 мар, 10:35 269 1366967

>>1366965
Хорошим тоном будет еще избавиться от глобальных переменных.

Ответы66980

270 19 мар, 11:09 270 1366979

>>1366949
Либо передавай в свой инит указатель, либо вообще нахуй убери и обращайся в интернете напрямую к баттон1,2,3, они у тебя все равно глобальные на какой-то хуй.

Ответы66984

271 19 мар, 11:11 271 1366980

>>1366967
Двачую, засунь переменные в начало мейна, ты все равно их в функцию передаешь, тогда в чем смысл глобальноститем более она тут вообще не к месту

Ответы66984

272 19 мар, 11:26 272 1366984

>>1366979
> обращайся в интернете напрямую к баттон1,2,3, они у тебя все равно глобальные на какой-то хуй.
так и было изначально, но с этим неудобно работать, мне вот надо еще 2 элемента идентичных добавить и обрабатывать, надо опять каждой по хуевой горе переменных объявить и функций написать.
Сабжевый код это упращенная версия
>>1366980
Пока (к сожалению) не могу, много где еще напрямую обращение идет, но когда код чище в нем уже лучше видно как можно так все организовать что бы они в глобальной области видимости не весели.

919 Кб, 1080x1080
273 19 мар, 13:43 273 1367030

Тэк. Поясните мне один момент.

Откуда берётся "С89 - тру, остальное от дьявола". Я сначала думал это такая толстота, но на лоре и в конфах частенько встречаю С89 бояр поливающих говном остальные стандарты и заявляя, что дескать после С89 остальное - это заливание анальное огораживание разработчиков.

Чем С89 лучше С11?

Ответы670326703367086

274 19 мар, 13:46 274 1367032

>>1367030
>лоре
Говноед, уходи

Ответы67034

275 19 мар, 13:51 275 1367033

>>1367030
Единственное объяснение - это старым восьмибитным компилятором под спектрум не соберется.

276 19 мар, 13:53 276 1367034

>>1367032
>Говноед, уходи

>Выискивает куски в посте не относящиеся к теме
>офтопит
>подрывается
>называет другого говноедом

пиздуй обратно в /b, бiдло

на лоре хотя бы тебя не пидорнут с форума за отказ лизать жопу макаке и на любую нетривиальную проблему распишут разжеванные тома

Ответы67043

277 19 мар, 14:03 277 1367036

Подскажите тупому дебилу, как слинковать правильно:
В main.c:
#include <hiredis.h>

В /usr/local/lib:
libhiredis.a libhiredis.so libhiredis.so.0.14
В /usr/local/include:
hiredis

gcc -L libhiredis -o main main.c
main.c:2:10: fatal error: hiredis.h: No such file or directory
#include <hiredis.h>
^~~~~~~~~~~
compilation terminated.

Ответы6703867047

278 19 мар, 14:17 278 1367038

>>1367036
если запустить
sdl2-config --libs

то он выдаст вот такую хуйню
-L/usr/local/lib -lSDL2

sdl2-config --cflags
-I/usr/local/include/SDL2

Надеюсь тебе это поможет

Ответы67051

279 19 мар, 14:33 279 1367043

>>1367034
>лоре
Говноед, уходи

280 19 мар, 14:39 280 1367047

>>1367036
>Подскажите
Но зачем? Ведь если тебе подскажут, оно заработает, а значит пердолингу конец. Пердоля против пердолинга, ты сам себя отрицаешь.

281 19 мар, 14:45 281 1367051

>>1367038
Ничем не помогло. Вот ldconfig:
>ldconfig -p | grep hiredis
>libhiredis.so.0.14 (libc6,x86-64) => /usr/local/lib/libhiredis.so.0.14
>libhiredis.so (libc6,x86-64) => /usr/local/lib/libhiredis.so

Пока компилю через жопу:
gcc -o main -I./hiredis main.c hiredis/libhiredis.a с самой либой в директории

100 Кб, 1024x1024
282 19 мар, 15:42 282 1367067

>>1365586
>Людьми
Зачем мне опускаться ниже моего уровня?

283 19 мар, 15:49 283 1367069

>>1364241
Напиши сначала как в книжке Господа нашего http://www.cypress.com/file/56651/download, калькулятор с польской нотацией юзающий стэк тянешь знач. из стека пока не будет операция - выполняешь операцию над числами и суешь обратно в стэк, парсер легчайше сделать для такой хуйни.

284 19 мар, 15:58 284 1367071

>>1364967
Vim и Emacs лучше емакс имхо

285 19 мар, 16:24 285 1367086

>>1367030
> на лоре
Говноед уходи

286 19 мар, 17:03 286 1367099

Как канонично получить строку из функции? Грубо говоря аллоцировать в main и передавать указатель в ф-ию, потом в main делать free()? https://ideone.com/igkm1b
Может, вообще в какой-то книге можно почитать про такие базовые best-practice по Сишке?

третий день пишу на си

Ответы6710467108

287 19 мар, 17:14 287 1367104

>>1367099
По хорошему удаляй в том же скоупе, что и выделяешь, чтобы все было более менее наглядно или делай подобие ООП с конструктором и деструктором, только все равно деструктор придётся ручками дёргать.

Ответы67115

288 19 мар, 17:19 288 1367108

>>1367099
Точно не уверен но поди вот так вот можно https://ideone.com/T7sGeU

Ответы671096711567131

289 19 мар, 17:24 289 1367109

>>1367108
str_t func() {
static char buff[] = "fuck";
return buff;
}

Ответы67131

290 19 мар, 17:30 290 1367115

>>1367104
>>1367108
Спасибо.

291 19 мар, 18:02 291 1367131

>>1367108
>>1367109
Все бы хорошо, да только годится исключительно для ненужных функций (функция, которая возвращает константу, является ненужной по определению). А менять состояние функции через static без поломок можно только до первой многопоточности.

Ответы67135

292 19 мар, 18:09 292 1367135

>>1367131
Оно как бы вообще идея плохая. Я так понял, просто для примера возможности.

293 19 мар, 20:12 293 1367194

200 Кб, 330x478136 Кб, 330x429

this или this ?

Перекатываюсь с питона-джанго

Ответы6719667993

294 19 мар, 20:13 294 1367196

>>1367194
Читал первую, лайтовая приятная книжка. Легко читается, легко понимается. Моя первая книга по си, могу сказать что ок.

295 19 мар, 21:11 295 1367224

>>1366860

Там же (?) пишут, что под PS2 (не говоря о более ранних консолях) было намного жестче (типа постоянный стриминг с DVD, постоянная загрузка/выгрузка текстур в мизерную видеопамять с основной несколько раз за кадр), хуже тулинг, вот это все. Железка крайне любопытная кстати https://hwdocs.webs.com/ps2

https://www.youtube.com/watch?v=PvK2nVMKEQ4

516 Кб, 586x566
296 20 мар, 08:23 296 1367392

Почему rand() выдает одинаковые числа?

Ответы6740667411

297 20 мар, 09:02 297 1367406

>>1367392
только вчера сам об этом гуглил

надо вот так вот делать

srand( time(NULL) );

зкштеа("random: %d ", rand() % 10); // => 0...10

Ответы6740767408

298 20 мар, 09:04 298 1367407

>>1367406
> printf
нутыпонил

299 20 мар, 09:06 299 1367408

>>1367406
Это в учебнике который я читал написано про это что надо через переменную
time_t t;
srand(time(&t);
И дальше уже используешь rand().

Ответы67411

300 20 мар, 09:34 300 1367411

>>1367392
Если интересует почему так, то потому что статические (т.е. компилируемые без рантайма) языки так устроены что никакого рандома быть не может.
напиши ка цикл или алгоритм который рандомно числа подбирает - не сможешь. Тебе так и так надо какое то стартовое значение которое должно меняться, но в бинарнике же ты не можешь значение менять (в зависимости от запуска итд).

>>1367408
Да блять выкинь ты нахуй этот учебник, открой документацию нормальную и смотри http://www.tutorialspoint.com/c_standard_library/c_function_time.htm

Функция time из стандартной библиотеки, принимает в качестве аргумента поинтер то есть туда нахуй что угодно можно сунуть, если указатель указывает на ноль то он возвращает 1 января 1970 в милисекундах

#include <time.h>
int main() {
char \*t = {0,0,0};

long int a = time(&t);
printf("time: %li %li\n", t, a);
}

Ответы67664

301 20 мар, 15:22 301 1367526

Как делать массив указателей на функции?
Все функции void, аргументов нет.
Пробовал void (mas[8])() = { &f1, ... } - на каждую данную функцию ругается "ссылка на неразрешённый внешний символ _f1 в функции _foo" в файле file.obj
Без амперсанта то же.
Если сделать так:
void (mas[8])();
mas[0] = &f1;
mas[1] = &f2;
...
то та же ошибка, но не ругается на нулевую функцию.

typedef void (funcs)();
funcs* mass[8];
не помогает

Ответы67533675356753867543

302 20 мар, 15:31 302 1367533

>>1367526
typedef юзай, проще будет

303 20 мар, 15:35 303 1367535

>>1367526
Емнип там нужен тип данных. Либо выделять память через малок.
Типа:
int звездочка array[];

Ответы67538

304 20 мар, 15:39 304 1367538

>>1367526
>>1367535
>void (mas[8])() = { &f1, ... }
void (*mas[8])() = { &f1, ... }
Извиняюсь

Ответы67539

305 20 мар, 15:40 305 1367539

>>1367538
Да, это не решение проблемы, я неправильно написал свой код.

306 20 мар, 15:57 306 1367543

>>1367526
Решил, массив создавал правильно, ошибка в другом

Ответы67555

307 20 мар, 16:11 307 1367555

>>1367543
так в чем же? принеси давай весь код

Ответы67562

308 20 мар, 16:25 308 1367562

>>1367555
У функций, которые клал в массив, было по два прототипа - в хэдере и в другом файле

309 20 мар, 16:59 309 1367575

Бля как вы под шиндошс конпеляете? Этож пиздец какой то, нашел вроде аналог macbrew/linuxbrew (chocolatey) а там надо блять некрософт повершел 2.0, а ему надо нетхренворк 4+, а чтобы блять поставить нетхренворк 4+ надо блять через обновления эти ебучии установить 4.0, потом оно перезагрузится, потом 4.5, опять перезагрузится потом 4.6.1 потом 4.6.2 и так до последней версии и каждый раз чето блять качает и ставит по пол часа.
Как с этим блять работать то вообще?

Ответы675806762367638

310 20 мар, 17:14 310 1367580

>>1367575
Mingw64

Ответы67600

311 20 мар, 17:47 311 1367600

>>1367580
> Mingw64
Надо им было переименовать проект когда форкали, а то все ссылки видут на обычный mingw
А пакетный менеджер там есть хоть какой то? А то блять какой не возьми они все на повершеле поголовно, ну в чем проблема взять руби или пистон тот же ну нахуя опять завязывать свои приложения на МС поделия, ну ничему вообще люди не учатся.

Ответы6760167621

312 20 мар, 17:50 312 1367601

>>1367600
>А пакетный менеджер там есть хоть какой то
Нет, пакетная среда в Cygwin

Ответы67605

313 20 мар, 17:54 313 1367605

>>1367601
> Cygwin
О, лучь света, спасибо.

Ответы67614

314 20 мар, 18:06 314 1367614

>>1367605
> Cygwin
> лучь света
Поспешил с выводами, такое чувство что мне проинсталировали дебиан скомпилированый для винды.
Говно короче.

Ответы67663

315 20 мар, 18:26 315 1367621

>>1367600
Msys2 есть еще.

Ответы67664

316 20 мар, 18:27 316 1367623

>>1367575
У меня линупс на виртуалке.

Ответы67625

317 20 мар, 18:30 317 1367625

>>1367623
> У меня линупс на виртуалке.
Так а под винду то в нем не накомпиляешь.

Ответы6762767638

318 20 мар, 18:35 318 1367627

>>1367625
Блять, а может свой под винду компилятор написать? Чтобы нормально работал.

Ответы67630

319 20 мар, 18:52 319 1367630

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

Ответы67632

66 Кб, 668x664
320 20 мар, 18:58 320 1367632

Это какой то идиотический пиздец, в этом повершеле нельзя скопировать текст он просит перезапускаться для продолжения работы с установленной программой, и ни один пакетный менеджер не устанавливает пакеты (chocolatey, Scoop)

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

Ответы6766667682

321 20 мар, 19:34 321 1367638

>>1367625>>1367575
Ну да, чет тупанул. Под шиндос есть codebloks.

322 20 мар, 20:29 322 1367663

>>1367614
>дебиан
>Говно
В тот ли ты трхед забрел, петушок?

323 20 мар, 20:30 323 1367664

>>1367411
> потому что статические (т.е. компилируемые без рантайма) языки так устроены что никакого рандома быть не может
Што? Это-то тут при чем? Тру рандома вообще быть не может, а какой-нибудь твой пхп просто сам делает srand().

>>1367621
Двачую, лучшее решение.

Ответы67770

1,1 Мб, 960x640
324 20 мар, 20:32 324 1367666

>>1367632
>chocolatey, Scoop
Что это ща грвно, нахуй оно здесь нужно? Уебуй к смузиодминам

325 20 мар, 20:45 325 1367682

>>1367632
Есть же pip под Винду, правда не уверен, что в нем есть то, что тебе нужно.

Ответы67709

326 20 мар, 21:06 326 1367709

>>1367682
так и gem и npm есть но мне же надо dev хидеры и либы типа libogg libsdl ...

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

Я не верю в это, не хочу верить. Не хочу верить что в 2019г мне придется ходить сейчас по сайтам и качать инсталяторы архивы того что мне надо для сборки потом открывать документацию и курить как же в винде пути устроены там же не сделаешь cd ~project/ && make

Ответы67755

327 20 мар, 21:13 327 1367755

>>1367709
> Просто ведь вопрошаю чем под виндой люди пользуются
mingw-w64, ответили уже. И Visual Studio еще. У крупных проектов обычно есть готовые проекты для VS, ей и собирают (msbuild все дела). Детектится по использованию ucrt, например.

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

Ответы67776

328 20 мар, 21:24 328 1367770

>>1367664
> Што? Это-то тут при чем? Тру рандома вообще быть не может, а какой-нибудь твой пхп просто сам делает srand().
Ну во первых не мой, хотя мне нравится пхп как яхык за исключением некоторых вещей,
Во вторых инструкции типа srand ни в одном известном мне процессоре тоже нет.

Ответы67781

329 20 мар, 21:33 329 1367776

>>1367755
mingw-w64 я уже качнул, но что то у меня там неправильно поставилось, msys2 на первый взгляд то что нужно, но пока не трогал, завтра попробую его и мингв через него. Но мне кажется паке тов там раз два и опчелся, но посмотрим.
А вижуал студия платная же да и проект на опенсорцные либы и флаги гцц/шланг завязан, это чисто для шинд-онли коммерческих приложений.

Ответы67781

330 20 мар, 21:41 330 1367781

>>1367770
> Во вторых инструкции типа srand
Потому что srand() это функция сишного рантайма, с чего бы ей быть инструкцией? И пхп до 7 вроде версии просто обращался к сишным rand()/srand(). Обычно (псевдо)случайные числа генерируют программно, но еще есть специальные железки для криптографии и есть инструкции типа rdrand в x86, там в качестве источника энтропии используются датчики и внутреннее (непредсказуемое) состояние, поэтому задавать seed не нужно.

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

> А вижуал студия платная же
Community бесплатная, платные фишки для сборки не нужны. Весит только много, даже если build tools качать, это да.

Ответы67825

331 20 мар, 22:51 331 1367825

>>1367781
> Потому что srand() это функция сишного рантайма, с чего бы ей быть инструкцией?
srand это функция стандартной библиотеки которая после компиляции превратилась в инструкции процессору и обречена выдавать статически предсказанный результат. Ты никак не можешь на это повлиять этот код исполняется на железе
А рантайм он компилирует (превращает код в инструкции) во время исполнения, и по нескольку раз еще потом гонят с оптимизациями и деоптимизациями. Если даже сишная rand() после каждой компиляции программы другие числа начинает по кругу гонять, то тут то нахуя какие то srand(time(NULL)) придумывать? Где логика?
> is an instruction for returning random numbers from an Intel on-chip hardware random number generator which has been seeded by an on-chip entropy source.[2] RDRAND is available in Ivy Bridge processors
Ох лол вот это я обосрался (хотя на самом деле обосрался интел со своими нейросетями в процессорах)

Ответы67874

332 21 мар, 00:36 332 1367874

>>1367825
> srand это функция стандартной библиотеки которая после компиляции превратилась в инструкции процессору и обречена выдавать статически предсказанный результат
Она ничего не выдает, она void возвращает, привет.

> А рантайм он компилирует (превращает код в инструкции) во время исполнения
Для выражения типа state ∗ 1103515245 + 12345 абсолютно похуй, какие там были оптимизации, и когда именнно его превратили в машинный код. Оно вычисляет следующее состояние ПГСЧ (следующее случайное число), и его результат целиком зависит лишь от state. И вот как раз state и устанавливают с помощью srand.

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

> Если даже сишная rand() после каждой компиляции программы другие числа начинает по кругу гонять
Не начинает, в этом вся суть. Если не вызовешь srand() вообще, то будет одна и та же последовательность, которая зависит от реализации генератора. И насчет круга ты тоже слегка загнул. Даже у линейного конгруэнтного генератора выше период последовательности 231.

28 Кб, 723x413
333 21 мар, 00:49 333 1367880

Бесконечно можно вдуплять три вещи в float: это +INF, -INF и NaN.

Ответы6788367887

334 21 мар, 00:58 334 1367883

>>1367880
Это ты, наверное, еще не знаешь про denormals, сорта NaN и про разную псевдо-хуйню у long double в x86.

Ответы67884

9 Кб, 513x127
335 21 мар, 01:05 335 1367884

>>1367883
Да вообще песец полный. Там еще оказывается два нуля есть, положительный и отрицательный.

336 21 мар, 01:17 336 1367887

>>1367880
>printf("%s", " ");
дай отсосу, брат

Ответы67892

337 21 мар, 01:53 337 1367892

>>1367887
Похуй, gcc все равно в putchar() свернет.

338 21 мар, 08:39 338 1367927

Ребят, я совсем нуфаг в программировании. Чем компиляторы отличаются друг от друга? вообще я доблаёб, мог бы и загуглить, пойду этим и займусь

Ответы67953

339 21 мар, 10:58 339 1367953

>>1367927
Функционал компилятора выходит за рамки того, что продиктовано стандартом. Вот в этом всем и отличаются.

340 21 мар, 14:12 340 1367993

>>1367194
Братишка читай лучше сразу праймер прата.

341 21 мар, 15:26 341 1368027

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

https://pastebin.com/EARV37u4

Ответы68145

342 21 мар, 21:03 342 1368145

>>1368027
> Укажете на ошибки?
С -Wall собери, компилятор сам укажет. Алсо, ты задачу не привел, хуй знает, что ты пытаешься сделать. Алсо, пробелы можно одним printf-ом выводить: printf("%*s", 10, "").

Ответы68337

343 21 мар, 21:35 343 1368152

>>1362799 (OP)
Задачка со звёздочкой.
Все мы знаем, что с помощью поразрядных операций можно установить, сбросить, инвертировать отдельно взятые биты одной инструкцией, не изменяя остальные биты, например, в некой 8-битной переменной tepm:

char temp; >переменная
temp |= (1 << 5); >установить пятый бит переменной, не изменяя остальные
temp &= ~(1 << 4); >сбросить чётвёртый бит переменной, не изменяя остальные
temp ^= (1 << 7); >инвертировать первый бит, не изменяя остальные

Также можно устанавливать/сбрасывать несколько битов сразу, не изменяя остальные, например:

temp |= ((1 << 5) | (1 << 3));
temp &= ~((1 << 5) | (1 << 3));
temp ^= ((1 << 5) | (1 << 3));

Вопрос: как одной инструкцией с помощью одних лишь побитовый операций, не прибегая к использованию функций, одновременно установить и сбросить несколько битов, не изменяя остальные?

Ответы682026823968311

344 21 мар, 23:03 344 1368202

>>1368152
Не совсем понял что ты имеешь в виду.

temp = temp&~(1 << 4)^(1 << 7)|(1 << 5);
Вот это штоле?

345 22 мар, 00:08 345 1368239

>>1368152
> инструкцией
Пиздец перевод. Это кто, прата?

> char temp; >переменная
> temp ^= (1 << 7); >инвертировать первый бит
> первый бит
Пиздец перевод. Алсо, запись значений больше SCHAR_MAX в signed char - implementation defined.

346 22 мар, 06:59 346 1368311

>>1368152
Один бит это единица. Если нужно несколько бит, меняешь единицу на число с нужным расположением и количеством бит.

347 22 мар, 08:59 347 1368337

>>1368145
>С -Wall собери, компилятор сам укажет.
Огромнейше благодарю. Одно выражение не имело смысла. Удалил, скомпилировал с C-wall и ошибок не обнаружено.
Нужно было создать с помощью циклов расширяющуюся пирамиду до введенной заглавной буквы.

348 22 мар, 21:42 348 1368615

Че-то у меня наитупейший вопрос (как-будто 2+2 разучился складывать).
Чистить надо же только после calloc, malloc, etc? Если я просто поинтер ебанул (int* p = &jopa), при выходе из области видимости православно рипнется и p и jopa?

Ответы68622

sage 349 22 мар, 21:57 349 1368622

>>1368615
Да, вручную освобождать нужно только то, что ты вручную же и выделил. Ну или если тебе какая-то либа выделила.

350 22 мар, 22:13 350 1368629

Аноны, как в С проекте прикрутить ASM файл? Чтобы как у С++ бояр красиво все было.

Ответы68643

sage 351 22 мар, 22:48 351 1368643

>>1368629
В каком проекте? Почему это должно как-то отличаться от C++, по твоему? Просто собираешь .asm в .obj и линкуешься к нему. Если IDE, то куда тыкать, зависит от IDE, а ты ее не указал.

Ответы68659

145 Кб, 1824x740
352 22 мар, 23:32 352 1368659

>>1368643
Пардон. Вот хочу чтобы как на прикрилейтед было.

Ответы68694

sage 353 23 мар, 00:49 353 1368694

>>1368659
А погуглить? https://stackoverflow.com/questions/33751509/external-assembly-file-in-visual-studio

Ответы68700

354 23 мар, 01:17 354 1368700

>>1368694
Так это для С++ только работает.

Ответы68729

sage 355 23 мар, 02:37 355 1368729

>>1368700
Что за бред, при чем тут C++ вообще? Или тебя смущает extern "C" в декларации? Просто убери, и все.

Ответы69488

5 Кб, 458x20
356 23 мар, 06:38 356 1368754

Как на С эту конструкцию интерпретировать?

Ответы68788

357 23 мар, 09:56 357 1368788

>>1368754
Замени плюсовые касты на си-стайл касты.

358 23 мар, 16:04 358 1368883

Пацаны, объясните мне тупому почему мой код по сортировке выбором в двумерном массиве не работает?
https://ideone.com/k8SWKL

Ответы6890668909

359 23 мар, 17:31 359 1368901

Почему если я пытаюсь преобразовать 6.0 в 6, то получаю 5, хотя с остальными числами всё в порядке? Как это исправит? Преобразую через цел_пер=(int)вещ_пер.

Ответы6890368907

360 23 мар, 17:40 360 1368903

>>1368901
То есть 6.000000

361 23 мар, 17:46 361 1368906

>>1368883
>for (int k = 1; k < 6; k++)
точно не
for (int k = j+1; k < 6; k++)

362 23 мар, 17:47 362 1368907

>>1368901
твое 6.0 вероятно 5.9999999998
а преобразовние приведением отбрасывает дробную часть

Ответы68911

363 23 мар, 17:51 363 1368909

>>1368883
Потому что это какая-то хуета. Перепиши с нуля и задумайся хоть немного

364 23 мар, 18:00 364 1368911

>>1368907
Добавил к вещ.переменной 0.1 и всё нормально. а без этого костыля никак?

Ответы68913

365 23 мар, 18:07 365 1368913

>>1368911
Добавляй 0.5 если тебе нужно округление
Привыкай к костылям, числа с плавающей точкой это те еще сволочи

Ответы68916

366 23 мар, 18:13 366 1368916

>>1368913
Разве костыли не говнокод?

Ответы68921

367 23 мар, 18:17 367 1368918

Вот мой тот самый код с 5 вместо 6, который я исправил. Как сделать его менее говнокодистым?
https://ideone.com/OBGEN8

Нельзя использовать что-то кроме stdio.h, нельзя массивы и циклы. Вроде это все нельзя, остальное можно. Ебал в рот тех, кто придумывает такие задания.

Ответы6892069133

368 23 мар, 18:18 368 1368920

>>1368918
Ах да, там нужно разделить a.b на a и b и сравнить что больше, максимум цифр после точки 5.

369 23 мар, 18:22 369 1368921

>>1368916
Нет, бывают правильные костыли.

370 23 мар, 20:16 370 1368964

Решил сделать калькулятор и убил на это целый день. А ведь тут даже указателей нет. Что же дальше то будет

Ответы69015

371 23 мар, 20:24 371 1368966

Мужчины, поясните по хардкору, чем рекурсивный спуск лучше обратной польской нотации при написании калькулятора?

Ответы689796901369015

372 23 мар, 20:51 372 1368979

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

Ответы6900869020

491 Кб, 1920x1050
373 23 мар, 21:57 373 1369008

>>1368979

374 23 мар, 22:15 374 1369013

>>1368966

Рекурсивный спуск имеет в своей основе представление о формальных грамматиках, так что это более общее и намного шире применимое решение.

375 23 мар, 22:17 375 1369015

>>1368964
>целый день
Я уже много дней бьюсь по несколько часов. Пока сделал только базовую арифметику, скобочки, степень, остаток от деления и целочисленное деление. На этом пока остановился, так-как знаний маловато, буду вникать в теорию, а потом продолжу.
https://pastebin.com/ng3s7h61

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

Ответы69021

376 23 мар, 22:23 376 1369020

>>1368979
>чем меньше кода надо писать, и чем меньше задумываться над своей поделкой, тем больше макака рада.
Лол,обычно это называют эффективность.

377 23 мар, 22:23 377 1369021

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

Нужно внести правило банить любого, чей вопрос обсуждается и решается в K&R.
мимо читавший второкурсник

Ответы6902569028690486905669136

378 23 мар, 22:30 378 1369025

>>1369021
>страдайте хуетой месяц, и только потом программируйте
Классный способ отшить любого, привив отвращение к программированию.

Ответы6902769106

379 23 мар, 22:32 379 1369027

>>1369025
Я не говорю идти читать ебаный стандарт, это охуенная книга с кучей практических заданий, а не попыток этих неумех собрать из лего истребитель.

Ответы69032

380 23 мар, 22:34 380 1369028

>>1369021
>K&R
Это книга не для начинающих, а калькулятор очевидно пишет ньюфаг.

Ответы69031

381 23 мар, 22:37 381 1369031

>>1369028
Это книга специально для вкатывания и написана. Калькулятор там как раз и разбирается где-то в 4 главе

Ответы69036

382 23 мар, 22:37 382 1369032

>>1369027
Книга это хуета с хуетой. Интересно решать левые плешивые задачки только тому у кого собственных задач нет, то есть нет интереса к программированию, а вместо этого только фетиш на учебу.

Ответы69034

383 23 мар, 22:40 383 1369034

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

Ответы69039

384 23 мар, 22:41 384 1369036

>>1369031
Нет, она написана для тех кто уже умеет программировать хотя бы на каком-то другом языке.

Ответы69038

93 Кб, 1081x169
385 23 мар, 22:44 385 1369038

>>1369036
Ему уже достаточно тех знаний, которые он имеет, чтобы вкатится в нее

Ответы69045

386 23 мар, 22:44 386 1369039

>>1369034
Тупая аналогия. Раблта с памятью это просто, совсем не нужно ничего зубрить как с формулами, нужно только понять, а для этого не нужно не только знаний, но доже ума, реально тупой справится. нужно только желание понять, а не писать хуйню вслепую. Но с последним отношением, опять, значит к программированию нет интереса.

387 23 мар, 22:50 387 1369045

>>1369038
Может и достаточно, я начал с неё и несмог в неё совсем. И есть мнение что не я один. Прочитал перри и сейчас читаю прата.

Ответы6905169136

388 23 мар, 22:56 388 1369048

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

389 23 мар, 23:00 389 1369051

>>1369045
Читаю сейчас "Язык программирования C. Лекции и упражнения, 6-е издание" Прата. По ощущениям написано очень растянуто, зато всё понятно.

калькуляторщик

390 23 мар, 23:07 390 1369052

Пролистал Перри, прочитал оглавление Прата.
пиздец пиздец пиздец

Вам реально в кайф жрать 1000 страничное дерьмо вместо книги на 200 страниц от создателей языка и по совместительству людей, написавших unix?

Охуеть, не хочу учить как деды и байтоебы, хочу хвастаться перед мамкой количеством страниц. Поссал на вас.

Ответы6906169091

391 23 мар, 23:14 391 1369056

>>1369021
Всегда смешат дети вроде тебя с непомерным чсв.

Ответы69060

392 23 мар, 23:19 392 1369060

>>1369056
Да, есть такое. Хоть на дваче могу побыть чсв-уебаном, а ирл я полуметровый няша-стесняша :3

393 23 мар, 23:19 393 1369061

>>1369052
Сейчас современность, поэтому начали с современного чтива, а олдовую книгу от отцов-основателей тоже почитаем, когда руки дойдут, не волнуйся.

394 23 мар, 23:29 394 1369067

Это же гении со школы™21™ опять набегают, нахуй вы им помогаете?

395 24 мар, 00:16 395 1369091

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

Ответы69100

396 24 мар, 00:53 396 1369100

>>1369091
Могу позавидовать. Слабоумные более счастливы. А дедовские книги не кривые. Просто написаны в то время, когда комп был не у каждого примата, а только у тех, с кем можно поговорить как с homo obrazovannies, а не кормить тысячами страниц, от которых мозг отключается. Учил по K&R и не чувствовал себя кретином, сосите залупу, честь имею.

Ответы69102

397 24 мар, 00:57 397 1369102

>>1369100
Ну раз ты так учил то конечно все так должны учить, дед. Все кто не так учат неучи и балбесы. Ппц ты песком сыплеш, старпер.

Ответы69108

398 24 мар, 01:02 398 1369106

>>1369025
Бедняжка. Небось, мать наехала "вон у Ленки-то сын за 2 недели программизм освоил и дом родителям купил, не то что ты, нахлебник..."
Труъ-кодеры всем скопом поссали тебе на лицо, оставив немного для следующего анона, кому тоже месяц (не 5 лет, не год даже, а МЕСЯЦ БЛЯДЬ) учебы - унижение. У гуманитариев понятие глубины, видать, из коробки поломано.

399 24 мар, 01:04 399 1369108

>>1369102
На связи кун 20лвл, простатит, хронический вывих ключицы ноги, задавайте ответы.

Ответы69112

400 24 мар, 01:11 400 1369112

>>1369108
>задавайте ответы
Почему нет геморроя?

Ответы69116

401 24 мар, 01:14 401 1369116

>>1369112
Пакет с дрисней под ребром, жопа не эксплуатируется за ненадобностью.

Ответы69134

402 24 мар, 02:00 402 1369133

>>1368918
Что за пиздец, без циклов и всего остального это вообще выглядит как несвязанный шизофазический бред, странный у вас препод.

403 24 мар, 02:01 403 1369134

>>1369116
Как добился?

404 24 мар, 02:09 404 1369136

>>1369045
>>1369021
Хуй знает, я вообще особо си не учил, так было полкурса в универе, перед плюсами, вот их более менее учил, в основном по курсам с ютубчика, пробовал читать какую-то книжку, осилил страниц 200 может, потом забил хуй.
Но я очень быстро информацию усваиваю, может в этом дело.
кернел-дев-20-лвл

Ответы69137

405 24 мар, 02:12 405 1369137

>>1369136
>кернел-дев-20-лвл
Кернел в Барби и поняшках*

Ответы69138

406 24 мар, 02:15 406 1369138

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

Ответы69139

407 24 мар, 02:19 407 1369139

>>1369138
> комиты есть в ядре линукса
Ебать ты говномес, ты уже понял, что ядро линуха это показатель того как не нужно разрабатывать ПО?

Ответы69140

408 24 мар, 02:21 408 1369140

>>1369139
Общий уровень кода так себе конечно, благо я работаю не надо самим ядром, а просто портим драйвер в апстрим периодически.
Но как опыт для первой работы я щитаю довольно хороший.
алсо помимо линуха ещё QNX дёргаю, в теории можно ещё DPDK и Винду потыкать

Ответы69141

409 24 мар, 02:30 409 1369141

>>1369140
>QNX дёргаю, в теории можно ещё DPDK
Чому L4 не дергаешь и прочие ядра созданные инженерами?

Ответы69145

410 24 мар, 02:39 410 1369145

>>1369141
На самом деле я даже не знаю, что этону видимо пока кастомерам это не нужно, да и вообще вряд ли будет нужно, учитывая что мы мультигиговый езернет разрабатываем как бы, вероятно поддержку вайфай 6 тоже будем делать совместно с квалкомом, а QNX очень даже, на нем весь аутомотив будет держаться, поэтому и пилим.

411 24 мар, 02:55 411 1369148

Задал похожий вопрос в плюсотреде. Зачем писать на сях, если есть нативный интероп с растом? Пишите весь новый код на расте и интегрируйте его в существующие проекты. (Это не касается embedded, тут раст пока не стабилен)

Ответы6914969199692006922670652

412 24 мар, 02:57 412 1369149

>>1369148
>Пишите весь новый код на расте
Зачем?

Ответы69151

413 24 мар, 03:12 413 1369151

>>1369149
Удобнее обработка ошибок, строгая, статическая типизация, проблемы с памятью решаются на этапе компиляции, darta races отлавливаются на этапе компиляции, алгебраические типы данных, статический полиморфизм, макросы получше, производительность такая же, можно юзать уже существующие библиотеки на C и C++.

Короче 0 минусов, одни плюсы.

Ответы6915369156

414 24 мар, 03:19 414 1369153

>>1369151
>Статическая типизация
Поехавший? Ты в си треде если что, а не в треде КулСмузиСкрипт2010.
>Проблемы с памятью
Какие проблемы с памятью?

Ответы69157

415 24 мар, 03:31 415 1369156

>>1369151
Не убедил

416 24 мар, 03:34 416 1369157

>>1369153
Акцент на строгости типизации. Я в курсе, что в сях она статическая, лол. Хотя с учетом того, что в реальном сишном проекте ехал void через void и другие веселые касты для имитации ооп, то от статической типизации тут одно название.

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

Ответы691586915969194

417 24 мар, 03:35 417 1369158

>>1369157
Парсер съел звездочки возле void

418 24 мар, 03:37 418 1369159

>>1369157
Реальный сишный проект не пишется с нуля, а переписывается с прототипа что бы было очень быстро

Ответы69162

419 24 мар, 03:43 419 1369162

>>1369159
Спасибо, кеп..Только зачем ты это написал? Я же пояснил выше, что не в embedded и на популярных архитектурах у C нет преимущств ни в чем. Даже в скорости.

Ответы69164

420 24 мар, 03:47 420 1369164

>>1369162
Спасибо, Раст создавался под Файервокс, это тормозящее говно я удалил со всех устройств, в какой там ембедед вы еще хотите я не понимаю.

Ответы69168

421 24 мар, 03:53 421 1369168

>>1369164
Я тоже FF не пользуюсь, но я гуглил бенчмарки последних версий FF, куда намержили подсистем на расте из servo. Так там все +/- как в хроме с производительностью

Ответы69169

422 24 мар, 03:57 422 1369169

>>1369168
Не понятно твое копротивление, что ты хочешь то?

423 24 мар, 08:06 423 1369194

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

424 24 мар, 08:22 424 1369199

>>1369148
А нахуя мне раст? Вот потихоньку на Си пилю валидатор некоторых файлов текстовых. Процесс вполне идет, не вижу причин менять язык.

Ответы69202

425 24 мар, 08:26 425 1369200

>>1369148
Мы тут угораем по духу старой школы, не мешай.

426 24 мар, 08:34 426 1369202

>>1369199
Ужасно. Валидатор текстовых файлов это не программа, кроторую сделал и люди пользуются, а задача для скрипта. Текстовые файлы постоянно меняются, и ты будешь на каждый пук пересобирать свой высер? Я уже не говорю, что там кода нагорожено, кроме тебя никто не разберется. Короче, тут два варианта, либо ты умный мудак, который специально делает такое говно защитить свою незаменимость, либо необучаемый колхозный идиот, которому лень изучить лучший инструмент под задачу.

Ответы69203

427 24 мар, 08:37 427 1369203

>>1369202
А я и делаю для себя, в общем-то. С перспективой допила в нормальный редактор файлов такого формата.
Для души, короче. Ну и я необучаемый еблан, который как встретил Си, так на нем и застрял

Ответы69205

428 24 мар, 08:53 428 1369205

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

Ответы6920669207

429 24 мар, 09:00 429 1369206

>>1369205
>ебал пердолиться
Си язык не для тебя.

430 24 мар, 09:06 430 1369207

>>1369205
Ну в решетке анальное ООП, уже сложно.

Ответы69233

431 24 мар, 11:03 431 1369226

>>1369148
Тыкал палочкой в раст, не понравилось что хелловорд весит два метра, а то и больше. Го тоже выдает столь же жирные хеловорды. Ди выдает чуть поменьше - 300 кб, но там сборщик мусора хоть есть, а что впихнули такого жирного в раст - не понятно. А на няшной всего два килобайта получается на tcc и 30 на gcc. Кресты не пробовал, но там вроде тоже всё няшно.

Ответы6923769262

432 24 мар, 11:17 432 1369233

>>1369207
А сях тоже анальные функции, те же яйца, даже выглядит одинаково. Никто ведь не заставляет лепить функции на каждый пук, как и классы и тем более иерархии. Только дебилы лепят говно потому что оно есть в языке. Просто считай что название и скобочки это условный символы для обрамления кода, и всё, никаких проблем, ооп, функций, и прочего ненужного говна. Просто спроси себя: "Язык для меня, или я для языка? Кто главнее, кто кому подчиняется?" и будет ясно чмо ты позорное или человек.

433 24 мар, 11:29 433 1369237

>>1369226
Си это системный, машинный язык. Какой код написал, такой и получил.
Раст это веб-параша. Декларативная хуйня для определенных действий, а какой там будет код всем похуй. Вебмакакам похуй на код, у них хозяин богатый, если будет тупить/тормозить просто добавит еще серверов.

Ответы70231

434 24 мар, 13:01 434 1369262

>>1369226
Херово тыкал, че. Я тоже удивился от бинаря в полтора мегабайта на одном принте в консоль. Когда как у С и С++ выходит по 8кб. Минутный гуглеж и раст тоже выдал бинарник в 9кб.

Ответы69274

435 24 мар, 13:18 435 1369274

>>1369262
а на асме меньше 1кб, ибо main НИНУЖЕН нахуй, под меткой _start: отпечатываешься и милости просим exit 0) Эх, аж плакать хочется...

Ответы69281

436 24 мар, 13:33 436 1369281

>>1369274
Да похуй как-то. Я лучше залинкую libunwind и стандартную библиотеку(те самые полтора мегабайта), получу производительность как на асме, чем буду экономить сраные полтора мегабайта, пердолиться в десять раз больше и получить ту же производительность. Полтора мегабайта, в которые входит куча полезных библиотек, которые нужны всем и всегда, это не 30мб у джавы, в которые напиханы даже аллах и твоя мамка

Ответы69287

437 24 мар, 13:48 437 1369287

>>1369281
>это не 30мб у джавы
>почему вы так плохо живете?
>а хохлы еще хуже!
Это не ответ, а виляние жопой, лишь подтверждающее.

Ответы69290

438 24 мар, 13:56 438 1369290

>>1369287
Т.е. неудобность разработки и отстутствие уверенности в сесурности написанного кода - это нормально, а 1.5мб бинарника - ето плохо. Если что, раст по умолчанию линкует все статически, в 1.5мб залинковано много всего - stdlib, libunwind, pthreads и другое. Если ты в сях юзаешь динамически эти либы,то ВНЕЗАПНО в памяти процесса будут загружены все те же либы. Да, они будут шариться с другими процессами, но все же.

Я уже написал, что в расте можно линковать динамически и тогда все будет как по дефолту в С

Ответы69301

439 24 мар, 14:15 439 1369301

>>1369290
>Т.е. неудобность разработки и отстутствие уверенности в сесурности написанного кода - это нормально
"Уверенность" это мемчик дебилов, заменяющий мышление. Для таких есть Питон, уверенный язык, вот и нахуй иди в свой загон.

Ответы69306

440 24 мар, 14:27 440 1369306

>>1369301
В расте на этапе компиляции работает статический анализ. Ты разве не юзаешь его в своих проектах? А санитайзеры? Если нет, то ты максимум лабу в универе пишешь и дальше общаться я смысла не вижу. Вообще все мои сообщения адресованы сеньерам, которые по какой-то причине еще не читали/думали над внедрением раста. ты явно не входишь в их число, так что можешь идти нахуй

Ответы6930969312

441 24 мар, 14:47 441 1369309

>>1369306
Эй, тебе сколько растоадептов до понедельника набрать нужно?

Ответы69333

442 24 мар, 14:48 442 1369310

Давайте ебаться в жопу, это удобно и практично. Вот ты не ебешься в жопу почему? Ебись в жопу, это модно.

Ответы69333

443 24 мар, 14:50 443 1369312

>>1369306
Блять, ебанат, ты понимаешь что в си проектах люди юзают свои либы? А уж особенно эмбедщики, пишущие, можно сказать на совершенно другом языке. Твой Раст это пердеж для хипстеров-уебанов без образования. И не надо сейчас пукать что нинужно, лучше просто съеби.

Ответы6931369333

444 24 мар, 14:51 444 1369313

>>1369312
Люби Раст, сука111

Ответы69333

445 24 мар, 14:56 445 1369317

>>1362799 (OP)
Люби Раст, ебись в жопу111

Ответы69333

446 24 мар, 15:29 446 1369333

>>1369310
>>1369313
>>1369317
>>1369309
>натужно шутим, потому что посуществу аргументы не придумываются

>>1369312
Про эмбедед я ни слова не писал, раст еще сырой для этого.
Про либы - я не понял, к чему ты это высрал. Либы можно не выкидывать, вызывать из раста сишные либы, а из С - растовские. Интероп же. unwind, stdlib и прочее можно не юзать, никто не заставляет. Просто это удобно и накладных расходов мало.

Ответы693366933769339

447 24 мар, 15:37 447 1369336

>>1369333
>аргументы
>растодебил перепутал тред

448 24 мар, 15:37 448 1369337

>>1369333
Чем жопу смазываешь?

449 24 мар, 15:38 449 1369339

>>1369333
Есть аргументы по существу, что не нужно ебаться в жопу?

Ответы69354

450 24 мар, 15:53 450 1369354

>>1369339
Define ебаться в жопу в контексте программирования

Ответы69360

451 24 мар, 16:00 451 1369360

>>1369354
В каком нахуй контексте, поехавший растодебил

150 Кб, 1888x826
452 24 мар, 18:08 452 1369425

Ну и что с этим делать? Происходит это на обычном принтфе, при том какое-то кол-во этих самых принтфов проходят нормально, но после определенного такая хуйня.

Ответы69432694436949969609

453 24 мар, 18:21 453 1369432

>>1369425
Варианты:
- Долго и нудно дебажить код, выставляя memory breakpoints
- Запустить PVS-Studio или аналог
- Юзать санитайзеры (intel inspector, appverifier, встроенные в clang(если можешь скомпилить под него))

454 24 мар, 18:36 454 1369443

>>1369425
Как индекс может быть -1?

Ответы69609

455 24 мар, 19:50 455 1369488

>>1368729
Действительно, затупил ночью. Чаю, все работает.

456 24 мар, 19:59 456 1369499

>>1369425
Ну так определи после чего именно хуйня начинается. Ты скорее всего где-то за буфер лезешь.

457 24 мар, 22:50 457 1369609

>>1369425
Так может ты нам принтф покажешь, а не кишки crt? Хотя у меня такое чувство, что ты как-то CRT ломаешь, а printf просто не повезло обращаться к сломанному.

>>1369443
> Как индекс может быть -1?
А почему нет? Тебе важно лишь не вылезать за пределы объекта при обращении к памяти.
char array[3] = { 'a', 'b', 'c' };
char ∗parray = &array[1];
printf("[0] = %c, [-1] = %c\n", parray[0], parray[-1]);

Ответы69670

458 25 мар, 01:20 458 1369651

Пиздец ^^^^^^^
Вы тоже это видите? 0_0

459 25 мар, 02:31 459 1369670

>>1369609
но зачем

Ответы69684

460 25 мар, 04:45 460 1369684

>>1369670
В обсуждаемом выше скриншоте анона это сделано, чтобы EOF (-1) можно было передавать в ctype-функции и получать при этом валидные результаты. Да, можно было прибавлять 1 везде при обращении к массиву, но пришлось бы писать комментарий об этом в коде, который обращается и при объявлении этого массива тоже пояснять, почему там элемент для '\0' по индексу 1. (Просто предположение; не знаю, чем там у Microsoft думают.)

142 Кб, 852x659
461 25 мар, 09:41 461 1369719

Ебал матерей переводчиков.

Ответы69721

462 25 мар, 09:44 462 1369721

>>1369719
Согласен, на вид неоч.

463 25 мар, 09:44 463 1369722

Круто

464 25 мар, 15:00 464 1369823

Двач, можно ли как-нибудь покороче проверить равна ли переменная ряду значений? Не вот так: if(variable == 0 || variable == 1 || variable == 2){}, а как-нибудь так: if(variable == 0, 1, 2){}?

Ответы698276983569857698636996870166

465 25 мар, 15:26 465 1369827

>>1369823
для целочисленных значений на switch можешь заменить

Ответы69833

466 25 мар, 15:50 466 1369833

>>1369827
Неактуально для небольшого количества значений. Ещё больше кода будет.

467 25 мар, 15:53 467 1369835

>>1369823
У gcc/mingw есть рейндж расширения стандарта для кейсов, можно писать типа
switch (val)
{
case 0 ... 2:
case 10:
//
break;
default:
//
break;
}

468 25 мар, 17:01 468 1369857

>>1369823
битовые маски

469 25 мар, 17:21 469 1369863

>>1369823
[code]if(value>0 && value<3)[/code] уже не катит?

470 25 мар, 20:43 470 1369968

>>1369823
For++?

471 25 мар, 21:47 471 1370013

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

Ответы70034

472 25 мар, 22:30 472 1370034

>>1370013
> сишка примитивна
Ну так и заебись же, легче того же питона в освоении.
Поделитесь хорошей либой-хедером с ассертами

Ответы70095

473 25 мар, 22:57 473 1370059

Openssl с 11/17 стандартами нормально работает?

Ответы70095

474 25 мар, 23:41 474 1370095

>>1370034
> либой-хедером с ассертами
assert.h, чего тебе там не хватает?

>>1370059
Ты можешь свободно линковать код на C11 и C89. Лишь бы стандартная либа в последнюю версию могла (в основном из-за всяких _Thread_local для errno и т.п., хотя оно и до стандартизации у всех было).

Ответы70157

475 26 мар, 05:49 475 1370157

>>1370095
У openssl, наскока я помню, свой эррор хендлинг, и в потоки она не может, т.к. технология под std99 сделана, поэтому тут с 17 версией, где потоки уже дефолт могут понадобится костыли в большом количестве. С 11 все точно ок должно быть

476 26 мар, 07:20 476 1370166

>>1369823
>равна ряду значений
Вот что получается когда а программирование протекает женская логика.

477 26 мар, 07:31 477 1370167

Поясните какого хуя у меня вот эта хуйня пишет только последнее значение в массиве т.е для i=9 ?

for (i=0; i<9; i++);
{
printf("%c \n" , buffer);
}

Ответы70168701827018970261

478 26 мар, 07:41 478 1370168

>>1370167
Лол

Ответы70170

479 26 мар, 07:47 479 1370170

>>1370168
Ебучий Абу проебал всю разметку. Так в чем проблема?

Ответы70172

480 26 мар, 07:53 480 1370172

>>1370170
Скинь код полностью. Тебе нужно вывести 0-9 элементов массива в буквенном виде?

Ответы70179

481 26 мар, 08:05 481 1370179

>>1370172
#include <stdio.h>
#include <time.h>

int main(void)
{
int i=0;

time_t timer;
char buffer[26];
struct tm* tm_info;

time(&timer);
tm_info = localtime(&timer);

strftime(buffer, 26, "%Y-%m-%d", tm_info);

Ну а дальше идёт как раз цикл for. Переделал его под while и все нормально работает. В чем дело?

Ответы7018170184

482 26 мар, 08:09 482 1370181

>>1370179
Добавь buffer++;

Ответы70190

483 26 мар, 08:12 483 1370182

>>1370167
>for (i=0; i<9; i++); <<<
> ; <

Ответы70260

484 26 мар, 08:19 484 1370184

>>1370179
#include <stdio.h>
#include <time.h>

int main(void)
{
int i=0;

time_t timer;
char buffer[26];
struct tm* tm_info;

time(&timer);
tm_info = localtime(&timer);

strftime(buffer, 26, "%Y-%m-%d", tm_info);

for (i=0; i<9; i++)
printf("%c \n" , buffer);

return 0;
}

Ответы70186

485 26 мар, 08:19 485 1370185

где в хкоде переключиться на х86 архитектуру?

486 26 мар, 08:19 486 1370186

>>1370184
printf("%c \n" , buffer);

487 26 мар, 08:20 487 1370187

ну короче ты понял, абу скобки кроет короч

488 26 мар, 08:22 488 1370189

>>1370167
Переменная buffer содержит адресс массива, в принтфе ты 9 раз выводишь первый байт адреса в виде символа. Иди читай документацию по принтфу.

Ответы7019170192

489 26 мар, 08:22 489 1370190

>>1370181
Это куда? У меня же и так printf ("%c \n", buffer[и]); и по условию он должен и так меняться.

Ответы70193

490 26 мар, 08:25 490 1370191

>>1370189
Я не на весь массив ссылаюсь, а на i-й элемент.

Ответы70193

491 26 мар, 08:27 491 1370192

>>1370189
У него есть там ([это]), просто разметка не позволяет сюда вывести.

Ответы70194

492 26 мар, 08:28 492 1370193

>>1370190
>>1370191
Пиздец ты дебил.

Ответы70196

493 26 мар, 08:28 493 1370194

>>1370192
>У него есть там
Не оправдывай малолетнего олигофрена, нет там нихуя.

Ответы70196

494 26 мар, 08:30 494 1370196

>>1370193
>>1370194
Хули ты такой ебанутый и агрессивный?

Ответы70197

495 26 мар, 08:31 495 1370197

>>1370196
>КУДАХ БАБАХ КУКАРЕКУ
As expected.

Ответы7019870199

496 26 мар, 08:33 496 1370198

У вас всегда такие >>1370197 ебанутые в треде?

497 26 мар, 08:34 497 1370199

>>1370197
Бля, поцан хотел просто помощи получить.

Ну чтож помянем.

Ответы70204

38 Кб, 1204x390
498 26 мар, 08:44 498 1370204

>>1370199
Ну и он её получил.

Ответы70205

499 26 мар, 08:47 499 1370205

>>1370204
И где тут решение? Должна была вывестись текущая дата.

15 Кб, 796x389
500 26 мар, 08:55 500 1370207

Прекращу этот цирк что-ли.

Ответы70226

501 26 мар, 09:38 501 1370220

Читаю и так и не понимаю зачем нужны указатели. Думал может прата почитаю и пойму но там какая-то словесная дрисня в стиле указываем указателем на указываемое. Ехал масло маслянное. Возникает ощущение что переводчик поклал и перевел транслитом вообще не вдумываясь написанное.

Ответы702277030070326

502 26 мар, 09:40 502 1370221

Пиздец говнокод блять. Выведи уж тогда через &buffer[i * 1] если ты уебан со скриптопарашей головного мозга

Ответы70249

131 Кб, 1080x1920
503 26 мар, 09:53 503 1370226

>>1370207
Это не то что мне нужно. Мне нужно выводить по 1 элементу массива, а не весь целиком. Вот так надо.

Да и ты не решил проблему, а просто обошел ее мимо. Почему цикл for не работает как надо?

Ответы70228702297023370260

504 26 мар, 09:56 504 1370227

>>1370220
>переводчик
Slaveянин, please.

Ответы70262

17 Кб, 861x422
505 26 мар, 09:56 505 1370228

>>1370226
В смысле блять не работает как надо? А как тебе надо?

Ответы70230

506 26 мар, 09:56 506 1370229

>>1370226
Потому что у тебя ошибка в ДНК
/тред

Ответы70249

507 26 мар, 09:57 507 1370230

>>1370228
Грешно смеяться над юродивым, ананчик.

Ответы70249

508 26 мар, 09:57 508 1370231

>>1369237
>Вебмакакам похуй на код, у них хозяин богатый, если будет тупить/тормозить просто добавит еще серверов.

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

509 26 мар, 09:59 509 1370233

>>1370226
Блять идиот, потому что тебе нужно вывести элемент n по адресу &buffer[n1] (n++) или str (str++), а ты пытаешься вывести в каждой итерации весь массив со спецификатором const char
Короче иди нахуй
И да если ты хочешь чему-то научиться, в первую очередь выбрось принтф из своего кода

Ответы702347023570249

510 26 мар, 10:00 510 1370234

>>1370233
>(Star)str (str++)

511 26 мар, 10:01 511 1370235

>>1370233
И как мне блять отлаживать?
Мимо

Ответы70237

512 26 мар, 10:02 512 1370237

>>1370235
Никак, нахуй иди.

Ответы70245

513 26 мар, 10:19 513 1370245

>>1370237
Я Дао постигнуть хочу, Учитель научи.

Ответы7024770248

514 26 мар, 10:22 514 1370247

>>1370245
Это какой-то токсичный хуесос тут семенит.

515 26 мар, 10:23 515 1370248

>>1370245
заебал, ты из какого языка такой прикатился сюда, что ты не можешь массив вывести сука?
https://wandbox.org/permlink/5tseLtkRjIJalAGE
на нахуй и съеби отсюда

Ответы7025170274

516 26 мар, 10:26 516 1370249

>>1370229
>>1370221
>>1370230
>>1370233

Какого хуя в треде одни агрессивные уебаны? Пришел новичок спросить в тред, а его вместо помощи хуями облажили. Хуею с треда.

Ответы7025270253

517 26 мар, 10:27 517 1370251

>>1370248
Хорошая чмоха, послушная.
Еще хуй мне отсосать не забудь.

Ответы70255

518 26 мар, 10:27 518 1370252

>>1370249
>облажили
Уроки-то сделал?

519 26 мар, 10:28 519 1370253

>>1370249
с чего ты хуеешь, семен? Тебе сказали какая и где у тебя ошибка, уже даже притащили решение

520 26 мар, 10:30 520 1370255

>>1370251
я даже написал в стиле твоего дохлого питона чтобы ты глазьки свои бедьненькие не сломал уебан не способный поставить нужный спецификатор в принтф

Ответы70258

173 Кб, 1152x864
521 26 мар, 10:32 521 1370257

Вы это видите, blyad??? Демоническое \t во всплывающем посте в отличие от поста на месте в ленте.

522 26 мар, 10:34 522 1370258

>>1370255
Теперь глотай, пидарок.

523 26 мар, 10:38 523 1370260

>>1370226
>>1370182
У тебя точка с запятой стоит в for перед printf.

Ответы70261

524 26 мар, 10:43 524 1370261

>>1370167
>>1370260
шоб мимопроходящий сразу охватил суть срача)

525 26 мар, 10:48 525 1370262

>>1370227
Причем тут это? Автор дебич берет тему указателей, которая и так сложная для нубов, а потом говорит вот есть многомерные массивы давайте еще тут про указатели чтобы было окончательно непонятно если вдруг было понятно, и тут же еще начинает затирать за уровни косвенности. Вот зачем так делать?

Ответы7027070272

526 26 мар, 11:00 526 1370270

>>1370262
>читает в переводе
>кукарекает
Типичный русский типичен.

Ответы7027870329

527 26 мар, 11:02 527 1370272

>>1370262
Что нахуй может быть непонятного в указателях? Указатель = переменная с адресом. Все. Что вы там сложного находите блять?

Ответы702757027870354

528 26 мар, 11:03 528 1370274

>>1370248
Извините, а в чем заключается сакральный смысл использования write() вместо printf() ?

Ответы70275702767027970322

529 26 мар, 11:05 529 1370275

>>1370272
>Что вы там сложного находите блять?
Очевидно же лишнюю хромосому
>>1370274
Да.

Ответы70278

530 26 мар, 11:10 530 1370276

>>1370274
Не вместо, а когда в машинном (не человекочитаемом символьном) виде надо данные в голову файла загнать, например.

531 26 мар, 11:13 531 1370278

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

Ответы7028070282

532 26 мар, 11:13 532 1370279

>>1370274
Вот, например, мой велосипед, который сугубо Хаффменовским кодом сжимает буржуйские тексты в среднем почти в 2 раза. Что бы я делал без fwrite()?
https://github.com/PolazhinetsA/univer/blob/master/kod.c

Ответы7028270495

533 26 мар, 11:14 533 1370280

>>1370278
>категориями адресов в памяти
пофиксил

Ответы70282

662 Кб, 700x525
534 26 мар, 11:18 534 1370282

>>1370278
>>1370279
>>1370280
Пиздец ты чмырдяй.

Ответы7028470285

535 26 мар, 11:22 535 1370284

>>1370282
2 из 3, деанонизатор. 1370278 не я писал.

Ответы70291

536 26 мар, 11:23 536 1370285

>>1370282
Только не надо Сишный пост с Пикабу сюда тащить. Мне за него пиздец стыдно)

Ответы70291

32 Кб, 498x315
537 26 мар, 11:41 537 1370291

>>1370284
>не я писал.
Все вы одинаковые.
>>1370285
>)
Обосрался, маленький, еще и обмазался весь.

Ответы70301

538 26 мар, 11:50 538 1370292

Хочу слинковать несколько объектных файлов, написанных на разных языках, в один исполняемый файл. Работаю под виндой. Какие есть аналоги ld и make для винды с возможностью задать скрипт линкера в том же формате, в каком его пишут под линуксом? Cygwin не нужен.

Ответы70454

539 26 мар, 12:03 539 1370300

>>1370220
тащемта все легко
вот у тебя есть переменная допустим
char anus со значением "jopa"
и есть переменная-указатель
char (star)dirka, ты можешь присвоить ей значение, находящееся по адресу переменной anus (star)dirka = &anus

Теперь твоя переменная (star)dirka содержит указатель на ячейку памяти, в которой хранится переменная anus.
Теперь, чтобы не ебаться с первой переменной, ты можешь передаватб нескольким функциям указатель на анус, и они смогут найти по нему твой anus и расширить твою жопу с jopa до joopa.
Таким же образом, если, допустим, anus - это важная переменная записывающая в себя кучу флагов по всей программе, ты можешь задавать поинтеру точный адрес внутри ануса, зная, что в этом месте массива запишется какая-то инфа, которую тебе потом надо будет вызвать (star)dirka = &anus[n a]
Ты так же можешь создавать массивы указателей. А можешь и создать n-мерный массив указателей, в котором будут лежать указатели на n n указателей на ((n n) * n)-мерные массивы указателей указывающие на w-мерные указатели.
есть еще указатели в структурах. Если объект структуры является указателем, то обращение к нему происходит через стрелку list->next,
если обхект структуры указателем не является, то обращаешься к нему по его местонахождению (т.е. разыменовываешь) через точку tvoya_jopa.shirina

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

Ответы70398

540 26 мар, 12:03 540 1370301

>>1370291
да похуй, и так перекат скоро

Ответы70309

541 26 мар, 12:10 541 1370309

>>1370301
>похуй
Принято, в новом треде первыми же постами полный деанан.

Ответы70313

542 26 мар, 12:14 542 1370313

>>1370309
Хорош деанон, когда я сам ни капли не скрываюсь в тех местах, где подписан PolazhinetsA. Держи задачку посложнее. Тащи сюда фотки моего хуя с Reddit.

Ответы70315

543 26 мар, 12:15 543 1370315

>>1370313
>хуя
Слишком громкое название для твоих 12 см.

Ответы70318

544 26 мар, 12:20 544 1370318

>>1370315
Твоя мать полметровую линейку не тем концом приложила, вот и выслушиваешь потом "прикинь, сынок, спала с одним аноном, у него 12см, а ощущения на все 38"

545 26 мар, 12:25 545 1370322

>>1370274
printf это не функция а макро алиас главной __printf__ функции. Вызывая прототип принтф, а потом и сам его сишник, компилятор только форматирует текст и понимает, что вызвана stdoutput часть большой __printf__ функции, затем, получив отформатированный однострочный массив, выводит его посимвольно. С write та же история, только памяти она потребляет в несколько раз меньше и сразу выводит посимвольно. Ах да, printf еще запускает функции рекурсивно, а аутпут от write будет только из зоны видимости.
Ну и главный сдешний миф, что мол принтф хорошая вещь для дебага - полнейший бред. Большая часть ошибок на любом этапе работы с большинством C проектов из-за хуевого железа и хуевой памяти, с чем принтф абсолютно не поможет, а только усугубит проблемы

Ответы70369

546 26 мар, 12:30 546 1370326

>>1370220
я с праты тоже сразу ничего не понял, и забил, потом покукарекал в гейос, но там все еще хуже (субЪективно)

547 26 мар, 12:38 547 1370329

>>1370270
петуххохол закукарекал захрюкал

548 26 мар, 13:14 548 1370349

https://github.com/adambard/learnxinyminutes-docs/blob/master/ru-ru/c-ru.html.markdown

перекат 549 26 мар, 13:18 549 1370350

>>268534
>>268534
>>268534
>>268534
>>268534

Ответы70355

550 26 мар, 13:20 550 1370354

>>1370272
> Что вы там сложного находите блять?
То шо звездочка тама используется и при объявлении указателя и для получении значения по адресу, помимо ее математической функции. Запутаться можно.

551 26 мар, 13:21 551 1370355

>>1370350
хуйня какая-то получилось)

Ответы70365

552 26 мар, 13:46 552 1370365

>>1370355
>хуйня какая-то получилось)
Вся твоя жизнь в трех словах.

Ответы70367

553 26 мар, 13:55 553 1370367

>>1370365
Ты бот?

Ответы70385

554 26 мар, 14:06 554 1370369

>>1370322
А как же хуевый код...

555 26 мар, 14:46 555 1370385

>>1370367
Даже ботом быть лучше чем тобой, ананчик.

Ответы70394

556 26 мар, 14:58 556 1370394

>>1370385
Только если ты написан на сишечке.

Ответы70422

557 26 мар, 15:04 557 1370398

>>1370300
>вот у тебя есть переменная допустим
>char anus со значением "jopa"
>и есть переменная-указатель
>char (star)dirka
Спасибо, после объяснения уровня б стало чуть более понятно.

558 26 мар, 15:43 558 1370422

>>1370394
>ты написан на сишечке.
Ты знал ^_^

559 26 мар, 17:01 559 1370454

>>1370292
Бамп вопросу.

Ответы70495

560 26 мар, 18:50 560 1370495

>>1370279
Максимально нечитаемый код, форматирование do..while так вообще напоминает шутки о параллельном программировании. И коды у тебя неправильные.

>>1370454
ld из комплекта mingw. В этом треде где-то вверху обсуждали.

Ответы70545

ПЕРЕКАТ # OP 561 26 мар, 18:56 561 1370499

Не понял, что у вас с предыдущим перекатом получилось, но вот вам еще один:

>>1370497 (OP)
>>1370497 (OP)
>>1370497 (OP)
>>1370497 (OP)
>>1370497 (OP)

Ответы70916

562 26 мар, 20:39 562 1370545

>>1370495
>И коды у тебя неправильные
Этот момент не понял...

Ответы70640

563 27 мар, 00:16 563 1370640

>>1370545
Ну я нормально не смотрел, но: сжатый-разжатый исходный код самой программы превращается в мусор. Размер минимального кода более чем один бит, хотя пробел должно было бы в один бит свернуть. Размер кода (вроде бы) не лимитируется - попробуй пожать и разжать текст, в котором частоты символов соответствуют последовательности фибоначчи (abccdddeeeeeffffffff ну ты понел).

564 27 мар, 00:58 564 1370652

>>1369148
Ну и нахуй он нужен? На сях сейчас пишут только системщину и возможности языка отлично позволяют это делать без каких либо проблем. Еще раз повторяю, нахуй нужен раст то?

565 27 мар, 09:38 565 1370705

Почему все так плохо с вводом-выводом текста? Вместо нормальной библиотеки ввода-вывода куча printf, gets/puts, fgets/puts, gets_s/puts_s. Чтобы ввести строку текста надо знать 3 оператора с ньюансами их работы по выделению памяти, работе с невидимыми символами и еще всяким вуду. Зачем? Кто там пилил с11, это же полный пиздец. В итоге простая вещь как ввод строки превращается в мозгоебство. Вот нахуй так жить?

566 27 мар, 10:09 566 1370712

>>1370497 (OP)
>>1370497 (OP)
>>1370497 (OP)
Перекат.
Оп-хуй кидай ссылку на новый тред в старый.

Ответы70916

567 27 мар, 18:14 567 1370916

>>1370712
>>1370499

Тред утонул или удален.
Это копия, сохраненная 10 апреля 2019 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion