Главная Юзердоски Каталог Трекер NSFW Настройки

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

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 285 53 83
Тред синтаксического сахара над языком ассемблера, ака языка си. /clang/ C 09/02/24 Птн 19:47:31 3042192 1
image.png 931Кб, 980x653
980x653
Давно меня не было и вероятно прошлый сдох.
Однако назрел вопрос с чем вы, аноны, склеиваете свои числодробилки, чтобы красивенько отображать информацию на экране монитора?

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

У вас какие мысли?
Аноним 09/02/24 Птн 20:15:33 3042241 2
>>3042192 (OP)
А что, консоль тебе недостаточно красивенькая?
Аноним 09/02/24 Птн 20:23:27 3042249 3
>>3042241
Возможностей консоли недостаточно. Нужна именно пиксельная графика, то бишь мордорисование. Через какие костыли не так уж важно, я могу и с нуля накалякать какой нибудь визуальный конвеер для покраски кнопочек (прямоугольник в котором текст, это разве страшная задача для отрисовки кнопки), но хотелось бы не сильно заморачиваться именно с мордорисованием а все творческие силы пустить на алгоритмы числодробилок.
09/02/24 Птн 21:02:14 3042273 4
image.png 367Кб, 600x600
600x600
Аноним 09/02/24 Птн 21:13:22 3042282 5
>>3042192 (OP)
Во-первых, тебе помирать уже скоро, а ты ui озаботился.
Во-вторых, бери винформс и не еби мозги.
Аноним 09/02/24 Птн 22:22:47 3042390 6
image.png 30Кб, 911x591
911x591
ncurses если нужен минимализм
qt если надо быстро
Аноним 12/02/24 Пнд 16:10:33 3045262 7
Мужики, а книги:
C Primer Plus - Стивен Прата
C Programming - A Modern Approach - Kn King
Есть на русском языке?
Аноним 14/02/24 Срд 08:22:26 3047807 8
>>3042390
ебать ты знаток канеш.
qt для c++ а для с gtk
Аноним 14/02/24 Срд 08:34:54 3047812 9
>>3047807
C если нужен минимализм
C++ если надо быстро
Аноним 14/02/24 Срд 16:01:10 3048326 10
>>3045262
Конечно есть, в Москве брал недавно Прату для коллекции.
Аноним 14/02/24 Срд 22:06:34 3048919 11
>>3047807
Нах C++. Можно в qt quick все сделать с минимумом плюсов, знаток.
Аноним 18/02/24 Вск 01:48:26 3053278 12
Аноны, подскажите дегенерату, пожалуйста, а можно ли за-memset-ить двумерный динамическивыделенный массив?
Обеспечивается ли линейность памяти для массива массивов?
Аноним 18/02/24 Вск 01:49:58 3053282 13
>>3053278
Да.
Линейно в памяти.
Аноним 18/02/24 Вск 02:18:25 3053301 14
image.png 51Кб, 746x523
746x523
>>3053282
Можно какой нибудь простейший пример? Или обьясните почему пикрил валится с сегфолтом?
Аноним 18/02/24 Вск 02:20:54 3053303 15
>>3053301
На вывод массиав не смотрите, судя по gdb он валится прямо на мемсете. "Сжатый" двумерный массив мемсетится легко, двумерный статический массив мемсетится легко, а вот массив массивов нихрена.
Аноним 18/02/24 Вск 02:23:12 3053306 16
>>3053301
У тебя не двкхмерный массив. У тебя массив указателей на массивы.
Аноним 18/02/24 Вск 02:30:37 3053311 17
>>3053301
Не уходи далеко. Через пару минут включу комп, проверю и покажу как правильно.
Аноним 18/02/24 Вск 03:10:09 3053327 18
image.png 14Кб, 404x334
404x334
>>3053301
Короче, с динамической аллокацией двухмерных массивов не всё так радужно.
Легче моделировать самому через арифметику, как показано вот тут - https://www.geeksforgeeks.org/dynamically-allocate-2d-array-c/

Но если ты вот прям хочешь поебаться с массивами, то на картинке рабочий пример.
Аноним 18/02/24 Вск 03:27:01 3053329 19
image.png 42Кб, 558x490
558x490
Аноним 18/02/24 Вск 03:54:29 3053332 20
image.png 43Кб, 579x490
579x490
>>3053329
А можно и так извратиться. Чтобы не делать разименование указателя. Дело привычки и предпочтений.
Аноним 18/02/24 Вск 21:02:33 3053976 21
Что будет если сделать free на память, которая на стеке
Аноним 18/02/24 Вск 21:23:55 3053985 22
Аноним 18/02/24 Вск 22:14:15 3054006 23
>>3053976
Упадет с ошибкой.
Куча и стек находятся в разных концах виртуальной памяти. Например, в линуксе куча растет снизу вверх, а стек - сверху вниз. Есть специальный регистр stack pointer, который указывает на текущую вершину стека (или низ). Можно вычислить, находится ли твой адрес в куче или нет, и упасть по ассерту.
Аноним 29/02/24 Чтв 16:12:32 3068213 24
https://pastebin.com/n5fEZnW6
Возможно ли мою хуйню было сократить по кол-ву строк хоть сколько нибудь?
Аноним 01/03/24 Птн 03:51:41 3068946 25
>>3042192 (OP)
>а скорость вычислений мы как раз поручаем числодробилкам на языке си, запакованным в билбиотечки.
Если нормально писать то и джава неплохо дробит числа. Вот недавно был челлендж
https://github.com/gunnarmorling/1brc - джава обошла раст по скорости и почти догнала С++ (но тут неточно, потому что С++ запускался не на эталонном железе, которое само было производительнее)
Аноним 01/03/24 Птн 04:55:49 3068965 26
image 205Кб, 802x568
802x568
>>3068213
>https://pastebin.com/n5fEZnW6
можешь задать свою хуйню одномерным массивом по типу
char huyn9[] = {,,,,,,'#',,'#' ... ,,,};
и потом вором вывести на экран где каждый n символ будет принтефатся \n

>>3068946
сомнительно, потеря скорости вычислений на трансляцию в джавамашине, это даже в теории не близко к числодроблению
Аноним 01/03/24 Птн 05:06:24 3068974 27
>>3068965
>вором
фором
>будет принтефатся \n
но можно и не принтить перенос строки если ты фулл экран консоли заливаешь каким то своим рисунком в псевдографике
Аноним 01/03/24 Птн 06:06:43 3069005 28
>>3068965
>char huyn9[] = {,,,,,,'#',,'#' ... ,,,};

или
char huyn9[] = " # # # ";
и выводить фором

или
char\* huyn9 = " твоя ебаная строка с рисунком хуйни ";
puts(huyn9);

лан похуй пойду посплю
Аноним 03/03/24 Вск 12:53:46 3071526 29
image 604Кб, 2040x1620
2040x1620
бля дайте рабочий гайд за ллдб (lldb)
все что я нашел нихуя не работает, хочу глянуть брекпоинты как рекурсия себя ведет, но пока нихуя не понимаю
Аноним 06/03/24 Срд 02:54:02 3074808 30
image 14Кб, 544x122
544x122
Ну что вы, аноны, кодите что то на сях?
Аноним 06/03/24 Срд 03:01:39 3074810 31
>>3074808
> кодите что то на сях?
Полностью переехал на плюсы. Благо они уже для кофеварок научились компилировать.
Не помню уже когда писал что-то на чистом Си.
Аноним 06/03/24 Срд 13:38:09 3075227 32
>>3074808
Я проштрудил книжку оч хорошую OOC, которая в шапке треда раньше висела. Потом ппц мотивация привалила, решил сделать свой евентлуп с асинхронными корутинами, ебался с этим парк недель, но забросил и уже полгода не притрагивался.
Аноним 10/03/24 Вск 06:27:15 3079569 33
За сколько вы K&R осилили?
Аноним 10/03/24 Вск 07:45:27 3079578 34
>>3079569
Да хз. Черт дернул пройти заного эту христоматию. Ковыряю задачки все подряд прямо с первой. Но так... не на энтузиазме, а лениво, час ютюба 2 строчки кода если грубо говорить.

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

Крч, вот так прям с наскока хуй кто осилит K&R Clang. Реально сложная книга со своими заковырками и неочевидными подводными камнями.

Я вот сидел и пытался в a.out скормить файлик чтобы проверить по заданию работу гетча, и нихуя у меня не вышло, но зато я нашел Heredoc о котором не знал, сижу вот читаю про эту волшебную штуку-дрюку.
Аноним 10/03/24 Вск 08:10:10 3079586 35
image 135Кб, 628x492
628x492
>>3079578
upd
Если у кого то то же возникает затык в первых главах как программа Кернигана считает символы из файла без фопена, то задумка у них была пикрил.
Аноним 11/03/24 Пнд 00:12:39 3081013 36
image 144Кб, 1196x1056
1196x1056
У меня вопросы по кодстайлу. Анончики скажите пожалста, вы стараетесь писать читабельно как в этом примере: в ифе стейт сравнивается со значением. Или стараетесь писать более краткие формы: иф(стейт) иф(!стейт)
Аноним 11/03/24 Пнд 00:19:38 3081016 37
>>3068965
>трансляцию
Ты почитай как жавамашина работает
Аноним 11/03/24 Пнд 00:20:33 3081018 38
>>3042192 (OP)
>У вас какие мысли?
На дворе уже давно не 2000 год, пора из бункера вылезать
Аноним 11/03/24 Пнд 00:24:49 3081022 39
>>3081016
транслирует опкод в байткод а што
Аноним 11/03/24 Пнд 07:34:14 3081107 40
image 81Кб, 2326x388
2326x388
Бля пиздец, всю башку сломал себе этими вертикальными гистаграммами. Нет, я понимаю можно просто нарисовать гистаграмму челез юникодовые управляющие последовательности или курсы подрубить... Но смысл в том чтобы решить задачку средствами которые предоставлены в книжке, а там хуй да нихуя, циклы ифы и путчары... Еще блять эта кодировка вайдчарами русского текста... Непечатные символы...
Аноним 11/03/24 Пнд 12:53:55 3081379 41
>>3081022
Вылезай из бункера, уже третий десяток пошел как jit запилили
Аноним 11/03/24 Пнд 20:52:08 3082115 42
>>3068965
>сомнительно, потеря скорости вычислений на трансляцию в джавамашине, это даже в теории не близко к числодроблению
Там есть специальные подсистемы в JIT (C1 и C2), которые по сути кэшируют трансляцию часто используемого кода. То есть ты будто в рантайме бинарник компилишь и с ним работаешь. Плюс т.к. джава может в рантайме менять код, в отличии от С++, она может оптимизировать в зависимости от того как код используется - разворачивать циклы, переставлять операции и т.д.
https://habr.com/ru/articles/305894/
Аноним 11/03/24 Пнд 22:33:13 3082317 43
>>3081379
ты контролируешь джит? нет? тогда о чем спор, бункерный?
Аноним 11/03/24 Пнд 22:36:32 3082318 44
>>3082115
хабр помойка, тем не менее, это потеря скорости
компил в рантайме/трансляция это потеря скорости исполнения кода, как вы этого понять то не можете? совсем обджавились уже
заместо пармы мувов по регистрам ты делаешь компил + пара мувов по регистрам
уже на пальцах вынужден объяснять джавистам как работает джавамашина пиздец до чего дошли
Аноним 11/03/24 Пнд 22:53:02 3082326 45
>>3082317
спора нет, жаба уже двадцать лет по производительности не хуже плюсов, и ебет в хвост и гриву всякие высокоскоростные всхрюки типа растов. и причину тебе уже озвучили - оптимизация кода в рантайме основанная на статистике исполнения кода, фича, которая в принципе недоступна компилируемым языкам.

