mmap не работает в ассемблере [дубликат]

.equals() сравнивает данные в классе (при условии, что функция реализована). == сравнивает местоположения указателя (расположение объекта в памяти).

== возвращает true, если оба объекта (NOT TALKING OF PRIMITIVES) указывают на экземпляр SAME. .equals() возвращает true, если два объекта содержат одни и те же данные equals() Versus == в Java

Это может вам помочь.

112
задан Peter Cordes 3 October 2017 в 03:03
поделиться

4 ответа

177
ответ дан 17 revs, 9 users 55% 17 August 2018 в 10:52
поделиться

Возможно, вы ищете x86_64 ABI?

Если это не совсем то, что вам нужно, используйте «x86_64 abi» в своей предпочтительной поисковой системе, чтобы найти альтернативные ссылки.

11
ответ дан Jonathan Leffler 17 August 2018 в 10:52
поделиться
  • 1
    на самом деле, мне нужно только соглашение о системном вызове. esp для UNIX (FreeBSD) – claws 29 March 2010 в 09:25
  • 2
    @claws: соглашение о системном вызове является частью ABI. – Jonathan Leffler 29 March 2010 в 14:23
  • 3
    Да. Я пошел на разработку ядра i-го отдельного ОС и спросил их об этом. Они сказали мне посмотреть в источник и выяснить. Я не понимаю, не документируя, как они могут начать развиваться? Итак, я добавил ответ из информации, которую я собрал, надеясь, что другие заполнят остальные детали. – claws 29 March 2010 в 14:43

Соглашения о вызовах определяют, как параметры передаются в регистрах при вызове или вызове другой программой. И лучший источник этих соглашений - в виде стандартов ABI, определенных для каждого из этих аппаратных средств. Для простоты компиляции тот же ABI также используется программой для пользователей и ядра. Linux / Freebsd поддерживают один и тот же ABI для x86-64 и другой набор для 32-разрядных. Но x86-64 ABI для Windows отличается от Linux / FreeBSD. И, как правило, ABI не отличает системный вызов от обычных «вызовов функций». То есть, здесь приведен конкретный пример соглашений об вызовах x86_64 и он одинаковый как для Linux-пространства Linux, так и для ядра: http://eli.thegreenplace.net/2011/09/06/stack-frame-layout-on- x86-64 / (обратите внимание на последовательность параметров a, b, c, d, e, f):

Производительность одна из причин этих ABI (например, передача параметров через регистры вместо сохранения в пачки памяти)

Для ARM существует несколько ABI:

http: // infocenter .arm.com / help / index.jsp? topic = / com.arm.doc.subset.swdev.abi / index.html

https://developer.apple

Соглашение ARM64:

http: //infocenter.arm.

Для Linux на PowerPC:

http: //refspecs.freestandards .org / elf / elfspec_ppc.pdf

http://www.0x04.net/doc/elf/psABI-ppc64.pdf

И для встроенного есть PPC EABI:

http://www.freescale.com/files/32bit/doc/app_note/PPCEABI.pdf

Этот документ является хорошим обзором всех различных конвенций:

http://www.agner.org/optimize/calling_conventions.pdf

9
ответ дан Peter Teoh 17 August 2018 в 10:52
поделиться
  • 1
    Полностью кроме того. Плакат вопроса не будет запрашивать 64-битный вызов вызова вызова в linux, если он был таким же, как и общие конверсии ABI. – Albert van der Horst 22 January 2016 в 14:04
  • 2
    Система V (Linux) ABI находится в refspecs.linuxbase.org – kchoi 15 September 2016 в 18:30

В дополнение к ссылке, которую дает Джонатан Леффлер в своем ответе, также могут оказаться полезными для вас [) соглашения Agner Fog

.

4
ответ дан PhiS 17 August 2018 в 10:52
поделиться
  • 1
    на самом деле, мне нужно только соглашение о системном вызове. – claws 29 March 2010 в 09:20
Другие вопросы по тегам:

Похожие вопросы: