Обновить
0
0
Перикл Фемиди@pfemidi

Домосед

Отправить сообщение

И так же Extended Attributes в OS/2.

Это справедливо для WinAPI x86, а в WinAPI x86-64 немного по другому:


The Microsoft x64 calling convention is followed on Windows and pre-boot UEFI (for long mode on x86-64). The first four arguments are placed onto the registers. That means RCX, RDX, R8, R9 (in that order) for integer, struct or pointer arguments, and XMM0, XMM1, XMM2, XMM3 for floating point arguments. Additional arguments are pushed onto the stack (right to left). Integer return values (similar to x86) are returned in RAX if 64 bits or less. Floating point return values are returned in XMM0. Parameters less than 64 bits long are not zero extended; the high bits are not zeroed.

Нисколько не рекламы ради, я к ним вообще никакого отношения не имею, но для начала, именно для начала IMHO данный курс вполне подходит.

… Только вот в Safari почему-то отображаются далеко не все страницы, а процентов 10 от всех. А в остальных процентов 90 сначала мелькает на полсекунды то что должно быть на странице, а после всё исчезает и остаются на странице два с половиной-три с половиной элемента. Пришлось установить Google Chrome, в нём асолютно все страницы отображаются нормально и полностью.

Мне объяснили популярно почему такое происходит. Это из-за того, что в виртуалках (любых у которых host не Mac, если хостовая машина Mac то как-то можно) не виртуализируется 3D ускорение именно для Metal API, который в отличии от OpenGL существует только для видюх от Apple и на железном уровне. Safari использует как раз Metal для рисования своих страниц, а Chrome использует старый добрый OpenGL. Поэтому Safari показывает только превью, которое после исчезает как только Safari пытается использовать Metal, а Chrome про Metal ничего не знает и через OpenGL показывает всё нормально.

Честно скажу, не знаю как и чему сейчас учат в универе :-) Я получал свою практику программирования на ассемблере в своё время путём изучения дизассемблированых BIOS, DOS и первых вирусов для DOS, и везде там передача была именно через регистры. Через стек параметры передавались только в языках высокого уровня и много позже когда появились первые Windows (ещё не как самостоятельные OS, а как оболочки для DOS) и соответственно WinAPI. Так что я перенял способ передачи параметров через регистры из "взрослых" программ и меня удивляло и поражало в первых Windows — зачем передавать параметры через стек, когда всю жизнь передавали через регистры? Ведь когда пишешь на ассемблере передача параметров через регистры и быстрее, и удобнее! Только после дошло что это для совместимости с HLL того времени в которых никаких __fastcall в то время ещё не было, всё шло тупо через стек, в C справа налево и с очисткой стека после вызывателем, а в паскале слева направо и с очисткой стека вызываемым.


В середине нулевых да, передача параметров была уже преимущественно через стек, на flat модели, 32 битах и винде. А на голом DOS, на голом ассемблере параметры старались по возможности всегда передавать в регистрах.

В досе? Нет, в досе, да и в биосе так никогда не делали если программа писалась именно на ассемблере, а не на каком-нибудь языке высокого уровня. Языки высокого уровня передавали через стек, да, а на ассемблере это выглядело бы как-то так:


mov si, offset msg
call printMessage
...
printMessage:
cld
loop:
lodsb
test al,al
jz exitLoop
call printChar
jmp loop
exitLoop:
ret
...
printChar:
mov ah,0eh
int 10h
ret


То есть всё через регистры. Вот если регистров нехватало, тогда да, передавали через стек или через какие-нибудь локальные переменные.


Я с 1987 года по 1993 год программировал преимущественно на ассемблере и исключительно под дос, так что знаю о чём говорю.

mov ah,4ch
mov al,[exitCode]
int 21h


Это разве через стек? Да, дос, да, реальный режим.

Мне нужен был Xcode последней версии буквально на неделю, а последняя версия Xcode (ну не последняя, а одна из последних) устанавливается только на одну из последних macOS, это не Android Studio который существует для всех OS, для Xcode нужна исключительно macOS. Вот только ради Xcode я всё это и затеял. А обзаводиться натуральным маком лишь на неделю как-то дороговато. Кому мак нужен в повседневной жизни тем да, мак не просто "можно", но и нужно а мне виртуального macOS хватило полностью.

Вот чего пишет:
image


Habrastorage очень уж урезает разрешение, по ссылке лучше видно.

Можно. Вот открыто три вкладки в Safari — habr, google и github. Отображается нормально только google, на остальных вкладках практически пустые страницы, что Safari показывает на github видно на скриншоте:


https://ibb.co/FmqhZbm


Вот те же самые вкладки на Google Chrome, тут отображается абсолютно всё как надо:


https://ibb.co/JkcHHk0

Именно там, реального мака у меня нет. Что характерно такое только в Monterey в VMware про что я в статье рассказал, в Catalina в VirtualBox с Safari всё нормально.

Лично у меня что в Safari, что в Xcode открывается сколько угодно вкладок и подобной каши нет. Только вот в Safari почему-то отображаются далеко не все страницы, а процентов 10 от всех. А в остальных процентов 90 сначала мелькает на полсекунды то что должно быть на странице, а после всё исчезает и остаются на странице два с половиной-три с половиной элемента. Пришлось установить Google Chrome, в нём асолютно все страницы отображаются нормально и полностью.

У меня не завелось. А инструкция с techrechard была в числе первых что я попробовал прежде чем пришёл к тому о чём в этой своей статье написал, у меня по их инструкциям завелась только Catalina, нее выше. Начинал своё эпопею как раз с VirtualBox в Linux.

Вот ведь, оригинал не видел, видел только форк от него, https://github.com/sickcodes/Docker-OSX А вроде практически весь интернет прошерстил в поисках подобного. Но с этим форком у меня ничего не получилось, qemu всё время жаловался на то что не может найти/инициализировать audio и вываливался с ошибкой.


Гляну пожалуй на оригинал от этого Хулио. Спасибо за наводку.

Firecracker под FreeBSD это мелко, вот KDE под FreeBSD пропатчить, вот это да!

Зачем? Трофейной техникой пользоваться никогда не возбранялось и не порицалось. Если у врага есть что-то полезное, то почему бы это полезное не обратить в свою пользу? Так что не надо передёргивать и натягивать сову на глобус.

Ещё задолго до всех санкций, до всех спецопераций я прибил абсолютно все свои почтовые ящики на google.com и подобных и создал их с теми же именами какие были, но на российских доменах чтобы у меня отныне ничего не было у "буржуев". Как же я оказался, блин, дальновиден!

Я вообще ничего не понял. Где задача? Какая задача? Кроме непонятного набора потока слов я тут вообще ничего не увидел.

Для генерации тестового сумбура для СУБД MySQL я бывало пользовался вот этим.

Информация

В рейтинге
7 141-й
Откуда
Москва и Московская обл., Россия
Зарегистрирован
Активность