>>3082318
>компил в рантайме/трансляция это потеря скорости исполнения кода, как вы этого понять то не можете?
книжки почитай прежде чем хуйню пороть
Аноним 11/03/24 Пнд 22:57:25 3082329 46
>>3082318
ты там на перфокартах код пишешь что у тебя программы штучными мувами по регистрам измеряются?

>заместо пармы мувов по регистрам ты делаешь компил + пара мувов по регистрам
правильно так - заместо пары миллиардов мувов по регистрам ты делаешь пару миллионов мувов, потом оптимизацию, и потом еще пару сотен миллионов мувов.
Аноним 11/03/24 Пнд 23:18:47 3082336 47
>>3082326
>по производительности не хуже плюсов, и ебет в хвост и гриву всякие высокоскоростные всхрюки типа растов
чел мы в ситреде, тут бенчи по асму меряются, а не по твоим тормозным джавам плюсам растам питонам джиэсам, проснись

>>3082329
оптимизировать и гцц умеет и будут теже мувы но зато без потери процессорного времени

джависты вам тут не рады
Аноним 11/03/24 Пнд 23:21:00 3082339 48
>>3082336
>оптимизировать и гцц умеет
в рантайме?
Аноним 11/03/24 Пнд 23:23:00 3082341 49
image 857Кб, 1562x1170
1562x1170
>>3082339
умоляю хватит тралить тупостью
>без потери процессорного времени
на компил в рантайме

так понятно стало?
Аноним 12/03/24 Втр 12:56:34 3082798 50
>>3082318
>компил в рантайме/трансляция это потеря скорости исполнения кода, как вы этого понять то не можете? совсем обджавились уже
>заместо пармы мувов по регистрам ты делаешь компил + пара мувов по регистрам
Чел ну ты ебанат? Трансляция 1 раз происходит, потом ты из кэша достаешь свои мувы по регистрам
>тем не менее, это потеря скорости
манямирок затрещал, но выстоял, упорный!
Аноним 12/03/24 Втр 12:58:38 3082802 51
>>3082336
>оптимизировать и гцц умеет и будут теже мувы но зато без потери процессорного времени
гцц не знает как ты будешь использовать программу каждый раз когда ты её запускаешь, а жит знает
>джависты вам тут не рады
не гори только от джавабогов
Аноним 12/03/24 Втр 13:02:08 3082807 52
>>3082336
>чел мы в ситреде, тут бенчи по асму меряются, а не по твоим тормозным джавам плюсам растам питонам джиэсам, проснись
Спецом для тебя я скинул пруф https://github.com/gunnarmorling/1brc , тут как раз на джаве угорают по лоу левелу и постят результаты бенчмарков
Аноним 12/03/24 Втр 13:06:25 3082817 53
>>3082341
на стартапе, да - потом нет
Аноним 12/03/24 Втр 13:08:11 3082819 54
>>3082317
А ты контролируешь свой си-компилятор-нейм? Может еще знаешь как каждый из них UB резолвит?
Аноним 12/03/24 Втр 23:46:39 3083990 55
>>3082819
я свой написал так что спок слови уб шиз
Аноним 13/03/24 Срд 00:05:38 3084007 56
>>3082807
пруф чего ты мне скинул? это чисто джава бенчи насколько я вижу тк тут написано напишите программу на джаве
пруф того что жаба умеет складывать вычитать и компейрить числа? ахуенно

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

>>3082798
а если проц без кешлиний? поешь говна лучше и не пиши сюда
Аноним 13/03/24 Срд 05:17:27 3084105 57
image 44Кб, 2290x172
2290x172
Вы тут срете бесполезной хуйней в тред, а лучше бы занялись ментальной гимнастикой. Вот вам пикрил задачка и книги K&R попробуйте решить ее. Из доступных инструментов первой главы: ветвления ифами, циклы, массивы, функции (без поинтеров, векторов, макросов и всего прочего).

Без каких либо ограничений на размер строки означает что нам недоступно хранение строки внутри char arr[size_t]. Удачи.
Аноним 13/03/24 Срд 10:46:59 3084306 58
>>3084105
просто взять указатель на строку и отправлять байты на вывод пока не встретишь нулевой байт?
Аноним 13/03/24 Срд 10:49:39 3084313 59
>>3084007
>пруф чего ты мне скинул? это чисто джава бенчи насколько я вижу тк тут написано напишите программу на джаве
>пруф того что жаба умеет складывать вычитать и компейрить числа? ахуенно
здесь сравнения с другими языками
https://github.com/gunnarmorling/1brc/discussions
Аноним 13/03/24 Срд 10:50:22 3084314 60
>>3084007
>а если проц без кешлиний?
джавамашина кэширует, не процессор
Аноним 13/03/24 Срд 11:04:57 3084333 61
>>3084306
В этой главе нет указателей.
Прикрепляйте пастебины.
Аноним 13/03/24 Срд 11:26:51 3084361 62
image 104Кб, 1846x428
1846x428
image 50Кб, 294x518
294x518
Аноним 13/03/24 Срд 11:27:45 3084362 63
>>3084314
это примерно в 6 раз медленнее чем держать мувы в линиях
Аноним 13/03/24 Срд 12:49:32 3084462 64
>>3084361
Пруфы того что ты не читаешь ридми. Там эталонный сервер на Хетцнере, иначе каждый бы мог просто на более мощной машине запустить и сказать что у него питон быстрее работает.
Аноним 13/03/24 Срд 12:51:58 3084467 65
>>3084362
а если проц без кешлиний?
Не пойму как ты через сишку кажешь процу что ему кэшировать, а что - нет, может расскажешь? Просто хочу разобраться
Аноним 13/03/24 Срд 12:55:48 3084476 66
>>3084462
ты принес какую то хуету, а я должен бегать по крупицам собирать инфу что это все значит и что ты хотел сказать своим высером?
да пошел ты нахуй анон, поебать мне на твои бенчи хуенчи сделанные ПАПРИКОЛУ, жаба медленне си, это аксиома, хочешь опровергнуть - неси бенчмарки

>>3084467
>а если проц без кешлиний?
тогда одинакого будет, холодный старт только медленее, нужно время на транслейт
> как ты через сишку кажешь процу что ему кэшировать, а что - нет
префетчинг, паттерны известны, однако это все равно неуправляемый напрямую процесс
Аноним 13/03/24 Срд 12:59:34 3084485 67
>>3084333
Тебе надо - ты и прикрепляй
Ну раз в главе нет указателей, то и в языке нет, понимаю
Аноним 13/03/24 Срд 13:01:53 3084491 68
>>3084476
>ты принес какую то хуету, а я должен бегать по крупицам собирать инфу что это все значит и что ты хотел сказать своим высером?
Ты ничего не должен, я дал тебе таблицу результатов, ты со сгровешей жопой побежал проверять на локалке, потому что не верил что джабба может быть такой быстрой. Тут уж не моя вина.
Аноним 13/03/24 Срд 13:07:05 3084501 69
>>3084485
чо ты понимаешь то? систему уравнений то же через теорию игр решать будешь?

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

пиздец двач наплодил даунов
Аноним 13/03/24 Срд 13:07:20 3084502 70
>>3084476
>неси бенчмарки
И да, эта репа фактически и есть бенчмарк, так что бенчмарки я принёс. Просто ты сравнил не Си с джавой, а джаву на локале и джаву на хетцнере.
Вот сишное решение https://github.com/gunnarmorling/1brc/discussions/46
Аноним 13/03/24 Срд 13:09:31 3084507 71
>>3084501
>на какой локалке, даун? это твои две ссылки, делать мне нехуй проверять на своей машине какой то паприколубенч
Не гори только, скуф
Что тогда за вторая картинка с замерами от тебя была? Мне мысли твои чтоли читать?
Аноним 13/03/24 Срд 13:11:20 3084508 72
>>3084502
я вообще ничо не сравнивал, тут нечего сравнивать
ты принес ссылки я их открыл нашел сишный тредик и сфоткал результы
теперь ты говоришь что я принешь жабу на локалке, а вот ты то принес сишник на хетцентре, но по твоей ссылке как раз сишник на локале
покинь тредик, ты не в адеквате, чел
Аноним 13/03/24 Срд 13:52:01 3084554 73
ладно я то же погорячился
давайте раз и навсегда определимся почему си быстрее жабы
есть только одно пруфабельное определение - си быстрее жабы потому, что на совершение действия А ему не нужно совершать дейтсвие Б. о чем ручь? о строительстве объектов и вызове череды колбеков для записывания какого нибудь несчастного стринга в память. ооп это априори медленно.

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

