Anonymous
ты хочешь универсальную инструкцию для всех-всех идеешек ?
Нет, я хочу хотя бы для VS Code 😁. И было бы неплохо, чтобы -lm было по умолчанию.
Ingvin
Нет, я хочу хотя бы для VS Code 😁. И было бы неплохо, чтобы -lm было по умолчанию.
alias gcc='gcc -lm' ? не удивлюсь если в консоли сделано что то такое же чтобы дефолтные параметры сразу тащить, я Си уже много лет не трогал с тех пор как перестал пересобирать андроид под китайские мобы
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
Жесть
хде?)
Ingvin
А ты хорош).
с сишным кодом по другому никак(
Андрей
да все понятно
Андрей
компилятор понимает шо корень из 9 можн посчитать и считает
Ingvin
компилятор понимает шо корень из 9 можн посчитать и считает
ну так это были бы догадки, я вам пруфов притащил
Anonymous
Я решил делать так: код в VS Code, но компиляция из командной строки с gcc и -lm. Может, и в VS Code можно добавить этот флаг, но, к сожалению, инструкции нормальной я не нашел.
Anonymous
я так щас и делал собстна, поставь сишное расширение, там на уровне проекта потом можно флаги задать
А я проекты не создаю. Я добавил доверенную папку, и просто по значку добавляю новые файлы туда.
Ingvin
А я проекты не создаю. Я добавил доверенную папку, и просто по значку добавляю новые файлы туда.
я не совсем про "проект" сишный, я про workspace vs code, для workspace каждого создается свой конфиг настроек
Ingvin
потом просто наваливаешь туда папок если хочешь много и все
Ingvin
папка .vscode
Ingvin
у меня просто workspace размером в одну папку поэтому выглядит так, а если папок много то будет вот так, ща кину скрин
Ingvin
вид в интерфейсе и содержимое файлика workspace-name.code-workspace
Ingvin
Ingvin
а внизу вот так настройки, у меня это просто workspace для питоновых штук
Anonymous
У меня в этой папке только launch.json и tasks.json. Я понятия не имею, как файл настроек открыть.
Ingvin
но сначала надо напихать хоть каких то папок в workspace дальше либо так через файл, либо зайти в настройки в File->Preferences->Settings
Anonymous
Ну у меня есть папка, я добавил. Точно также вижу свои тексты с расширением .c и исполняемые файлы. Я не понял, какие ещё папки нужны.
Ingvin
он сохранит текущее состояние твоего "окна" скажем так, расположение папок, открытые файлы
Ingvin
а внизу вот так настройки, у меня это просто workspace для питоновых штук
вот файл который ты сохранил и есть вот эти настройки, как их добавлять обычно написано либо в доке по vscode если это его настройки, либо в доке по расширениям если они умеют читать их
Дима
Ребят, а никто не пробовал стимдек в роли портативного линукса? ;-D
🦋noteee
Приветствую. Подскажите пожалуйста нормальный софт для анализа http трафика системы. Что-то по типу fiddler
Anonymous
Но можно погуглить на тему встроенных в Linux утилит типа tcp.
olegon.ru
я поборол диалог в телеге https://olegon.ru/showthread.php?t=37058
Андрей
о, так это тот самый баг
Андрей
или это немного не то, что я подумал
olegon.ru
или это немного не то, что я подумал
проверить недолго :) у меня долго жена терпела, она на гноме, а тут сел как-то за ее комп, выматерился и снес пакет, он даже без зависимостей выносится
😎Павел😎
Ребята всем привет ) .Вот такая проблема ... Не работает управление куллерами и частота бывает падает до 60 ,а у меня 144
🦋noteee
Почему когда в дискорде я включаю демонстрацию экрана, у меня черный экран? wayland
Anonymous
Почему когда в дискорде я включаю демонстрацию экрана, у меня черный экран? wayland
Потому что Wayland ещё не научился демонстрировать экран.
Anonymous
Можно переключиться на X11.
Александр
Потому что Wayland ещё не научился демонстрировать экран.
Я ещё потому что дискорд использует старую версию электрона, не способную взять изображение экрана у pipewire
alex
Потому что Wayland ещё не научился демонстрировать экран.
Неправда. Вейланд это умеет. Зум, обс тому пример. Все претензии к тормозам из днокорда
Александр
Неправда. Вейланд это умеет. Зум, обс тому пример. Все претензии к тормозам из днокорда
OBS использует как раз pipewire, там даже подписано должно быть
Александр
но да, виноват дискорд. Могли бы уже нажать пару кнопок и включить поддержку pipewire
Александр
Pipewire это же звук.
это ж мультимедийная библиотека. Просто используют её в качестве звукового сервера. скрин с их сайта
Александр
если зайти в obs под wayland, то там при захвате экрана будет написано что-то вроде "Захват экрана (pipewire)"
Александр
наверное надо было ещё это заскринить
Александр
Покажи, не верю.
У меня на OBS плагины стоят, которые под wayland крашат программу(
Александр
эхх, ладно, щас снесу и покажу
Александр
да я не могу просто под wayland obs запустить, pipewire тут не при чём
Александр
щас удалю плагины и зайду под wayland, докажу
Александр
Покажи, не верю.
ну, как-то так.
Vasiliy Glazov
ну, как-то так.
Это имеется в виду со звуком, наверняка.
Александр
а без wayland оно не использует pipewire для захвата звука по-твоему?
Александр
поищи в интернете "wayland screen share", везде будет написано про pipewire. Во флагах у того же хрома демонстрация происходит через флаг WEBRTC-PipeWire (или что-то в этом роде, не помню полного названия)
Александр
Это имеется в виду со звуком, наверняка.
кстати, obs вроде захватывает звук всей системы, а не отдельных источников
Александр
на X11 OBS отображает там иксовые модули (XSHM и XComposite), это никак звуком быть не может
Vasiliy Glazov
а без wayland оно не использует pipewire для захвата звука по-твоему?
Без не значит, что pipewire - про графику. Это только звук.
Александр
ещё раз скину скриншот с сайта pipewire. почему ты не веришь, что он может захватывать видео?
Александр
> "capture and playback of audio and video" > "capture of video"
Александр
а вот документация, где тоже есть захват видео - https://docs.pipewire.org/page_tutorial5.html PipeWire - это не только про звук
Александр
даже страница на википедии говорит, что под wayland его используют для захвата видео
Александр
я уж не знаю, как ещё доказать это...
Vasiliy Glazov
я уж не знаю, как ещё доказать это...
Мало ли что где написано. В федоре pipewire - про звук.