Результаты поиска по запросу "calling-convention"

2 ответа

__cdecl, __stdcall и __fastcall все называются одинаково?

1 ответ

Вопрос о соглашении вызовов Objective C и передаче аргументов в ARM

Я хочу знать, как объективная среда выполнения C обрабатывает аргументы, когда я вызываю объективный метод C, например

4 ответа

Что за звонок?

Я работаю над созданием ActiveX EXE с использованием VB6, и единственный полученный мной пример - все написано на Delphi. Читая пример кода, я заметил, что есть некоторые функции, подписи которых следуютдиректива SafeCallключевое слово. Вот ...

ТОП публикаций

1 ответ

Спецификация ABI для некоторых случаев передачи аргументов с участием конструкторов перемещения была неясной, и когда они были прояснены, clang изменился, чтобы следовать ABI. Это, наверное, один из тех случаев.

отрим этот код: #include <utility> #include <tuple> std::pair<int, int> f1() { return std::make_pair(0x111, 0x222); } std::tuple<int, int> f2() { return std::make_tuple(0x111, 0x222); }Clang 3 и 4 генерируют одинаковый код для обоих на ...

1 ответ

как указать VC11 лямбда-соглашение о вызовах

Я хочу передать указатель лямбда-функции, вложенный в класс, в функцию обратного вызова Windows API. Я обнаружил, что мне некуда указывать__stdcall ключевое слово. Некоторые люди сказали мне поддержку только компиляции__cdecl, но после того, как ...

1 ответ

Почему метод GObject по-прежнему вызывается, даже если аргументы обратного вызова не совпадают с аргументами в XML?

Предположим, у меня есть такой метод

2 ответа

printf с плавающей точкой в сборке nasm 64-bit

Я хочу напечатать значение с плавающей запятой с помощью printf

2 ответа

Каждая инструкция PUSH выдвигает кратное 8 байт на x64?

На x64 каждая инструкция PUSH выдвигает кратное 8 байтов? Если нет, то сколько это толкает?Кроме того, сколько места в стеке занимает каждый параметр функции?

2 ответа

printf float в сборке nasm 64-битный

Я хочу напечатать значение с плавающей запятой с помощью printf global main extern printf section .data string: db `%f\n`, 0 section .bss rs: resq 1 [...] movq xmm0, [rs] mov rdi, string mov rax, 0 call printfrs содержит плавающее значение ...

0 ответов

(сборка Linux x86_64) Почему printf со строкой формата float работает только с rsp% 0x10 = 0

У меня проблема с записью вызова printf на ассемблере Linux x86_64. Если я попробую вывести двойное значение, когдаrsp % 0x10 != 0Распечатайте падение с segfault. Посмотрите на мой код (синтаксис Nasm): [bits 64] global _start extern printf ...