к слову мне кажется этот странный челлендж из ссылки - посчитать много даблов в мультипотоке, звучит как задача для гпу
Аноним 13/03/24 Срд 15:42:40 3084669 74
>>3084554
>есть только одно пруфабельное определение - си быстрее жабы потому, что на совершение действия А ему не нужно совершать дейтсвие Б. о чем ручь? о строительстве объектов и вызове череды колбеков для записывания какого нибудь несчастного стринга в память. ооп это априори медленно.
Это слишком упрощенное определение, потому что:
1) совершение меньшего количества действий не всегда даёт быстрее выполнение на современных процах.
2) Java - мультипарадигма, а не чистый ООП, писать как на С никто не запрещает, даже с ручным выделением памяти
3) Тот же пример с размоткой цикла - сишка тупая и если ей сказали крутить циклы - она будет крутить циклы и нарушать instruction pipelining, в то время как джава умная и может понять что цикл можно развернуть и ускорить таким образом код.
4) возвращаясь к "совершение действия А ему не нужно совершать дейтсвие Б" -> джава может в рантайме понять что ей не нужно что-то совершать и таким образом будет быстрее кода, который не адаптируется к рантайму.
А захламить код мусорными аллокациями можно и на С, было бы желание.

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

>к слову мне кажется этот странный челлендж из ссылки - посчитать много даблов в мультипотоке, звучит как задача для гпу
Ну так челлендж выжать максимум конкретно из джавы, а не просто считать числа где-нибудь
Аноним 13/03/24 Срд 16:43:45 3084755 75
>>3084669
>сишка тупая
кукарек, ничем не подкрепленный
>джава может в рантайме понять что ей не нужно что-то совершать и таким образом будет быстрее
время на "понять" конечно же не нужно, ведь это происходит по волшебству

>конкретно из джавы
типичная жавазадача - компайрить даблы, верим

>суррогатные гонки - это и есть суть бенчмарков, ты о чем?
то к чему они пришли, а не их суть
Аноним 14/03/24 Чтв 17:14:29 3086159 76
image 58Кб, 620x172
620x172
image 25Кб, 408x88
408x88
пизда вам цифры ебаные
Аноним 14/03/24 Чтв 18:10:17 3086197 77
>>3084755
Я тут мимо проходил, если что

Бля, даже для кубейсика был компилятор, который исполняемый файл выдавал.
Для тех же джавы и сишарпа есть АОТ, которая выдаёт машинный код. Только это нахуй не надо, потому что собираешь в машинные коды ты для конкретного набора инструкций, и на более старых процессорах это просто не запустится, а на более новых не будут использоваться новые сокращающие время исполнения инструкции.
В это же время байткод джавы, ИЛ сишарпа, да даже код джаваскрипта выполняются рантаймом, который знает, что поддерживает процессор, а что нет, и во что можно код переводить, а во что нельзя.
Аноним 15/03/24 Птн 05:03:31 3086615 78
>>3086197
>рантаймом, который знает
ему надо в што где когда
Аноним 15/03/24 Птн 06:32:39 3086630 79
>>3086615
тебе надо в клуп веселых и находчивых
Аноним 15/03/24 Птн 15:24:15 3087089 80
>>3042192 (OP)
Если я в проге использую printf с параметром %d, компилятор засовывает в прогу весь функционал функции или даже stdio.h? Как удалить ненужное?
Аноним 15/03/24 Птн 17:01:46 3087213 81
image 74Кб, 868x214
868x214
>>3087089
линкуй только функцию
так как есть скрытый флаг в компиляторе -lstd то линкер так или иначе найдет бинарное исполнение любых функций из стд либы без хидера (малоки хуялоки)
вопрос лишь в том нахуй оно тебе надо? бинарь все равно форматный, будут просто куча пустых адресов, покури ELF если ты на винде
Аноним 17/03/24 Вск 10:29:52 3089003 82
>>3084105
В чем проблема определить сначала размер большей строки, и тогда по смещению от потока вывести ее?
Аноним 17/03/24 Вск 12:26:26 3089112 83
>>3089003
В том, что ты не читал пост, на который отвечаешь.
Аноним 17/03/24 Вск 14:41:56 3089393 84
Screenshot2024-[...].png 301Кб, 1920x1080
1920x1080
Аноним 17/03/24 Вск 16:22:27 3089498 85
image 240Кб, 2044x450
2044x450
>>3089393
Чо сказать то хотел?
Аноним 17/03/24 Вск 16:48:29 3089517 86
>>3086197
>даже для кубейсика был компилятор
Что значит даже? Для бейсика есть компилятор, а для джавы и шарпа нет, потому что, в отличие от бейсика, жабошарп это скриптовое говно, а не языки программирования.
Аноним 17/03/24 Вск 16:54:26 3089524 87
>>3089498
Перевод некорректный
Аноним 17/03/24 Вск 16:59:16 3089542 88
>>3089524
Да я не настаиваю, решай задачу которая тебе удобней. В любом случае это был просто челлендж ак 100 задачек литкода или типа того, и каждый сам для себя решает принимать участие или нет. Я только прошу внимательно читать условия задачи, а то я уже заебался повторять одно и то же.
Аноним 17/03/24 Вск 17:49:32 3089618 89
>>3089542
Ты вбросил задачу, которой нет в КР. И очень даже возможно, что она не решаема
Аноним 17/03/24 Вск 18:30:52 3089767 90
image 32Кб, 914x428
914x428
>>3089618
Есть. Решаема. Тебе не надоело набивать посты этим бесполезным спором? То перевод тебе не нравится, то вообще задачи нет такой.
Аноним 18/03/24 Пнд 08:28:36 3090322 91
image 178Кб, 1300x514
1300x514
Ошибся, но где?
Есть какой нибудь гайдик что засунуть в мантиссу и сонование чтобы получить максимальное и минимальное значение флоатов по границам? Я ничего не нашел в интернетике кроме формулы.
Пойду пока цветовую схему поковыряю, а то дефолтная всратая.
Аноним 20/03/24 Срд 18:43:24 3094012 92
>>3042192 (OP)
Всем салют. Чисто из любопытства: как в чистых сях обстоит дело со строками, конкретно с кодировкой? Вот чтобы максимально переносимо было, какой тип используют люди? Utf8, или 16 или 32?
Спасибо
Аноним 20/03/24 Срд 19:18:05 3094041 93
>>3094012
я не иксперт, но вроде как в чистых сях есть какая то библа в наборе стандарта которая работает с вайдчарами и переносимо покрывает все кодировки
но я хз, не пишу переносимые. обработчики текста, так что на своей машине юзаю утф8 юникоды где латинские в один байт русские в два вот собсна и все
Аноним 20/03/24 Срд 20:18:20 3094103 94
>>3094012
>чтобы максимально переносимо было, какой тип используют
Первые 128 символов ascii
Аноним 20/03/24 Срд 20:38:23 3094136 95
>>3089517
>>даже для кубейсика был компилятор
>Что значит даже? Для бейсика есть компилятор, а для джавы и шарпа нет, потому что, в отличие от бейсика, жабошарп это скриптовое говно, а не языки программирования.
Это ложь.
https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/?tabs=net8plus%2Cwindows
Для джавы тоже есть.

