1. Комментарий к говнокоду #29271 в ответ guest

    • Спасибо.

      Слово register древнее, ещё со времён K&R, оно клало переменную в регистр, но в случайный, а в gcc дали возможность связать с конкретным.

      Надо будет другие компиляторы проверить, может, где-то ещё прагмы или атрибуты есть для этого.

      На мой взгляд на x86 интересно связывать переменную с регистрами fs или gs, потому что в некоторых ОС эти регистры указывают на Thread Information Block.

      Другие регистры per se вне асмовставки/асмофункции использовать неинтересно.
      Ответить
    • https://govnokod.ru/25599#comment477822 - в 8-битных AVR можно насрать в регистры через запись в память. Может в каких-то других архитектурах тоже есть подобное
      Ответить
  2. Комментарий к говнокоду #29270 в ответ guest

  3. Комментарий к говнокоду #3564 в ответ Wеbkill

  4. Комментарий к говнокоду #3564 в ответ Wеbkill

  5. Комментарий к говнокоду #29276 в ответ j123123

    • Ответ от "ИИ"
      ### Разбор команды по частям:
      
      1.  **`adb shell pm list packages -e`**
          *   `adb shell`: запускает команду внутри подключенного Android-устройства.
          *   `pm list packages`: команда пакетного менеджера, которая выводит список всех установленных приложений.
          *   `-e`: флаг, который показывает только те приложения, у которых **уже выданы** какие-либо разрешения (чтобы не тратить время на пустые пакеты).
      
      2.  **`| cut -d: -f2`**
          *   Вывод первой команды выглядит так: `package:com.android.chrome`.
          *   `cut -d: -f2` обрезает строку по разделителю `:` и берет вторую часть. В итоге остается только чистое имя пакета: `com.android.chrome`.
      
      3.  **`| sort`**
          *   Сортирует список имен пакетов по алфавиту.
      
      4.  **`| perl -ple '$="adb shell appops set $ AUTO_REVOKE_PERMISSIONS_IF_UNUSED ignore"'`**
          *   Это «магия» трансформации текста. Perl берет каждое имя пакета (например, `com.android.chrome`) и подставляет его в шаблон команды.
          *   На выходе из этого этапа получается огромный список строк вида:
              `adb shell appops set com.android.chrome AUTO_REVOKE_PERMISSIONS_IF_UNUSED ignore`
              `adb shell appops set com.example.app AUTO_REVOKE_PERMISSIONS_IF_UNUSED ignore`
          *   Параметр `ignore` говорит системе: «Игнорируй правило автоматического отзыва разрешений для этого приложения».
      
      5.  **`| bash`**
          *   Принимает весь этот сгенерированный список команд и **выполняет их** одну за другой.
      
      ---
      Ответить
    • Всё так и есть.
      Ответить
  6. Комментарий к говнокоду #29270 в ответ guest

    • Пиндосы говорят "айроноу".
      Ответить
    • Почти «иронау». ЕВПОЧЯ.
      Ответить
  7. Комментарий к говнокоду #29270 в ответ guest

  8. Комментарий к говнокоду #29271

    • Fike, я сегодня прочитал: zijn allemaal mensen hoor

      Как мне об'яснить им, с чего я ржу?
      Ответить
  9. Комментарий к говнокоду #29276 в ответ guest

    • Что это и для чего (безотносительно какчества кода)?

      В Андроиде по умолчанию действует автоотзыв прав доступа, если приложением не пользовались N дней (чтобы пользователь заебался снова подтверждать манифест или чесал репу, почему приложение перестало работать). Код по задумке автора должен отключить автоотзыв прав у всех установленных приложений.
      Ответить
    • Ответ от "ИИ"
      ### Разбор команды по частям:
      
      1.  **`adb shell pm list packages -e`**
          *   `adb shell`: запускает команду внутри подключенного Android-устройства.
          *   `pm list packages`: команда пакетного менеджера, которая выводит список всех установленных приложений.
          *   `-e`: флаг, который показывает только те приложения, у которых **уже выданы** какие-либо разрешения (чтобы не тратить время на пустые пакеты).
      
      2.  **`| cut -d: -f2`**
          *   Вывод первой команды выглядит так: `package:com.android.chrome`.
          *   `cut -d: -f2` обрезает строку по разделителю `:` и берет вторую часть. В итоге остается только чистое имя пакета: `com.android.chrome`.
      
      3.  **`| sort`**
          *   Сортирует список имен пакетов по алфавиту.
      
      4.  **`| perl -ple '$="adb shell appops set $ AUTO_REVOKE_PERMISSIONS_IF_UNUSED ignore"'`**
          *   Это «магия» трансформации текста. Perl берет каждое имя пакета (например, `com.android.chrome`) и подставляет его в шаблон команды.
          *   На выходе из этого этапа получается огромный список строк вида:
              `adb shell appops set com.android.chrome AUTO_REVOKE_PERMISSIONS_IF_UNUSED ignore`
              `adb shell appops set com.example.app AUTO_REVOKE_PERMISSIONS_IF_UNUSED ignore`
          *   Параметр `ignore` говорит системе: «Игнорируй правило автоматического отзыва разрешений для этого приложения».
      
      5.  **`| bash`**
          *   Принимает весь этот сгенерированный список команд и **выполняет их** одну за другой.
      
      ---
      Ответить
  10. Комментарий к говнокоду #3564 в ответ Wеbkill

    • Ты так говоришь, как будто в этом разбираешься...

      Ты лучше послушай человека с мировым именем и справкой "прослушал курс средней школы".
      Ответить
    • Опять MAKAKA срёт.
         
      Ответить
  11. Комментарий к говнокоду #3564 в ответ Wеbkill

    • Ты так говоришь, как будто в этом разбираешься...

      Ты лучше послушай человека с мировым именем и справкой "прослушал курс средней школы".
      Ответить
    • Опять MAKAKA срёт.

       
      Ответить
  12. Комментарий к говнокоду #3564 в ответ Wеbkill

    • Ты так говоришь, как будто в этом разбираешься...

      Ты лучше послушай человека с мировым именем и справкой "прослушал курс средней школы".
      Ответить
    • Опять MAKAKA срёт.
      Ответить
  13. Комментарий к говнокоду #29271 в ответ j123123

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

      Такое можно и без "ИИ" сделать, взяв готовую хуйню под это. Наверняка есть готовые движки для всяких там магазинов, и нихуя недать не надо, кроме как купить хостинг и там это говно настроить. Только "ИИ" тебе там может насрать уязвимостей, из-за которых у тебя спиздят базу данных клиентов, уведут деньги со счета и напихают майнеров. А проверенная хуйня может такими багами не обладать
      https://www.youtube.com/watch?v=PxctrkNIt04 "КАК ВЗЛАМЫВАЮТ ВАЙБКОДЕРОВ В 2026?"
      Ответить
    • Готовое есть, конечно, но тебе всё равно нужен Ротоеб из молодой, динамично развивающейся веб-студии "ООО Вектор" чтобы настроить сраный битрикс на шаред хостинге, и прописать подключение к mysql в `dbconn.php`.

      А ИИ это сам может сделать.

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

      Это правда. Но справедливости ради, веб-макака насрет уязвимостей ничуть не меньше.

      Веб-макаки до сих пор страдают от XSS и SQL Injection и хранят пароли плейнтекстом.
      Ответить
  14. Комментарий к говнокоду #29271 в ответ guest

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

      Типовой веб-магазин, типовой мобильный клиент к этому магазину, всё типовое, отличается только картинками и текстами. Такое вполне может сделать AI.

      Да, да, я знаю, что именно твоя, анон, работа совсем не такая. Ты каждый день создаешь что-то такое, о чем другие даже не догадываются, это ты придумал мап-редьюсь, разработал алгоритм Ахо-Корасик, доказал, что P=NP, придумал Linux, и объявил дефолот. Но я же не про тебя, а при типичного вкатуна-айтишнечка, из тех что решают задачи для ООО "Строй-связь-инвест-плюс".
      Ответить
    • > Типовой веб-магазин, типовой мобильный клиент к этому магазину, всё типовое, отличается только картинками и текстами. Такое вполне может сделать AI.

      Такое можно и без "ИИ" сделать, взяв готовую хуйню под это. Наверняка есть готовые движки для всяких там магазинов, и нихуя недать не надо, кроме как купить хостинг и там это говно настроить. Только "ИИ" тебе там может насрать уязвимостей, из-за которых у тебя спиздят базу данных клиентов, уведут деньги со счета и напихают майнеров. А проверенная хуйня может такими багами не обладать
      https://www.youtube.com/watch?v=PxctrkNIt04 "КАК ВЗЛАМЫВАЮТ ВАЙБКОДЕРОВ В 2026?"
      Ответить
  15. Комментарий к говнокоду #29270 в ответ guest

    • Этот баян ещё мой прадед видел
      Ответить
    • Во времена твоего деда в электричке были электронные табло и запрет на курение??
      Ответить
  16. Комментарий к говнокоду #29270 в ответ guest

  17. Комментарий к говнокоду #29271 в ответ guest

    • Да, разумеется, так всё и есть.

      Пишешь просто промт: "вот у меня есть распределенная система на С++, она норм работает при 300К одновременных подключений, но при 700К уже тормозит, почини пожалйста, и задеплой" и идешь пить чай. Или кофе. Вот у вас на работе что пьют?
      Ответить
    • https://lib.ru/ANEKDOTY/non_pas.txt

      .          Когда я окончил школу,  я  считал  себя самым лучшим
      программистом в мире. Я мог написать непобедимую программу игры
      в крестики-нолики  в  трехмерном пространстве на пяти различных
      языках программирования, а также написать программу,  состоящую
      из 1000 строк,  которая бы работала.  Затем я попал в  реальный
      мир.  Моей первой задачей было прочитать и понять фортрановскую
      программу емкостью 200000 строк,  а затем увеличить скорость ее
      работы в 2 раза.  Любой настоящий программист скажет  вам,  что
      все  структурированное  программирование  мира  не  поможет вам
      решить  проблемы  вроде  этой  -  решение  этой  задачи требует
      настоящего таланта.
      Ответить
  18. Комментарий к говнокоду #29270 в ответ Rooster

  19. Комментарий к говнокоду #29270

  20. Комментарий к говнокоду #29270 в ответ guest

    • Пиндосы говорят "айроноу".
      Ответить
    • а еще они говорят воцрон


      зы: а вместо аероноу наши говорят квейтнит
      Ответить
  21. Комментарий к говнокоду #29270 в ответ guest

    • — Друзья, как переводится «I don't know»?
      — Я не знаю.
      — Ну вот, у кого ни спрошу, никто не знает.
      Ответить
    • Пиндосы говорят "айроноу".
      Ответить
  22. Комментарий к говнокоду #29270

    • друзья куда-то делся кирилл стремоусов
      Ответить
  23. Комментарий к говнокоду #29270 в ответ guest

    • теперь очередь озона
      Ответить
    • озон терпи озон терпи газон терпи озон терпи
      Ответить
  24. Комментарий к говнокоду #29270 в ответ guest

    • — Друзья, как переводится «I don't know»?
      — Я не знаю.
      — Ну вот, у кого ни спрошу, никто не знает.
      Ответить
    • Как перевести "аргументы и факты"?
      Ответить
  25. Комментарий к говнокоду #29270 в ответ guest

    • Почесноку я седня туповат
      Ответить
    • — Друзья, как переводится «I don't know»?
      — Я не знаю.
      — Ну вот, у кого ни спрошу, никто не знает.
      Ответить
  26. Комментарий к говнокоду #29275 в ответ guest

  27. Комментарий к говнокоду #29270 в ответ guest

    • Сгорел последний склад Wild Berries
      Ответить
    • теперь очередь озона
      Ответить
  28. Комментарий к говнокоду #29275

    • Ну как, посмотрели «колобка»?
      Ответить
  29. Комментарий к говнокоду #29270 в ответ guest

    • друзья frankly i'm considerably retarded today как правильно по-руский
      Ответить
    • Почесноку я седня туповат
      Ответить
  30. Комментарий к говнокоду #29270

    • Сгорел последний склад Wild Berries
      Ответить
  31. Комментарий к говнокоду #29270

    • друзья frankly i'm considerably retarded today как правильно по-руский
      Ответить
  32. Комментарий к говнокоду #29271 в ответ guest

    • мугу, у гцц целый язык чтоб сообщать о своем асмокоде


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

      В общем, минное поле.
      Ответить
  33. Комментарий к говнокоду #29271 в ответ guest

    • Да, у GCC крутая асмовставка, в которой можно указывать констрейнты.

      В общем случае это не так. Вроде у MS и у Борманда асмовставка тупая. В 64-битном MSVC на неё вообще забили и посоветовали линковать объектный файл.
      Ответить
    • мугу, у гцц целый язык чтоб сообщать о своем асмокоде


      Я внезапно согласен с мелкомягими тут: не нужно срать асмой посреди сишки: делай отдельную функцию
      Ответить
  34. Комментарий к говнокоду #29271 в ответ guest

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

      Если ты в тайне от компилятора в регистры насреш то конечно это будет UB.
      Ответить
    • Да, у GCC крутая асмовставка, в которой можно указывать констрейнты.

      В общем случае это не так. Вроде у MS и у Борманда асмовставка тупая. В 64-битном MSVC на неё вообще забили и посоветовали линковать объектный файл.
      Ответить
  35. Комментарий к говнокоду #29274 в ответ guest

    • А если у меня нету никакого «AppleID»?
      Ответить
    • всмысле нет? ты нищеброд что ли? Даже у охранников из Пятерочки есть айфон а у теюбя нету?
      кредит возьми!
      Ответить
  36. Комментарий к говнокоду #29276 в ответ MOPCKAR_CBNHNHA

  37. Комментарий к говнокоду #29271 в ответ guest

    • Спасибо.

      Слово register древнее, ещё со времён K&R, оно клало переменную в регистр, но в случайный, а в gcc дали возможность связать с конкретным.

      Надо будет другие компиляторы проверить, может, где-то ещё прагмы или атрибуты есть для этого.

      На мой взгляд на x86 интересно связывать переменную с регистрами fs или gs, потому что в некоторых ОС эти регистры указывают на Thread Information Block.

      Другие регистры per se вне асмовставки/асмофункции использовать неинтересно.
      Ответить
    • register это такое ключевое слово чтобы (как сказал бы Пи) автомобль ускорять вручную подталкивая ему колеса. Кроме отказа от возможности взять адрес мне кажется оно ни для чего не нужно (компилятор лучше разберется)

      > Thread Information Block.

      да, это виндоспик
      но и в прыщше pthread какой-то тоже вроде
      Ответить
  38. Комментарий к говнокоду #29271 в ответ guest

    • Да, вы с Гологубом правы: функция просто получала структуру и брала из нее байтики и пхала их в регистры.

      Только я нигде не называл её интринсиком.
      Ответить
    • Ха-ха, Вы совершенно правы!

      Хотите ещё больше узнать о функциях?
      Ответить
  39. Комментарий к говнокоду #29271 в ответ guest

    • Добавлю. В сишке вообще трудно менять регистры короткими асмовставками, потому что между точками следования черти ипутся. Даже с volatile и с -O0 там происходит хуй пойми что. Поэтому разумно использовать только массивные асмовставки, изолированные от остального кода (с помощью пуша/попа и т. п.), а лучше отдельные функции.
      Ответить
    • В общем случае обычно можно сообщить компилятору какие регистры ты трогаешь, и вообще какие от твоего асмованя спецэффекты.

      Если ты в тайне от компилятора в регистры насреш то конечно это будет UB.
      Ответить
  40. Комментарий к говнокоду #29271 в ответ j123123

    • https://gcc.gnu.org/onlinedocs/gcc-16.2.0/gcc/Explicit-Register-Variables.html в GCC такая хрень есть
      register int *foo asm ("r12");
      Ответить
    • Спасибо.

      Слово register древнее, ещё со времён K&R, оно клало переменную в регистр, но в случайный, а в gcc дали возможность связать с конкретным.

      Надо будет другие компиляторы проверить, может, где-то ещё прагмы или атрибуты есть для этого.

      На мой взгляд на x86 интересно связывать переменную с регистрами fs или gs, потому что в некоторых ОС эти регистры указывают на Thread Information Block.

      Другие регистры per se вне асмовставки/асмофункции использовать неинтересно.
      Ответить