Андрей
Anonymous
Ingvin
проверил я ваши мучения, вы просто напоролись на оптимизации компилятора, ваша ошибка вылезает только если аргумент математической функции - переменная
Ingvin
когда вы ставите там цифру конкретную компилятор это видит и оптимизирует это в бинарном коде в константу
Ingvin
ставь -lm в общем
Андрей
Андрей
и не линкует функцию
Ingvin
если подробнее, то у тебя gcc и так знает где лежат все функции и прочее (в отличие от линкера), поэтому когда ты компилируешь функцию gcc видя sqrt или другую функцию от константы вычисляет ее на моменте компиляции и вставляет как константу результат сразу в бинарник (я даже ассемблерный код щас глянул, там нет вызова математической библиотеки), а если переменную использовать то компилятор то код собирает, но потом приходит линкер чтоб все разложить и напарывается на то что у него под рукой нет либы с нужной функцией
для проверки:
gcc test.c -S -o test собирает без линковки и можно в итоговом файле глянуть ассемблерный код
вот диф двух ассемблерных листингов, справа (стрелка туда >) файл с переменной, слева файл с константой
Ingvin
17c17,23
< movq .LC0(%rip), %rax
---
> subq $16, %rsp
> movsd .LC0(%rip), %xmm0
> movsd %xmm0, -8(%rbp)
> movq -8(%rbp), %rax
> movq %rax, %xmm0
> call sqrt
> movq %xmm0, %rax
23c29
< popq %rbp
---
> leave
33c39
< .long 1074266112
---
> .long 1075970048
Ingvin
как видно во втором случае вызывается sqrt, в первом его нет
pozitp
Жесть
Ingvin
Anonymous
Андрей
да все понятно
Андрей
компилятор понимает шо корень из 9 можн посчитать и считает
Ingvin
Anonymous
Я решил делать так: код в VS Code, но компиляция из командной строки с gcc и -lm. Может, и в VS Code можно добавить этот флаг, но, к сожалению, инструкции нормальной я не нашел.
Ingvin
Anonymous
Ingvin
потом просто наваливаешь туда папок если хочешь много и все
Anonymous
Ingvin
Ingvin
у меня просто workspace размером в одну папку поэтому выглядит так, а если папок много то будет вот так, ща кину скрин
Ingvin
вид в интерфейсе и содержимое файлика workspace-name.code-workspace
Ingvin
Ingvin
а внизу вот так настройки, у меня это просто workspace для питоновых штук
Anonymous
У меня в этой папке только launch.json и tasks.json. Я понятия не имею, как файл настроек открыть.
Ingvin
Ingvin
но сначала надо напихать хоть каких то папок в workspace дальше либо так через файл, либо зайти в настройки в File->Preferences->Settings
Anonymous
Ну у меня есть папка, я добавил. Точно также вижу свои тексты с расширением .c и исполняемые файлы. Я не понял, какие ещё папки нужны.
Ingvin
Ingvin
он сохранит текущее состояние твоего "окна" скажем так, расположение папок, открытые файлы
Anonymous
Anonymous
Дима
Ребят, а никто не пробовал стимдек в роли портативного линукса? ;-D
🦋noteee
Приветствую. Подскажите пожалуйста нормальный софт для анализа http трафика системы. Что-то по типу fiddler
Anonymous
Anonymous
Но можно погуглить на тему встроенных в Linux утилит типа tcp.
olegon.ru
я поборол диалог в телеге
https://olegon.ru/showthread.php?t=37058
Андрей
о, так это тот самый баг
Андрей
или это немного не то, что я подумал
olegon.ru
или это немного не то, что я подумал
проверить недолго :) у меня долго жена терпела, она на гноме, а тут сел как-то за ее комп, выматерился и снес пакет, он даже без зависимостей выносится
😎Павел😎
Ребята всем привет ) .Вот такая проблема ... Не работает управление куллерами и частота бывает падает до 60 ,а у меня 144
🦋noteee
Почему когда в дискорде я включаю демонстрацию экрана, у меня черный экран? wayland
Anonymous
Anonymous
Можно переключиться на X11.
🦋noteee
Anonymous
Александр
Александр
но да, виноват дискорд. Могли бы уже нажать пару кнопок и включить поддержку pipewire
Vasiliy Glazov
Александр
Pipewire это же звук.
это ж мультимедийная библиотека. Просто используют её в качестве звукового сервера. скрин с их сайта
Александр
если зайти в obs под wayland, то там при захвате экрана будет написано что-то вроде "Захват экрана (pipewire)"
Александр
наверное надо было ещё это заскринить
Vasiliy Glazov
Александр
Покажи, не верю.
У меня на OBS плагины стоят, которые под wayland крашат программу(
Александр
эхх, ладно, щас снесу и покажу
Vasiliy Glazov
Александр
да я не могу просто под wayland obs запустить, pipewire тут не при чём
Александр
щас удалю плагины и зайду под wayland, докажу
Vasiliy Glazov
Это имеется в виду со звуком, наверняка.
Александр
а без wayland оно не использует pipewire для захвата звука по-твоему?
Александр
поищи в интернете "wayland screen share", везде будет написано про pipewire.
Во флагах у того же хрома демонстрация происходит через флаг WEBRTC-PipeWire (или что-то в этом роде, не помню полного названия)
Александр
на X11 OBS отображает там иксовые модули (XSHM и XComposite), это никак звуком быть не может
Vasiliy Glazov
Александр
ещё раз скину скриншот с сайта pipewire. почему ты не веришь, что он может захватывать видео?
Александр
> "capture and playback of audio and video"
> "capture of video"
Александр
а вот документация, где тоже есть захват видео - https://docs.pipewire.org/page_tutorial5.html
PipeWire - это не только про звук
Александр
даже страница на википедии говорит, что под wayland его используют для захвата видео
Александр
я уж не знаю, как ещё доказать это...