Повторяю, в подавляющем большинстве случаев JIT лучше, чем нативная компиляция, потому что JIT может транслировать твою программу в команды текущего процессора, используя всю его мощь, а говноязык без JIT может только нацелиться на какой-то конкретный процессор, причём на более старых моделях программа просто не будет работать, а на более новых она будет выполняться неоптимально.
Аноним 20/03/24 Срд 20:42:41 3094140 96
>>3094136
да успокойся ты, джитошиз, покури флаги компилов и статистику по используемым инструкциям процессоров
а еще раз тебе не лень срать ссылкми принеси джит компиляцию которая юзает все 2к+ инструкций современно проца
Аноним 20/03/24 Срд 23:23:15 3094343 97
я прпльно понимаю что для иучения с в visual studio мне нужно иметь примерно 50 гб свод места? пиздец много весят "файлы" для него. охуеть.
жаль а) я нищий б) у ноута всего один слот ссд.
придется отлодить учебу (
так бы купил 8тб ссд м.2
Аноним 21/03/24 Чтв 00:09:49 3094382 98
>>3094140
>покури флаги компилов и статистику по используемым инструкциям процессоров
а можно просто использовать жабку и в ус не дуть
Аноним 21/03/24 Чтв 00:12:30 3094384 99
Аноним 21/03/24 Чтв 08:52:06 3094528 100
>>3094382
а можно просто писать на сишечке и в ус не дуть
Аноним 22/03/24 Птн 13:59:45 3095859 101
>>3086630
c если нужен минимализмc++ если проц без хидера (малоки хуялоки)вопрос лишь в отличии от бейсика, жабошарп это скриптовое говно, а лениво, час ютюба 2 строчки кода в рантайме понять то дефолтная всратая.
Аноним 22/03/24 Птн 19:58:10 3096372 102
>>3095859
ты лиспом объебался чи шо? переведи на человеческий
Аноним 24/03/24 Вск 12:37:22 3097769 103
image 141Кб, 1816x388
1816x388
image 178Кб, 2158x372
2158x372
схера ли варнинг?
сначала мы определяем что это присваивание и что инкремент постфиксный (после присваивания)
потом начинаем вычислять правую часть присваивания
где сначала вычисляется условие тернарника, а затем вычисляется одна из его веток
потом происходит само присваивание
и вот только теперь постфиксный инкремент

докажите что компилер не даун?
Аноним 24/03/24 Вск 14:37:08 3097828 104
>>3097769
Ну да, на пустом месте ругается. Но может быть у него крыша едет из за тернарной операции?
Аноним 24/03/24 Вск 15:06:36 3097841 105
>>3097769
Это UB. Поведение зависит от того, будет ли сначала выполнено выражение слева от знака равенства, или справа. Так что ругается он по делу. Не делай так, короче.
Аноним 24/03/24 Вск 15:10:30 3097849 106
>>3097841
приветствую уб шиза в этом итт треде
поясни за выполнение выражения слева от знака равенства или справа
как вычисление этих частей соотносится с приоритетом вычисления постфиксного инкремента слева от знака присваивания?
Аноним 24/03/24 Вск 15:32:25 3097895 107
>>3097769
https://en.cppreference.com/w/c/language/eval_order
> и вот только теперь постфиксный инкремент
Найди ордеринг рул который говорит что сайд-эффект постфиксного инкремента вычисляется после assignment оператора.
Я сходу такой не нашёл, есть что-то похожее в последних стандартах плюсов.
Аноним 24/03/24 Вск 15:39:48 3097912 108
image 295Кб, 2370x1464
2370x1464
image 163Кб, 2350x1346
2350x1346
image 158Кб, 2362x806
2362x806
>>3097895
ну вот например тебе твой ордеринг рул который говорит что сайд эффект постфиксного инкремента вычисляется после эсс игнмент оператора
как видно из таблички приоритетов = и += обладают одним уровнем приоритета выполнения и вычисляются справа налево

и пик 3 небольшая справочка для тебя лично, любителя носится со стандартом как со святой грамотой

лучше бы ты K&R читал а не хуйней маялся
Аноним 24/03/24 Вск 16:43:20 3098043 109
>>3097849
> скрины из K&R
Ну хуй знает.
> и вычисляются справа налево
Я аж сначала охуел от такого пиздабольства, потом открыл и понял что "справа-налево" это сука про ассоциативность оператора. И в этой же сука главе тебе говорят что порядок вычисления операндов не специфицируется для большинства операторов, и приводят твой же UB как пример UB: a[ i ] = i++, долбоёба ты кусок.
> любителя носится со стандартом как со святой грамотой
Если в стандарте нет явно-указанного ордеринга вычисления, они спокойно могут быть как угодно упорядочены компилятором, и разрабам компилятора похуй что ты там думал, щенок ебаный.
Аноним 24/03/24 Вск 16:51:08 3098074 110
>>3098043
ладно хуесос этот раунд ты выйграл уб так уб
Аноним 24/03/24 Вск 16:59:50 3098100 111
image 40Кб, 440x184
440x184
image 133Кб, 1768x340
1768x340
зафиксировали проснулись подтянулись
Аноним 24/03/24 Вск 17:07:04 3098113 112
>>3098100
Лучше на for поменяй, понятнее будет.
Аноним 24/03/24 Вск 17:16:05 3098121 113
image 127Кб, 1686x336
1686x336
Аноним 25/03/24 Пнд 00:03:30 3098564 114
Так все таки, что лучше (с фактами) jit или компиляция в машиный код?

И есть ли реальная компиляция джава/шарпа говна в машинный код.
Аноним 25/03/24 Пнд 00:06:51 3098566 115
>>3098564
критерии лучшести огласите
ты же понимаешь что проц умеет только машкод выполнять?
Аноним 25/03/24 Пнд 00:31:21 3098585 116
>>3098564
Лучше конечно компиляция в машинный код с глубокой оптимизацией. В идеале под конкретную модель процессора, с учётом его микроархитектуры.

Касательно c# - претензий к скорости программ не имею, но вот этот jit во время работы большого проекта (300 тыс. строк, не считая библиотек) очень неприятно и мерзко лагает. Слава богам что не часто. Но при старте программы есть несколько мест где реакция гуя достигает несколько секуд (!!!).
К этому быстро привыкаешь, потому что дальше всё работает весьма сносно. Но когда запустил аналогичную программу, написанную на компилируемом языке, было очень приятно работать из за неестественно отзывчивого интерфейса с нулевой латентностью.

Короче, однозначного ответа на твой вопрос нет.
Аноним 25/03/24 Пнд 00:48:08 3098603 117
>>3098564
PGO на твоей пеке под твои юзкейзы со всеми --march=native, графитами, lto и прочим, чем гентушизы упарываются
Аноним 25/03/24 Пнд 11:11:26 3098923 118
>>3098566
В плане скорости, эффективного использования ресурсов
Аноним 25/03/24 Пнд 12:24:48 3099029 119
>>3098923
в этом плане компил в нативный машкод конечно же
за это заплатишь скоростью разработки
Аноним 25/03/24 Пнд 23:36:49 3099655 120
>>3098564
>И есть ли реальная компиляция джава/шарпа говна в машинный код.
Конечно есть, иначе бы программы не выполнялись.
>Так все таки, что лучше (с фактами) jit или компиляция в машиный код?
В большинстве случаев JIT лучше - это факт
У джавы и шарпа есть возможность компилить сразу в машинный код, без JIT, как на C. Судя по бенчам выигрышь получается в потреблении памяти, но не в производительности (после разогрева конечно).
Иметь рантайм оптимизации лучше чем не иметь - это тоже факт

Вот пожалуйста
Аноним 26/03/24 Втр 02:56:52 3099710 121
>>3099655
Был бы я не ленив, посоревновался бы с тобой, чья программа быстрее - твоя с git, или моя в нативном коде.

Например, N-ферзей
Аноним 26/03/24 Втр 04:01:11 3099718 122
>>3099710
Это будет не соревнование языков, а соревнование кто ебанутей оптимизации напишет.
Я, при этом, абсолютно уверен, что программа на си будет быстрее программы на сишарпе/джаве хотя бы за счёт оверхеда из-за абстракций и управляемой памяти.
Одновременно я абсолютно уверен, что в большинстве случаев си не нужен, потому что код на си будет писаться раз в пять медленнее и содержать в пять раз больше богов. И выбор в итоге будет не между быстрой программой на си и медленной на джарпе, а между работающей программой на джарпе и недописанной на си.
мимо
Аноним 26/03/24 Втр 08:55:43 3099791 123
Аноним 26/03/24 Втр 09:22:29 3099813 124
>>3099718
>программа на си будет быстрее программы на сишарпе/джаве
Если не будет сборки мусора, будут работать с одинаковой скоростью. Шарп и джава очень хорошо могут в оптимизацию.
Аноним 26/03/24 Втр 09:52:56 3099828 125
image 640Кб, 700x922
700x922
>>3099813
>Если не будет сборки мусора
то это будут не жабошарпы
Аноним 26/03/24 Втр 14:05:12 3100307 126
Продублирую сюда, не совсем про язык, но либа же тоже часть языка:

Согласно POSIX:
https://pubs.opengroup.org/onlinepubs/9699919799.2018edition/

В math.h обработка ошибок зависит от значния math_errhandling. Если math_errhandling & MATH_ERRNO != 0, то в errno выставляется значение ошибки, если math_errhandling & MATH_ERREXCEPT != 0, то выкидывается соответствующий excpetion.

Тогда почему у меня при math_errhandling = MATH_ERNNO | MATH ERREXCEPT при вызове acos(2) не происходит исключения? glibc вроде как выполняет стандарт POSIX 2008, я проверил там точно также

Я ожидаю что мне придет SIGFPE, но де факто лишь errno выставляется
Аноним 26/03/24 Втр 14:32:47 3100367 127
>>3100307
>math_errhandling = MATH_ERNNO | MATH ERREXCEPT
>math_errhandling & MATH_ERRNO != 0
>math_errhandling & MATH_ERREXCEPT != 0
я не наблюдаю эквала между a = b|c и a&c !=0 а ты наблюдаешь?
Аноним 26/03/24 Втр 15:13:26 3100450 128
>>3100367
При условии того, что и ERRNO и ERREXCEPT 1 и 2 по POSIX соответсвенно.

Тогда a = b|c && b != 0 && c != 0 => a & c != 0 && a & b != 0
Аноним 26/03/24 Втр 15:20:31 3100454 129
>>3100450
хмм ну вроде все верно. для чисел 1 и 2
а не пробовал вызвать троу макрос из глибси принудительно?
Аноним 26/03/24 Втр 15:34:35 3100464 130
>>3100454
Не понял, про какой именно макрос ты говоришь?

Вообще я ожидал что будет что-то типа raise из csignal

Может я просто не правильно понимаю что имеется ввиду под invalid floating-point exception shall be raised, но нигде инфы не могу найти
Аноним 26/03/24 Втр 15:37:46 3100466 131
image 239Кб, 2300x942
2300x942
>>3100464
не похоже на сигналы
Аноним 26/03/24 Втр 15:48:27 3100474 132
>>3100466
Дык этож даже не glibc, а отедльная либа

Ну и не вышло к слову...
Аноним 26/03/24 Втр 15:58:17 3100483 133
>>3100307
Отдельно попробовал с мюслями - тоже самое

А потом полез их сурсы:
/ if |x|>1, return NaN with invalid signal./

Реализация:
/ |x| >= 1 or nan /
if (ix >= 0x3ff00000) {
uint32_t lx;

GET_LOW_WORD(lx,x);
if ((ix-0x3ff00000 | lx) == 0) {
/ acos(1)=0, acos(-1)=pi /
if (hx >> 31)
return 2*pio2_hi + 0x1p-120f;
return 0;
}
return 0/(x-x);
}

ЗБс соотвествие стандарту
Аноним 26/03/24 Втр 16:39:49 3100534 134
>>3100483
не хочу вдаваться в подробности, но
>ЗБс соотвествие стандарту
арифметика не может быть стандартизирована так как она за исключением ансигнедов абсолютно машинозависима
ты стандартошиз что ли?
Аноним 26/03/24 Втр 18:46:08 3100708 135
>>3100534
Нет, просто делаю диплом по модельному тестированию на соответствие POSIX, и тут вот это начало стрелять

А на чем мне теперь проверяться то, раз тесты справедливо фейлятся?
Аноним 26/03/24 Втр 21:38:14 3101014 136
>>3100708
хммм я наверное глупость сейчас скажу, но последнее время чот на меня напал интересный язык лисп, кажется он идельно подходит для быстрого прототипирования (макеты программ) ну и соответственно тестирования всякой фигни то же, но лисп СТРАННЫЙ, условно сумма всех чисел в обычном языке это забить массив, пройтись фором все сложить, в лиспе это (PLUS числа через пробел) вот и все
манит меня попробовать эту штуку
Аноним 27/03/24 Срд 02:12:17 3101271 137
Аноним 27/03/24 Срд 02:15:56 3101272 138
>>3099828
да нет, достаточно просто не сорить и всё
Аноним 27/03/24 Срд 02:17:51 3101273 139
>>3099718
>программа на си будет быстрее программы на сишарпе/джаве хотя бы за счёт оверхеда из-за абстракций и управляемой памяти
ты можешь писать на джаве (и наверное на шарпе?) без абстракций и без управляемой памяти
Аноним 27/03/24 Срд 02:49:37 3101285 140
>>3101273
А можно из буханки хлеба сделать трамвай, и линукс на домашний комп поставить.
Вся суть джарпа в менеджд коде и ООП. Глупо отказываться от таких удобных вещей в угоду небольшого буста производительности.
Аноним 27/03/24 Срд 10:00:56 3101462 141
>>3101271
ой посоревновались >>3084361 выбираем си

>>3101272
ды да, достаточно просто выбрать нужный инструмент
Аноним 27/03/24 Срд 16:30:51 3102112 142
>>3101462
>ой посоревновались
И что ты из этих картинок понял?
Аноним 27/03/24 Срд 16:43:11 3102125 143
>>3101285
Конечно глупо, но это ведь абстрактное соревнование в скорости. Плюс к тому Ява позволяет выборочно писать высокопроизводительный код только там где это необходимо и писать как удобно там где нет смысла гнаться за скоростью.
Аноним 27/03/24 Срд 16:52:05 3102138 144
я решительно не понимаю почему в жопу ужаленный джавист продолжает серить в треде лучшего языка программирования
ему нравится как его обоссывают?
Аноним 27/03/24 Срд 21:13:34 3102480 145
image 182Кб, 1164x414
1164x414
image 108Кб, 1770x200
1770x200
изящно? или говно?
Аноним 27/03/24 Срд 21:39:38 3102511 146
>>3102480
Говно. Но хороший компилятор способен оптимизировать это.
Аноним 27/03/24 Срд 21:59:21 3102533 147
>>3102511
а что ты тут собрался оптимизировать?
Аноним 27/03/24 Срд 22:14:44 3102556 148
>>3102480
Если гцц/мингв, то изящнее range switch.
case 'A' ... 'Z': и тп.
А тут у тебя восемь лишних проверок а худшем случае.
Аноним 27/03/24 Срд 22:24:55 3102571 149
>>3102556
ну это не особо влияет задачка не под бенчмарки и эта функция вызывается 5 раз, все основные мощности в другом куске
ренджовый свич еще не был рассмотрен в этой главе так что его тут быть не могло
Аноним 27/03/24 Срд 22:37:32 3102591 150
>>3102533
>а что ты тут собрался оптимизировать?
Во первых - ничего. Зачем мне оптимизировать твой код, пущай этим занимаешься ты и/или компилятор.

Во вторых, isdigit() и isalpha() для простоты.

В третьих, неоптимизирующий компилятор сгенерил бы такой говнокод, что ты бы охуел - s[p-1] на х86 выродился бы в нечто такое mov %al, (%esi,%eax, -1) и постоянно обращался бы к памяти.

Оптимизирующий компилятор выполнит обращение к памяти один раз, загонит значение из памяти в регистр и дальше будет сравнивать с регистром.
Аноним 27/03/24 Срд 22:56:47 3102623 151
image 534Кб, 846x1454
846x1454
>>3102591
>Во вторых, isdigit() и isalpha() для простоты.
на пике просто наружка твоих издигитов изальф
это уже кому какие сексуальные предпочтения по душе, кто то любит блекбоксить кто то нет

>В третьих, неоптимизирующий компилятор сгенерил бы такой говнокод, что ты бы охуел - s[p-1] на х86 выродился бы в нечто такое mov %al, (%esi,%eax, -1) и постоянно обращался бы к памяти.
чот я тут такого не увидел
Аноним 27/03/24 Срд 23:18:32 3102643 152
image.png 45Кб, 432x123
432x123
>>3102623
>чот я тут такого не увидел

Смотри внимательнее.

Как же ARM посасывает у x86 на этом примере. Загляденье.
Аноним 27/03/24 Срд 23:21:08 3102647 153
>>3102643
у тебя процентики а тут их нет
а еще я тут могу только sp регистр опознать остальное не знаю
>Как же ARM посасывает у x86 на этом примере. Загляденье.
ну и в чем же?
Аноним 27/03/24 Срд 23:28:30 3102655 154
>>3102647
>ну и в чем же?
4 инструкции вместо одной.
Аноним 27/03/24 Срд 23:30:14 3102660 155
>>3102655
покажи как ты делаешь одну инструкцию
Аноним 27/03/24 Срд 23:39:08 3102666 156
image.png 182Кб, 1166x743
1166x743
Аноним 27/03/24 Срд 23:48:26 3102678 157
image 69Кб, 1162x262
1162x262
>>3102666
а такие мувы не считаются ансейфед или типа того?

видимо никто не собирается слушать байки о том как х86 ебет арм жопой
Аноним 27/03/24 Срд 23:52:22 3102680 158
>>3102678
>а такие мувы не считаются ансейфед или типа того?
Так за этим ядро следит. Если к незамапленой странице полезет, то сгенерится прерывание, OC его перехватит и посмотрит что произошло - полезла программа в чужую память или страницы в свопе.

Если в свопе, то подгрузит страницу и свопа и перезапустит операцию, а если память чужая, то Core Dump и программа вылетела в ОС с ошибкой.
Аноним 28/03/24 Чтв 00:00:56 3102687 159
>>3102680
бля чел
твой мув это ldrsb
ты как без вычисленных оффсетов по стеку решил грузануть мувом байты? получается ты меня наебываешь вот тут - >>3102655
точно так же будешь делать свои 4 инструкции
Аноним 28/03/24 Чтв 00:05:33 3102693 160
>>3102687
>ты как без вычисленных оффсетов по стеку решил грузануть мувом байты?
Хмм. Ну да, я форшманулся. Две инструкции на ARM, одна инструкция на X86.
Аноним 28/03/24 Чтв 00:17:13 3102702 161
>>3102693
насколько я знаю разница архитектур в том что на арме интрукции одинаковой длинны по машкодам а в х86 разной
думаю листинг асма не такой уж и показатель
не получится так что твой волшебный мув по машкодам и декодингу длиннее в тактах чем мой крестьянский мув в две инструкции? вот щепетильный вопрос
вообще я хуй знает какой то оффтредовый холивар надо в асмотред идти там срать этим
Аноним 28/03/24 Чтв 03:04:04 3102760 162
>>3102702
>думаю листинг асма не такой уж и показатель
я придерживаюсь другого мнения.

Не сказать вот чтобы x86 настолько хороша, но плотность кода у неё повыше будет, чем у ARM.

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

> Вообще я хуй знает какой то оффтредовый холивар надо в асмотред идти там срать этим

Асмотред помер. RIP. А ОП опрометчиво упомянул ассемблер в названии темы, решив нагнать сюда анонов. У него почти получилось, хоть коряво и неумело.
Аноним 28/03/24 Чтв 15:35:43 3103653 163
>>3100307
Итак, нашел причину тряски
Оказывается Posix ТАК ХОРОШО написан, что под raise invalid pointer exception он имеет ввиду лишь установку флага в структуре из <fenv.h>
Аноним 30/03/24 Суб 00:19:53 3106074 164
А кто-нибудь шарит за асинхронный ввод-вывод в Linux? А то нужно скопировать файл с помощью aio_read и aio_write, а на выходе какая-то херня...
Код:
https://pastebin.com/EaiXPnUz
ЧЯДНТ?
Аноним 30/03/24 Суб 18:31:35 3106814 165
>>3106074
Ну у тебя т.к. n == 1 чисто aio_read пройдёт и программа выходит, не? Мб просто не успевает aio нихуя сделать, программа выходит
Аноним 30/03/24 Суб 18:54:08 3106846 166
>>3106814
>Ну у тебя т.к. n == 1 чисто aio_read пройдёт и программа выходит, не?
У меня же getchar в конце. Пока не нажму enter - программа не выйдет.
Аноним 04/04/24 Чтв 12:36:51 3111587 167
image.png 50Кб, 943x327
943x327
image.png 36Кб, 750x512
750x512
Аноны, чёт ничего не понимаю!
Вроде у меня везде unsigned long long, а результат всё равно - превышение предельного значения (пик 1).
Щито делать? В чём причина?
Аноним 04/04/24 Чтв 14:52:46 3111716 168
image.png 45Кб, 853x414
853x414
image.png 90Кб, 2451x820
2451x820
>>3111587
Аноны, я чутка улучшил ф-цию, но всё равное какая-то залупа происходит: величина переменной num правильная, а когда сохраняю её в массив, то он мне выдаёт превышение допустимого значения!!! Как это побороть?
Аноним 04/04/24 Чтв 16:48:06 3111822 169
>>3111716
Может это залупа, отображающая числа в режиме отладки не понимает unsigned, и рисует так как будто число signed?

У тебя там по идее должно быть 1600...00000, а вышло -8....1616

Максимальное 64-битное беззнаковое целое оканчивается на 18...1615
Аноним 04/04/24 Чтв 17:09:51 3111842 170
>>3111822
Да, анон, это, короче, мой косяк я в деббагере не увидел, что можно также unsigned выбрать.
И вообще я победил эту проблему - у меня спецификатор в sprintf был неверно указан.
Аноним 04/04/24 Чтв 21:31:31 3112085 171
image 142Кб, 2880x202
2880x202
не могу заставить себя продолжить делать K&R, уже вторую или третью неделю прокрастинирую... как найти мотивейшон, анонцы?
ладно бы какая то задача попалась сложная и поставила бы в тупик, я бы себя понял, но я даже не вникал, чисто глазами пробежался что там надо atoi() переписать и все, тупо не могу даже файлик точнуть...
Аноним 04/04/24 Чтв 22:15:46 3112121 172
>>3112085
>и поставила бы в тупик
Пиши на чистом Си, без использования ф-ций из стандартной библы, но только, если ввод/вывод, и то, можешь сам сделать эти ф-ции, используя низкоуровневые вызовы.
Аноним 04/04/24 Чтв 23:53:46 3112244 173
>>3112121
да я так и делаю
хули толку, мотивации нет говорю же
Аноним 05/04/24 Птн 00:14:30 3112258 174
>>3112244
А как ты их решаешь?
Компилируешь хоть?
Аноним 05/04/24 Птн 00:28:17 3112262 175
image 344Кб, 2878x806
2878x806
>>3112258
канешн, пишу велосипедики, конпелирую, отлаживаю, стараюсь делать для общих случаев, но юникод с разной длинной символов уже заебал костылить его так что последние только на энглюсике работают
ну листинг с пика мало чо показывает, бинари на гит не заливаются, а дебаг выхлопы и кордампы я деличу прост (хотя там то же гитигнор на наих настроен, но прост привычка подчищать всякое говное ненужное)
Аноним 05/04/24 Птн 01:06:57 3112274 176
>>3112262
>пишу велосипедики, конпелирую, отлаживаю, стараюсь делать для общих случаев

Логично. Правильно. Верно.

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

Не, в юникод тебе рано лезть. Правильно что пишешь на английском. Юникод это своя вселенная.
Аноним 05/04/24 Птн 09:19:06 3112475 177
>>3112244
>хули толку, мотивации нет говорю же
Ну тут хуууй знает, чем тебе помочь. Отдохни, отвлекись, или, если нет мотивации, то и живи дальше в говне (в скрипто-макакном высоко-уровневом мире)!!!
Аноним 06/04/24 Суб 23:46:13 3114631 178
шо такое сокет .
Аноним 06/04/24 Суб 23:54:56 3114643 179
16196567560590.png 805Кб, 1240x1080
1240x1080
>>3114631

это файл но не файл. в него пишется информация для передачи, а читается для получения
Аноним 08/04/24 Пнд 10:02:13 3116165 180
Пытался понять ошибку
Затем файл просто исчез непонятно почему и я ебанулся
:~/so$ vim lol.c
user@user-A320M-S2H:~/so$ gcc lol.c
lol.c: In function ‘main’:
lol.c:20:40: warning: passing argument 2 of ‘connect’ from incompatible pointer type [-Wincompatible-pointer-types]
20 | int result = connect(socketFD, &address, sizeof address);
| ^~~~~~~~
| |
| struct sockaddr_in
In file included from /usr/include/netinet/in.h:23,
from lol.c:2:
/usr/include/x86_64-linux-gnu/sys/socket.h:126:52: note: expected ‘const struct sockaddr
’ but argument is of type ‘struct sockaddr_in *’
126 | extern int connect (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len);
| ^
user@user-A320M-S2H:~/so$ gcc -o lol.c c
/usr/bin/ld: cannot find c: No such file or directory
collect2: error: ld returned 1 exit status


Хуй мне кто поможет, но я ахуел, что файл просто так исчез и все что я писал
Аноним 08/04/24 Пнд 11:26:07 3116224 181
>>3116165
Ето не так. Современный гцц не съест твой файл.
Аноним 08/04/24 Пнд 12:27:25 3116259 182
>>3116165
>gcc -o lol.c c
>/usr/bin/ld: cannot find c
Ну ты почитай хоть что пишет. Не может найти файл "с".
Аноним 08/04/24 Пнд 14:02:46 3116340 183
>>3116165
>incompatible pointer type
>‘const struct sockaddr ’ but argument is of type ‘struct sockaddr_in *’
>No such file or directory
помог тебе понять

>файл просто так исчез
ну мб у тебя остался вимдамп, а может и не остался нехуй вирусы всякие писать
Аноним 08/04/24 Пнд 14:08:57 3116343 184
>>3116340
Во втором случае у него какая-то хуйня в командной строке. Ругается на неё.
Аноним 08/04/24 Пнд 14:11:31 3116344 185
>>3116343
выглядит так будто ругается на параметр с в строке
>gcc -o lol.c c
но на первый взгляд все правильно, хоть и корявенько
>gcc lol.c -o c
Аноним 08/04/24 Пнд 15:02:06 3116373 186
>>3116344
>>gcc -o lol.c c

Молись, чтобы в той директории у тебя не было файла с
Иначе твой исходник отправится в страну, откуда файлы не возвращаются. Ибо ключ -о требует аргумент (параметр).
Аноним 08/04/24 Пнд 15:11:19 3116382 187
>>3116373
>>3116344
Так-то надо мейкфайл написать.
Можно сделать это один раз, написать "дженерик" мейкфайл, который потом всегда реиспользовать для мелких проектиков типа лаб.

CC=gcc
TARGET=c
SOURCE=main.c huy.c pizda.c nebo.c allah.c

all:
$(CC) $(SOURCE) -o $(TARGET)

ну и конечно по желанию клин и ран. Всё, универсальная сборка для подобных проектов готова.
Аноним 08/04/24 Пнд 20:08:19 3116552 188
>>3116382
соглашусь с этим аноном
минималистичный тулчейн для поделок (текстовик + сборщик + линтер + тесты) это уже не только уровень, но и удобство
мейк такой же простой как и вим, чуть подрочить его и впринципе уже будет готов мейкфайлик со всеми таргетами ветвелниями параллельной сборкой флажками на тестолинтерах и прочими наваротами
потом уже можно поковырять какие нибудь грейдлы мавены если нужда есть для галеры

по изоляции приложунек я хуй знает, я ничо не юзаю никаких докеров кубернейтсов, пока что не было нужды
Аноним 12/04/24 Птн 15:16:43 3120324 189
Почему за столько лет не разработали удобную инфраструктуру под си? Чтобы удобно было собирать проект одной командой, подтягивать библиотеки из репозитория? Такое ощущение, что всё застряло на уровне 80-90-х и не развивается.
Аноним 12/04/24 Птн 21:47:36 3120623 190
Аноним 12/04/24 Птн 22:02:05 3120633 191
>>3120324
> Почему за столько лет не разработали удобную инфраструктуру под си?
Да а нахуй он нужен? Си никому не интересен кроме парочки нердов. Кроме программирования каких-нибудь PIC16 как альтернатива ассемблеру. Нерды умеют и любят пердолить конфиги. А обычным нормальным людям си нахуй не обосрался. Поэтому и удобную инфраструктуру никто не делает.
Аноним 12/04/24 Птн 22:58:07 3120658 192
Аноним 12/04/24 Птн 23:43:51 3120680 193
Аноним 12/04/24 Птн 23:59:12 3120691 194
>>3120324
>удобную инфраструктуру под си
Зиг
Аноним 13/04/24 Суб 02:16:33 3120718 195
>>3120623
Да ему всё будет неудобно.
А make - хорош.
Аноним 13/04/24 Суб 05:52:21 3120736 196
>>3120623
>>3120718
Он очевидно имеет ввиду аналог npm, pip и прочей такой хуйни, которая сама подтягивает зависимости.
Аноним 13/04/24 Суб 14:54:41 3120984 197
>>3120736
пусть себе напишет такую хуйню
pip то же на сях написан полагаю
все написано на сях
одни только питухонисты о нердах каких то говорят
Аноним 13/04/24 Суб 19:23:33 3121286 198
show(1).png 1Кб, 256x50
256x50
>>3120984

кроме го

го написан на
Аноним 15/04/24 Пнд 21:02:26 3124045 199
>>3120324
> Такое ощущение, что всё застряло на уровне 80-90-х и не развивается.
Этот о чем-то догадывается.
Аноним 15/04/24 Пнд 21:34:32 3124080 200
>>3120324
Meson уже есть, то что вы на него не перешли - ваша проблема.
Аноним 17/04/24 Срд 16:02:30 3126404 201
>>3120736
Можно деб пакеты ставить, но вообще пакеты - это зло ёбаное.
Аноним 18/04/24 Чтв 14:52:17 3127516 202
>>3079569
Когда понадобилось написать парсер, прочёл за выходные.
Аноним 18/04/24 Чтв 15:04:37 3127534 203
>>3120324
vcpkg работает и под линупсом
Аноним 18/04/24 Чтв 18:49:33 3127830 204
>>3114643
А куда тогда данные записываются/считываются при сокетном соединении?
Аноним 18/04/24 Чтв 19:10:26 3127854 205
>>3127830
В буфер в сетевой подсистеме.
Аноним 19/04/24 Птн 07:07:57 3128130 206
>>3127516
ну если прочесть = осилить
Аноним 19/04/24 Птн 14:55:52 3128661 207
Аноним 19/04/24 Птн 15:57:53 3128722 208
>>3114631
Шо такое сокет - это файлы,
Файлы, куда байты шлют сетями,
В дейтаграммах видео приходит без задержки,
Для надежной передачи сделан TCP.

Сокет - база для UNIX систем,
Для работы с сетью сокет нужен всем.
Там, где REST сервис шлет JSON,
Сокетом получается он.
Аноним 20/04/24 Суб 05:54:04 3129305 209
Как в C/C++ можно вычислять и выводить рисунки на экран без всяких opengl(через системные вызовы)?
Аноним 20/04/24 Суб 06:10:26 3129309 210
>>3129305
псевдографика/другие эйпиаи (например вулкан)
Аноним 20/04/24 Суб 08:26:40 3129343 211
>>3129305
Никак. В современных многозадачных ОС с экраном работать невозможно, это прерогатива ОС которая пользовательским приложениям такого делать не позволяет, иначе одно приложение поломает другие. Если же пишешь под DOS, там просто пишешь в видеопамять и готово, так же в DOS можно пользоваться функциями BIOS, но они тормозные.
Аноним 20/04/24 Суб 08:40:39 3129349 212
>>3129343
>это прерогатива ОС которая пользовательским приложениям такого делать не позволяет
А как тогда opengl работает?
Аноним 20/04/24 Суб 14:24:06 3129634 213
>>3129349
тыр тыр тыр тыр тыр
Аноним 20/04/24 Суб 15:43:06 3129704 214
>>3129634
Безусловно, ты, конечно, весёлый парень, но всё же - как opengl работает, если не через системные вызовы?
Аноним 20/04/24 Суб 17:34:26 3129787 215
>>3129704
Ты и сам знаешь, даже текст обрезал чтобы было удобнее жопой вилять.
Аноним 20/04/24 Суб 20:09:42 3129920 216
>>3129305
> без всяких opengl
Нет смысла игнорировать то что тебе даёт драйвер gpu.
Аноним 20/04/24 Суб 20:30:33 3129939 217
>>3129787
>даже текст обрезал чтобы
Т.е. ты знаешь как оно работает, но не хочешь говорить! Ну и как же оно работает, если не через системные вызовы?

P.S. я не знаю как это работает, от того и задаю этот вопрос.
Аноним 20/04/24 Суб 21:31:35 3129990 218
>>3129939
Библиотеки графики через системный вызов ioctl общаются с драйвером gpu.
Аноним 20/04/24 Суб 22:39:48 3130034 219
Аноним 21/04/24 Вск 05:41:43 3130199 220
>>3120324
>Почему за столько лет не разработали удобную инфраструктуру под си?
Разработали, и имя ей - UNIX. Командная строка рулит.

>Чтобы удобно было собирать проект одной командой
make и CMake в той же командной строке

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

>Такое ощущение, что всё застряло на уровне 80-90-х и не развивается.
Дух старой школы, хакерской романтики и цифрового анархизма жив только в Си. Дедушка Столлман наш учитель и вождь, а порриджам-смузизлебам из пейсбука и реддита здесь не рады.
Аноним 21/04/24 Вск 05:55:23 3130201 221
>>3129305
На низком уровне по-разному, зависит от архитектуры ОС. Например, в Linux можно записывать в файлы /deb/fb (фреймбуфер экрана) и /dev/dri (интерфейс DRI/DRM). Вот пример вывода 2D графики без библиотек, путем записи во фреймбуфер:

https://github.com/BartekLew/fblib/blob/fb-example/fbgrad.c

Библиотеки SDL, OpenGL, Vulkan и др. являются надстройками над ОС и позволяют делать это кроссплатформенно, не вникая в детали, не нужные прикладному программисту.

>>3129349
Реализация OpenGL и Vulkan предоставляется драйвером видеокарты и работает на уровне ядра. А пользовательское приложение уже вызывает OpenGL функции.
Аноним 23/04/24 Втр 11:47:34 3132647 222
Подскажите литературу по Vala
Аноним 23/04/24 Втр 12:29:26 3132699 223
>>3094012
Wchar_t не везде есть и не везде работает. Поэтому только char и utf8.
Аноним 23/04/24 Втр 13:10:06 3132785 224
>>3132699
>только char
ну не будь таким строгим, не обязательно только чары, можно и инты, а в случаях ловли ЕОФа исключительно инт
да и вообще инты как то предпочтительнее, так как у большинства машин шина четырехбайтная - меньше жонглирования = быстрее рантайм
Аноним 23/04/24 Втр 14:07:02 3132836 225
Как создать массивы гарантированной размерности элементов в 1, 2, 4 или 8 байт?
Аноним 23/04/24 Втр 14:16:22 3132845 226
Аноним 23/04/24 Втр 14:18:29 3132847 227
>>3132836
>>3132845
или ты имеешь ввиду что это длина элемента в массиве что ли?
типдеф тогда слепи себе из структуры в котором массив чаров лежит нужной длины
Аноним 23/04/24 Втр 14:37:00 3132863 228
>>3132845
А если 2 байта надо?

>>3132847
В других языках типы данных делают точной длины, поэтому можно делать массивы нужного размера, а си расплывчато. Тип может 1 байт, а может 2, иногда 4, хуй знает вообщем. Кто вообще это придумал? Неужели нельзя было сделать чёткие типы в 1, 2, 4 или 8 байт?
Аноним 23/04/24 Втр 15:12:10 3132899 229
>>3132863
Нельзя, потому что наличие таких типов зависит от системы, на которой исполняется код. А вообще смотри типы в stdint.h, если не пишешь код под что-то экзотическое.
Аноним 23/04/24 Втр 15:13:10 3132901 230
>>3132863
>Кто вообще это придумал? Неужели нельзя было сделать чёткие типы в 1, 2, 4 или 8 байт?
Нельзя, это зависит от железа. Я например имел дело с железкой с минимальной адресацией 16 бит, соответственно и char был 16 бит. Остальные языки или работают на виртуальных машинах, или это раст, работающий в тепличных условиях (не на любом говне).
Аноним 23/04/24 Втр 15:15:48 3132905 231
>>3132901
В Vala как-то сделали типы с гарантированным размером (int8, int16, int32, int64, uint8, ..., uint64), хотя это кросс-компилятор поверх обычного си.
Аноним 23/04/24 Втр 16:12:18 3133006 232
>>3132785
> ну не будь таким строгим, не обязательно только чары, можно и инты, а в случаях ловли ЕОФа исключительно инт
Я только и исключительно о представлении строк.
> да и вообще инты как то предпочтительнее, так как у большинства машин шина четырехбайтная
Отстал ты.
Аноним 23/04/24 Втр 16:16:34 3133009 233
>>3132863
>. Кто вообще это придумал?
Ричи. Он отталкивался от В, где был один тип данных.
> Неужели нельзя было сделать чёткие типы в 1, 2, 4 или 8 байт?
Нельзя было вот так вот сплеча. На пдп-11 слово было длиной 36 бит.
Аноним 23/04/24 Втр 16:41:40 3133045 234
А если я так напишу?
typedef signed char int8;
typedef unsigned char uint8;
typedef signed short int16;
typedef unsigned short uint16;
typedef signed int int32;
typedef unsigned int uint32;
typedef signed long long int64;
typedef unsigned long long uint64;
Аноним 23/04/24 Втр 16:45:15 3133047 235
>>3133045
Не изобретай велосипед. Читай, что тебе пишут. >>3132899
Аноним 23/04/24 Втр 18:07:26 3133102 236
Аноны, вопрос: Как понять с каким типом данных я имею дело? Т.е. задача такая: в зависимости от типа данных направить исполнение кода в нужном направлении? Например, при выводе на экран, т.е., в зависимости от типа данных, я должен выбрать необходимый спецификатор. Поискал в тырнете, и мне пишут, что можно использовать ф-цию typeof(), но эту ф-цию понимают компиляторы, начиная со стандарта С11. И мне стало интересно, а как до этого стандарта определяли тип данных? И какой алгоритм определения типа у ф-ции typeof()? И да, речь не идёт, допустим, о типах данных int или double, которые отличаются размером и можно ветвление построить через sizeof(), мне интересны такие моменты, как допустим long long int и double?
Аноним 23/04/24 Втр 18:33:34 3133120 237
>>3133102
Никак. Что сам написал в объявлении, с тем дело и имеешь. И typeof() тебе не поможет решить такую задачу.
Аноним 23/04/24 Втр 18:37:56 3133121 238
Хотя можешь форматную строку делать с помощью _Generic. Но это всё равно не
>в зависимости от типа данных направить исполнение кода в нужном направлении
Это просто удобная генерация кода на этапе компиляции.
Аноним 23/04/24 Втр 18:47:30 3133125 239
>>3133102
> И какой алгоритм определения типа у ф-ции typeof()?
Это не функция.
Аноним 23/04/24 Втр 21:05:32 3133260 240
>>3133120
Понял, анон, спасибо! Жаль!
Аноним 24/04/24 Срд 01:33:07 3133530 241
>>3132863
>А если 2 байта надо?
тогда >>3132847
при условии что чар однобайтный
камон мы тут не на экзотике
Аноним 24/04/24 Срд 01:57:43 3133533 242
>>3133530
>при условии что чар однобайтный
опять же чар всегда однобайтный так как чар это синоним байта на любой машине
Аноним 24/04/24 Срд 02:03:47 3133534 243
>>3133102
полагаю дженериками/макросами ветвили, ну в общем то си как раз и предполагает, что такие ветвления делаются до рантайма
прямо в рантайме нахуя если можно до? ну это примерно кейс мультиплатформенности:
ифдеф дарвин
типдеф лонг инт инт32_т
типдеф лонг лонг инт инт32_т
эндиф

ну вот нахуя нам этот кусок в рантайме вычислять? нет никакой необходимости
Аноним 24/04/24 Срд 07:58:54 3133598 244
А вы планируете переходить на более современный язык Vala?
Аноним 24/04/24 Срд 11:04:03 3133703 245
>>3133598
>Vala
Да мёртвая твоя вала, сами гномерасты говорят, что нужно всё на расте писать. Кому ещё она была нужна, не представляю.
Аноним 24/04/24 Срд 12:29:41 3133793 246
>>3133703
Но ведь раст сложный, а вала простая
Аноним 24/04/24 Срд 14:25:12 3133935 247
>>3133703
Раст не подходит:
- Большой порог входа. Вы должны освоить borrowed checker семантику с которой поставляется Rust. И он совсем не похож на парадигму C к использованию которой мы все привыкли.
- Приличный, но недостаточный набор инструментов. До сих пор нет IDE для раста. Плагины для других редакторов кода в вечной бете.
- Очень мало GTK приложений написанных на Rust, там 5 или 6 toy приложений на которые можно посмотреть, состоящих из 200 строчек кода, но ничего большого сделанного на Rust я не видел(эмм fractal, привет, он уже был в 2017)
- Медленная компиляция, что плохо для итерационного цикла разработки который вам действительно нужен при разработке GUI
Аноним 24/04/24 Срд 14:26:12 3133938 248
>>3133935
>Вы должны освоить borrowed checker семантику
ну охуеть супер сложное достижение лол
растоклоун твой раст хуйня из под ногтей
Аноним 24/04/24 Срд 14:50:04 3133959 249
>>3133598
>переходить
зачем?
это какая то психологическая болезнь - постоянно переходить на инструмент посвежее? чисто по фрейду: в детстве играл деревянными игрушками прибитыми к полу а дноклы в сегу - теперь вечно прыгаешь на все что вышло вчера. мои соболезнования
Аноним 24/04/24 Срд 14:55:54 3133966 250
>>3133959
Да, у меня не было компа до 15 лет, а до этого изучал программирование по книжкам и писал программы в тетрадках.
Аноним 24/04/24 Срд 19:55:13 3134241 251
>>3133966
>писал программы в тетрадках
А как исполнял эти программы?
Аноним 24/04/24 Срд 20:17:21 3134271 252
>>3134241
Я считал, что они все работают правильно
Аноним 25/04/24 Чтв 03:29:05 3134515 253
Можно как-то к указателю прибавлять без адресной арифметики?
Например:
int pInt = 0;
pInt = pInt + 3;
в этом случае прибавится 3
sizeof (int)
а мне нужно, чтоб прибавилось 3 и выглядело не так уёбищно:
pInt = (int)((char)pInt + 3);
Аноним 25/04/24 Чтв 03:32:40 3134516 254
image.png 20Кб, 643x136
643x136
>>3134515
звездочки отвалились
Аноним 25/04/24 Чтв 03:57:44 3134518 255
>>3134516
>>3134515
Без адресной арифметики нельзя. Можешь использовать поинтер на чары или на войды и делать сдвиги нужного типоразмера.
Но вообще хуй пойми зачем тебе нужно сдвигать на 3 байта если это поинтер на инты.
Аноним 25/04/24 Чтв 05:59:50 3134535 256
Пожалуй стоит добавить что это часть механизма переносимости сишника. На одной машине инты дефолтные четырехбайтные, а на другой вот допустим шестибайтные. В этом случае тебе не нужно парится и писать костыли чтобы вычислять нужные адреса на разных машинах. Все механики и типоразмеры уже зашиты в типс.аш и в стд либы нужной машины. Ты просто делаешь поинтер на инты и он каждый раз будет двигаться на сайзоф инта той машины на которую скомпилен. Очень удобно. Хайлевл язык. Никакой ебли с БЕ ЛЕ и размерами.
Аноним 25/04/24 Чтв 20:36:16 3135496 257
Аноним 25/04/24 Чтв 21:34:49 3135597 258
>>3134515
Ты расскажи что ты хочешь этим добиться, может есть путь попроще
Аноним 28/04/24 Вск 11:06:55 3137632 259
>>3134515
Используй union, чтобы не приводить типы. Без самой адресной арифметики никак.

union P {
unsigned char ×pb;
int ×pi;
};

union P ptr;
ptr.pb += 3; // сдвиг на 3 байта
printf("%d\n", ×ptr.pi); // взять int по адресу

(x вместо звездочек)
Аноним 28/04/24 Вск 11:11:43 3137635 260
>>3134518
>Но вообще хуй пойми зачем тебе нужно сдвигать на 3 байта если это поинтер на инты.
Мне такое требовалось для динамической кодогенерации. Указатель на int, short и т.д. - когда нужно записать параметр такого размера, указатель на байт unsigned char - когда нужно записать опкод инструкции. Еще возможно работа с видеопамятью, байты - отдельные цветовые компоненты, 4 байта - 1 пиксель. Во всех таких случаях следует использовать union.
Аноним 28/04/24 Вск 11:20:04 3137637 261
>>3134535
>На одной машине инты дефолтные четырехбайтные, а на другой вот допустим шестибайтные
Для этого нужно использовать типы из <stdint.h> - uint32_t и т.д. Они явно задают размер в 1/2/4/ 8 байтов.
Аноним 28/04/24 Вск 11:53:50 3137666 262
>>3137637
><stdint.h>
Это интринсики, задаются компилятором, а не стандартом, и зависят от машины. Естественно на машине с шестибайтным интом они будут отличаться.
Хотя конечно сейчас надо постараться, чтобы найти чтото настолько нестандартное.
https://en.cppreference.com/w/c/language/arithmetic_types
Аноним 28/04/24 Вск 13:55:08 3137832 263
>>3137666
Машину с шестибайтным словом сейчас наверно будет тяжело найти. Сейчас практически везде стандартные архитектуры: x86, ARM, PowerPC, SPARC или RISC-X. На других тоже кратная 8 разрядность. Хотя PDP-7 (на котором появился первый компилятор Си) был как раз нестандартным, 18-битным.
Аноним 28/04/24 Вск 13:57:50 3137838 264
>>3094343
поставь vs 6.0, ну и опционально плагин visual assist туда;
и то и то можешь спиздить на рутрекере;
Аноним 28/04/24 Вск 14:49:30 3137913 265
>>3098564
jit это и есть компиляция байт-кода в машинный код;
иногда это называют еще и "интерпретатор компилирующего типа" чтобы отличать от "простого интерпретатора";
тащем то в вики неплохая статья https://en.wikipedia.org/wiki/Interpreter_(computing)
Аноним 28/04/24 Вск 16:37:43 3138041 266
>>3137832
>Машину с шестибайтным словом сейчас наверно будет тяжело найти.
>>3137666
>Хотя конечно сейчас надо постараться, чтобы найти чтото настолько нестандартное.

Это было просто для примера взято с потолка. Всегда проще объяснять принципы на пальцах.

Меня вот из хардварных вопросов больше интересует почему не спроектируют шину потолще. Многоядерность есть, а широкие шины чтобы сразу по 100500 слов забирать - не, интовой достаточно, копошитесь там как нить, жонглируйте.
Аноним 28/04/24 Вск 21:46:33 3138260 267
>>3138041
Вам подарили hdl - напиши шину сам.
Богатым и знаменитым будешь.
Аноним 29/04/24 Пнд 07:57:24 3138449 268
>>3138260
Может мне самому еще и комплюктир сделать надо?
Аноним 29/04/24 Пнд 08:27:28 3138480 269
>>3138449
Виртуальный - можно, есть такой курс. Начинаешь с логических вентилей, кончаешь ассемблером.
Аноним 30/04/24 Втр 20:15:33 3140114 270
>>3138260
Эти дебилы на нём софт-процессоры делать начали.
Аноним 01/05/24 Срд 16:26:41 3141041 271
Пытаюсь собрать окамл и с в один бинарник. Но почему то когда я добавляю файл bindings.o который был получен компиляцией исходника ocaml, вся сборка начинается выжирать 100Гигов оперативки (и больше). Как так получается, что попытка добавить один объектный файл приводит к такому результату?
Аноним 01/05/24 Срд 17:30:53 3141130 272
>>3141041
Очевидо, что там ещё какие-то либы загружаюся в память
Аноним 01/05/24 Срд 17:35:15 3141140 273
Аноним 01/05/24 Срд 18:28:42 3141236 274
>>3141140
Да хуй знает, чекни объектник там же таблица символов есть чо откуда куда и зачем. Либо ошибка в ней, либо он реально дохуя референсов тащит.
мимо
Аноним 01/05/24 Срд 18:29:42 3141238 275
>>3141236
Ща попробую. Пока не очень понял что именно я там должен увидеть
Аноним 01/05/24 Срд 18:30:31 3141241 276
>>3141238
Незакрытую скобку например.
Аноним 01/05/24 Срд 18:31:42 3141244 277
>>3141238
U caml_apply2
00000054 D camlBindings
000001d0 d camlBindings__1
000001b4 d camlBindings__10
000001ac d camlBindings__11
000001a0 d camlBindings__12
00000194 d camlBindings__13
00000188 d camlBindings__14
00000168 d camlBindings__15
0000015c d camlBindings__16
00000144 d camlBindings__17
00000128 d camlBindings__18
00000048 d camlBindings__19
0000011c d camlBindings__2
00000038 d camlBindings__20
0000002c d camlBindings__21
00000020 d camlBindings__22
00000014 d camlBindings__23
00000004 d camlBindings__24
00000110 d camlBindings__3
000000fc d camlBindings__4
000000f0 d camlBindings__5
000000dc d camlBindings__6
000000d0 d camlBindings__7
0000009c d camlBindings__8
00000090 d camlBindings__9
00000000 T camlBindings__code_begin
000004aa T camlBindings__code_end
00000000 D camlBindings__data_begin
000001fc D camlBindings__data_end
00000440 T camlBindings__entry
00000220 T camlBindings__fix_union_349
000000d0 T camlBindings__flattern_type_351
00000200 D camlBindings__frametable
000000b0 T camlBindings__fun_420
00000330 T camlBindings__fun_433
00000064 D camlBindings__gc_roots
00000410 T camlBindings__ocaml_function_hello_407
000003d0 T camlBindings__ocaml_function_sum_367
00000000 T camlBindings__remove_duplicates_281
U caml_call_gc
U caml_c_call
U caml_curry2
U caml_notequal
U caml_register_named_value
U Caml_state
U camlStdlib
U camlStdlib__failwith_7
U camlStdlib__List__1
U camlStdlib__List__find_all_679
U camlStdlib__List__flatten_477
U camlStdlib__List__fold_left_521
U camlStdlib__List__length_aux_270
U camlStdlib__List__map_482
U camlStdlib__List__rev_append_308
U camlStdlib__Printf__fprintf_422
Аноним 01/05/24 Срд 18:33:19 3141245 278
image.png 178Кб, 543x928
543x928
image.png 182Кб, 543x902
543x902
Аноним 01/05/24 Срд 18:42:30 3141259 279
>>3141244
>>3141245
куча какого то нонейм говна тут вижу по циферкам которые не относятся к исполняемому коду
так что полагаю второй вариант - реально тащит дохуя референсов чтобы это твое говно на 1200 строк работало
скомпиль через раздутый своп да и все, в итоге я думаю линкер выкинет все оттуда на твои 100 гигов, это чисто какой то билдинг блоб для окемла, всяких типов хуипов и прочего говна под циферками
это лично мое мнение, я не знаю как на самом деле
Аноним 01/05/24 Срд 19:04:09 3141309 280
>>3141259
>скомпиль через раздутый своп да и все
Уже выставил своп 128 гигов. Хуй знает куда дальше. У меня всего на диске 500. Еще, конечно, до 248 попробую поднять, если наскребу где то, но он так быстро все жрет, что я до сих пор думаю, что где то ошибка
Аноним 01/05/24 Срд 19:40:11 3141409 281
1714581589497405.jpg 8Кб, 843x62
843x62
>>3141309
Вспомнил, что есть второй диск
Аноним 04/05/24 Суб 01:33:37 3144133 282
5goRu4q-rO4.jpg 116Кб, 858x536
858x536
Есть книга/сайт где от-и-до расписан современный синтаксис "C"?

А то я работая в embedded, не зная его, но вижу часто такие конструкции что как будто и вовсне не язык, а какой-то плейбук с макросами.
Аноним 04/05/24 Суб 15:36:13 3144541 283
>>3144133
ну чел, ты работаешь и не знаешь
а я знаю и не работаю
чувствуешь подвох?
врят ли тебе тут будут помогать, давай сам выгребай, удачи с наебом хозяина работодателя
а мы уже на дне
Аноним 04/05/24 Суб 19:03:47 3144851 284
Спрошу тут. Это не совсем вопрос. Но тем не менее.

Обзавёлся серверов в домашней сети. Построил на нём инфраструктуру в виртуалках.. Самое главное - gitlab. Переащил в него пару проектов. Это предыстория.

Гитлаб нндоступен за пределами сервера.
Насколько безопасно открыть его в домашнюю сеть?
А насколько безопасно сделать его доступным из Интернета?
Аноним 04/05/24 Суб 19:27:29 3144885 285
>>3144851
в сапорт гитлаба задай вопрос
Ответить в тред Ответить в тред

Check this out!

Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов