−8
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
Program print_numbers_twice;
Procedure give(p: pptrint);
begin
if pptrint(p^) <> nil then begin
give(pptrint(p^));
writeln((p-1)^)
end
end;
Procedure take;
var n: ptrint;
begin
if not SeekEof then begin
read(n);
take
end else begin
n := (pptrint(@n)+1)^;
give(pptrint(n));
give(pptrint(n))
end
end;
Begin
take
End.
На входе программа получает неизвестное заранее количество целых чисел, разделенных пробельными символами, а затем выводит их два раза в том же порядке по одному числу в строке.
Очень простая и короткая программа. Я думаю, вам не составит труда понять, как она работает. Пишите в комментариях!
Запостил:
Threadwalker,
22 Декабря 2021
Целое размером с указатель, как ptrdiff_t в сишном <stddef.h>
В общем, это знаковое целое того же размера, что и указатель на текущей системе. Можешь сам прописать.
Вот тут пахнет:
Набиваем стек, а потом его затираем введённым с консоли значением.
Именно поэтому я за FPO, чтобы у царей не было желания шариться по стеку.
Теперь все собрано с указателем рамки
Какая cancel culture.
Пруф?
Ты ведь можешь сам это проверить как-то взяв MSную dllку?
А нахуй он там? Там же регистров как у дурака фантиков
А тут писать на стек сраный rbp, который кроме отладчика (без символов) да аллоки никто не юзает. Вот и выбросили.
2. Мы научилось адресовать их от SP, BP заюзаем под что-то другое
3. У нас стало больше регистров, давайте опять юзать BP
4. Зачем нам BP? Давайте от него откажаемся
[вы находитесь здесь]
Алсо, если я пишу асм руками, то наверное я хочу frame pointer, иначе отступы будут неочивидны? Или современные асмы все за меня посчитают?
Возможно какой-нибудь fasm и умеет об rsp считать... Но маловероятно т.к. ему придётся понимать инструкции, а не тупо их конпелять.
Да хуй с ними, с переменными, они на х64 обычно все в регистрах...
Проблема в том, что любой пуш и у тебя rsp поехал.
> BP
А может я хочу об rdi базироваться? Или об r11.
А зачем тогда тебе что-то пушать тогда? Чтобы кольнуть 32х битное говно?
>об rdi
чтобы запутать того, кто будет без символов пытаться стек вызовов понять?
Ну например чтобы callee-saved регистр начать юзать.
> зачем
Для самовыражения и уникальности.
а, типа ты папин регистр припрятал, поюзал, и вернул обратно, да?
чото я сразу не сообразил, так же обычно всегда и делали. были даже ПУША и ПОПА для этого.
>Для самовыражения и уникальности.
чувак, ты пишешь на асме в 2021, ты и так уникален
16, лол.
З.Ы. И это не шутка.
или у тебя 16bit protected, как в 286/win3.11?
И зачем? Биосы железок дергать?
> бивисы
Угу. Легаси-хуегаси.
Useless fact: в двойках нельзя было вернуться из протектд режима в реальный никак кроме колд ресета. Я у Гука читал.
Но в тройке уже починили
Я люблю руби читать
ХУЯ хуюблю хуюби хуитать
Поубивал бы.
- Покажи.
- ...
- Ты больной ублюдок.
https://blogs.gentoo.org/mgorny/2021/11/07/the-future-of-python-build-systems-and-gentoo/
Она конечно же сломалась, и утащила за собой load-balancer'ы в проде. Помогать чинить это говно я конечно им не стала.
Сисадмин питонист — горе в семье.
CI на ПХП
Разные культуры развиваются с разной скоростью. У кого-то компьютеры, а у бушменов мезолит.
Пыхеры только-только юнит-тесты освоили, лет через двадцать и до CI доберутся
Честно говоря, не совсем понятно, почему идет инкремент указателя на единицу; чтобы выполнить условие, когда список уже EOF?
Если правильно — сам думай, программа на то и написана. Если нет — ну значит я ошибся где-то.
То ли дело «Python»:
То ли дело «Python»:
Прости, Царь, за дублирование дублирование массива.
Условиям оригинальной задачи первый коммент не соответствует — в нём числа надо вводить по одному на строку, а не через любые пробельные символы — но да ладно, раз уж начали так, то похуй.
Надо ещё split сделать.
И зачем в инт переводить?
Об этом я в примечании выше написал. Лень ебаться с этими вашими сплитами (надо не просто сплит, а сплит по \s: «Питон» соснул).
> И зачем в инт переводить?
Для коньсистентности.
https://ideone.com/b3WFU4
> None (the default value) means split according to any whitespace,
> and discard empty strings from the result.
нет, не похуй
* Отключить интернет во время установки.
* Установочный путь не должен содержать пробелов.
* Собирать только GCC 3.4.6 с этими флагами и никакими другими.
* Устанавливать можно только на диск C.
* В региональных настройках необходимо поставить десятичным разделителем точку.
* В настройках рабочего стола включите Aeroю
* Программу нужно запускать от администратора.
* Шиндовс должен стоять исключительно в С:\Windows.
¿
Сейчас и вирусов-то почти нет. Кругом только трояны.
Да и по сигнатурам они известных троянов вполне так выпиливают.
Что ещё нужно не забыть?
Но просто прыщи можно выстаавить в Инет без файра, им ничего не будет, а у винды анонимные петухи уже через пару минут начнут щупать твои пайпы через SMB
Прыши:
винда
Пирдолинг заказываои?
700 кровных - на ветер. Коробка до сих пор где-то валяется.
В одной очень серьезной проге на которой сидит вся отчетность России используется indy, COM и прочие устаревшие технологии. Прога эта стоит охулион рублей.
В доке черным по белому писано:
Для работы приложения требуется отключить антивирус, файерволл и брандмауэр.
На делфи, кстати.
Taaaaaake meeeee oooooooon
I'll beeeee goooone
In a d
Segmentation fault
Отдельный счётчик не нужен.
* Отключить интернет во время установки.
* Установочный путь не должен содержать пробелов.
* Собирать только GCC 3.4.6 с этими флагами и никакими другими.
* Устанавливать можно только на диск C.
* В региональных настройках необходимо поставить десятичным разделителем точку.
* В настройках рабочего стола включите Aeroю
* Программу нужно запускать от администратора.
* Шиндовс должен стоять исключительно в С:\Windows.
* Вызывать только из main.
* Не засирать стек посторонними данными.
Мутабельных литералов захотелось? Или что там закопали в том районе?
Вообще хуевый, негативный вызов. Лучше им не пользоваться
Почему? Джве функции подряд не так сложно написать...
Поскоку теперь у всех (кроме j123123) есть MMU и COW (ха-ха, я родил каламбур) то смысла в вфорке мало
— перепрыщи
Ну такое... Царские Лямбды тоже работали в конкретных условиях на конкретном конпеляторе. Очень тонкий лёд.
мы вам перезвоним
Да, надо было в инт кастить