1
ответ

C функции обратного вызова определяется в пространстве имен без имени?

У меня есть проект C++, который использует синтаксический анализатор бизона C. Синтаксический анализатор C использует структуру указателей функции для вызывания функций, которые создают надлежащие узлы AST, когда производство сокращено бизоном: определени
вопрос задан: 9 May 2010 10:52
1
ответ

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

Я хочу знать, как объективные аргументы дескриптора во время выполнения C, когда я называю цель C методом как [NSString stringWithFomat:@" %, % ", "Привет", "Мир"] существует три аргумента в пользу этой цели C...
вопрос задан: 14 March 2010 13:25
1
ответ

Соглашение о вызовах COM по x64

Я пытаюсь получить категорический ответ относительно способа, которым COM ведет себя на x64 машине. Делает использование Windows нормальное x64 соглашение о вызовах при диспетчеризации вызовов COM-интерфейсам на x64 машинах (...
вопрос задан: 12 November 2009 00:16
0
ответов

Почему gcc использует movl вместо push для передачи аргументов функции?

обратите внимание на этот код: # включить void a (int a, int b, int c) {char buffer1 [5]; char buffer2 [10]; } int main () {а (1,2,3); } после этого: gcc -S ac that ...
вопрос задан: 15 October 2019 18:40
0
ответов

Как функции vararg узнают количество аргументов в машинном коде?

Как функции с переменным числом аргументов, такие как printf, могут узнать количество полученных аргументов? Очевидно, что количество аргументов не передается как (скрытый) параметр (см. Вызов printf в примере asm здесь). ...
вопрос задан: 30 August 2019 07:18
0
ответов

Оптимизация инициализации массива

При компиляции следующего фрагмента кода (clang x86-64 -O3) std :: array < int, 5 > test () {std :: array < int, 5 > значения {{0, 1, 2, 3, 4}}; возвращаемые значения; } Это произвело типичный ...
вопрос задан: 20 June 2019 06:25
0
ответов

Что такое сохраненные регистры вызываемого и вызывающего абонента?

У меня возникли некоторые проблемы с пониманием разницы между сохраненными регистрами вызывающего и вызываемого абонентов и когда что использовать. Я использую MSP430 : procedure: mov.w # 0, R7 mov.w # 0, R6 add.w R6, R7 inc.w ...
вопрос задан: 7 May 2019 02:13
0
ответов

Какие регистры должны быть сохранены функцией x86?

Я пишу функцию на ассемблере x86, которая должна вызываться из кода C, и мне интересно, какие регистры мне нужно восстановить, прежде чем я вернусь к вызывающей стороне. В настоящее время я восстанавливаю только esp и ebp,...
вопрос задан: 20 November 2018 22:10
0
ответов

Как работает передача аргументов?

Я хочу знать, как работает передача аргументов функциям в C. Где хранятся значения и как они извлекаются? Как работает переменная передача аргументов? Кроме того, поскольку это связано: как насчет ...
вопрос задан: 6 October 2018 00:22
0
ответов

__ cdecl и __declspec путаница в соглашениях о вызовах

Я пишу DLL для стороннего приложения. Главный разработчик программного обеспечения упоминает, что приложение использует соглашение о вызовах __cdecl (/ Gd). Что мне нужно убедиться, что я использую это. ...
вопрос задан: 21 November 2017 22:51
0
ответов

Почему я могу вызывать функцию через указатель со слишком большим количеством аргументов?

Допустим, у меня есть эта функция: int func2 () {printf ("func2 \ n"); возврат 0; } Теперь я объявляю указатель: int (* fp) (double); Это должно указывать на функцию, которая принимает аргумент double и возвращает ...
вопрос задан: 20 August 2017 16:21
0
ответов

__ cdecl 또는 __stdcall on Windows?

현재 C ++를 개발 중입니다. DLL로 배포 될 Windows 용 라이브러리. 내 목표는 바이너리 상호 운용성을 극대화하는 것입니다. 좀 더 정확히 말하면, 내 DLL의 함수는 코드에서 사용할 수 있어야합니다 ...
вопрос задан: 23 May 2017 12:32
0
ответов

Зачем передавать объект по значению в C++ [дубликат]

Возможный дубликат :В C++ лучше передавать по значению или по постоянной ссылке? Я знаю о различиях передачи по значению, указателю и ссылке в C++, и я бы подумал о передаче...
вопрос задан: 5 March 2017 14:02
0
ответов

Почему Microsoft выбрала stdcall в качестве соглашения API?

есть веская причина? Являются ли их внутренние функции (не экспортируемые) также условными обозначениями stdcall?
вопрос задан: 20 September 2014 18:27
0
ответов

Порядок оценки аргументов при вызове функции?

Я изучаю неопределенное поведение в C и пришел к утверждению, в котором говорится, что не существует определенного порядка вычисления аргументов функции, но как насчет стандартного вызова ...
вопрос задан: 4 April 2014 07:30
0
ответов

Безопасно ли в C приводить указатель функции с переменным числом аргументов к указателю функции с конечными аргументами?

Я хочу создать указатель функции на функцию, которая будет обрабатывать подмножество случаев для функции, которая принимает список переменных параметров. Вариант использования — преобразование функции, которая переводит... в...
вопрос задан: 31 July 2012 00:01
0
ответов

В чем разница между соглашениями о вызовах C и C++?

Насколько я знаю, соглашение о вызовах зависит от компилятора и архитектуры. Но есть ли явные различия между соглашениями о вызовах C и C++?
вопрос задан: 29 June 2012 06:57
0
ответов

Что эквивалентно регистру BP (указатель кадра) на процессорах ARM?

На платформах Intel BP используется для указания на начало кадра стека и для доступа к аргументам [bp+0x??] и локальным переменным [bp-0x??]. Какой регистр используется в ARM? Или адресация...
вопрос задан: 7 June 2012 09:15
0
ответов

Удалить вызов из журнала вызовов после завершения вызова

Я новичок в разработке Android. Я хочу позвонить по номеру, но не хочу сохранять этот номер в журнале вызовов. Как удалить номер из журнала вызовов после завершения разговора?
вопрос задан: 27 May 2012 08:56
0
ответов

Для чего используется ключевое слово fastcall в Visual C?

Я видел нотацию быстрого вызова, добавленную перед многими функциями. Почему он используется?
вопрос задан: 21 May 2012 00:17
0
ответов

Использование process.start в приложении wpf для вызова другого приложения wpf

Я пытаюсь вызвать одно приложение wpf из другого приложения wpf. Вызывающее приложение wpf вызывает ProcessStartInfo BOM = new ProcessStartInfo(); BOM.FileName = @"D:\WPFAPPLICATION....
вопрос задан: 12 May 2012 19:32
0
ответов

Это & #39; это & ​​#39; ссылка хранится в стеке вызовов в Java?

Мы уже знали, что при вызове метода в Java параметры и локальные переменные будут храниться в стеке. Например, следующий код :открытый класс Test {инт х = 10; инт у = 20;...
вопрос задан: 20 April 2012 06:09
0
ответов

Откуда функция std::знает о соглашении о вызовах?

int __cdecl ccall(int i){ wprintf(L"ccall(%d)", i); вернуть 0; } int __stdcall stdcall(int i){ wprintf(L"stdcall(%d)", i); вернуть 0; } int __cdecl wmain(int argc, wchar_t **argv){...
вопрос задан: 15 April 2012 20:20
0
ответов

Требуется ли asmlinkage для вызова функции c из ассемблера?

Я пишу функцию C, которая будет вызываться из ассемблерного кода.(В частности, я хочу выполнить некоторую проверку на пути обработки системных вызовов в ядре Linux, поэтому я вызову функцию c...
вопрос задан: 8 April 2012 14:40
0
ответов

Совместим ли этот двоичный интерфейс между MSVC и mingw?

Я работаю над библиотекой, которая позволяет пользователям (другим библиотекам, находящимся в том же процессе) обмениваться буферами данных и потоками. Библиотека должна использоваться как из кода MSVC, так и из кода mingw (подробнее ...
вопрос задан: 16 March 2012 10:36
0
ответов

Как регистры AVX обрабатываются в соответствии с общими соглашениями о вызовах?

Я не смог найти ни одного документа, определяющего, как регистры YMM обрабатываются вызывающим и вызываемым. Чтобы сфокусировать свой вопрос, вот что я хотел бы знать: какие регистры YMM должны быть восстановлены ...
вопрос задан: 15 January 2012 08:27
0
ответов

Соглашения о вызовах x86_64 и фреймы стека

Я пытаюсь понять смысл исполняемый код, который GCC (4.4.3) генерирует для машины x86_64, работающей под Ubuntu Linux. В частности, я не понимаю, как код отслеживает ...
вопрос задан: 24 December 2011 15:28
0
ответов

Как пропускаются аргументы функции в C?

единственное, что я знаю о механизме того, как C проходит значения, заключается в том, что он выполняется либо через регистр, либо в стеке. Зарегистрироваться или стек? Как именно «
вопрос задан: 17 September 2011 01:28
0
ответов

Можно ли в Win64 ABI использовать зарезервированное пространство стека аргументов для хранилища общего назначения?

Я изучаю x64 сборка на Windows для развлечения. Документация MSDN для соглашения о вызовах x64 в Windows гласит: вызывающий отвечает за выделение пространства для параметров вызываемому, ...
вопрос задан: 21 August 2011 12:45
0
ответов

Почему иногда работает неправильное соглашение о вызовах?

Я использовал функцию «StartServiceCtrlDispatcher» для регистрации функции обратного вызова (называемой ServiceMain) в Windows, но объявленная мною функция обратного вызова была скомпилирована с неправильным соглашением о вызовах. ...
вопрос задан: 10 August 2011 22:54