9
ответов

Почему делает ABI Mac, требуют 16-байтового выравнивания стека для x86-32?

Я могу понять это требование для старой PPC системы RISC и даже для x86-64, но для старого проверенного x86? В этом случае стек должен быть выровненный на 4-байтовых границах только. Да, некоторые...
вопрос задан: 17 December 2015 19:24
8
ответов

Что такое двоичный интерфейс приложения (ABI)?

Я никогда не понимал, что такое ABI. Пожалуйста, не указывайте мне статью в Википедии. Если бы я мог это понять, я бы не стал публиковать такие длинные сообщения. Это мое мышление о разных ...
вопрос задан: 26 February 2019 14:43
7
ответов

Там какие-либо оборотные стороны к передающим структурам значением в C, вместо того, чтобы передать указатель?

Там какие-либо оборотные стороны к передающим структурам значением в C, вместо того, чтобы передать указатель? Если структура является большой, существует, очевидно, performancd аспект копирования большого количества данных, но для меньшего...
вопрос задан: 14 June 2018 22:56
7
ответов

Почему Двоичный интерфейс приложений важен для программирования

Я не понимаю, почему ABI является важным контекстом разработки приложений пространства пользователя. Набор системных вызовов операционной системы, рассмотрел ABI? Но раз так затем не весь...
вопрос задан: 9 April 2011 13:13
5
ответов

Как компиляторы C реализуют функции, которые возвращают большие структуры?

Возвращаемое значение функции обычно хранится на стеке или в регистре. Но для большой структуры, это должно быть на стеке. Сколько копирования должно произойти в реальном компиляторе для этого кода?...
вопрос задан: 18 October 2019 02:07
5
ответов

Каково направление роста стека в большинстве современных систем?

Я готовлю некоторые учебные материалы в C, и я хочу, чтобы мои примеры соответствовали типичной модели стека. Какое направление делает стек C, растут в Linux, Windows, MAC OSX (PPC и x86), Солярис и большинство...
вопрос задан: 1 July 2019 07:33
5
ответов

Что мог “потерять” C/C++, если бы они определили стандартный ABI?

В заголовке говорится все. Я говорю о C/C++ а именно, потому что оба рассматривают это как "проблему реализации". Я думаю, определение стандартного интерфейса может упростить создание системы модуля на вершине...
вопрос задан: 17 January 2010 23:21
4
ответа

Создание Библиотеки с обратно совместимым ABI, который использует Повышение

Я работаю над определенной библиотекой C++ (или больше платформы). Я хочу сделать это обратно совместимым с предыдущим сохранением версий не только совместимость API, но также и ABI (как QT отличной работы делает)...
вопрос задан: 31 March 2016 16:26
4
ответа

C Объекты периода выполнения, dll границы

Что является лучшим способом разработать API C для dlls, который имеет дело с проблемой передачи "объектов", которые являются зависимым во время выполнения C (ФАЙЛ*, указатель, возвращенный malloc, и т.д....). Например, если два dlls...
вопрос задан: 27 June 2009 09:28
3
ответа

Как передать функцию в pthreads из C ++? [Дубликат]

Предпосылки Я беру класс ОС в этом семестре. Я обсуждал использование C ++ с профессором, но я не могу использовать ничего, для которого есть системный вызов linux (кроме управления памятью). Проблема ...
вопрос задан: 8 April 2011 04:51
3
ответа

Почему я должен перекомпилировать модуль ядра VMware после обновления ядра Linux?

После обновления ядра Linux мой сервер VMware не может запуститься до использования vmware-config.pl, чтобы сделать некоторую работу переконфигурации (включая сборку некоторые модули ядра). Если я обновляю свой хост окон VMWare с...
вопрос задан: 7 May 2009 02:04
2
ответа

Каковы соглашения о вызовах для системных вызовов UNIX & Linux на i386 и x86-64

Следующие ссылки объясняют x86-32 конвенции системного вызова для обоих UNIX (разновидность BSD) и Linux: http://www.int80h.org/bsdasm/#system-calls http://www.freebsd.org/doc/en/books/developers-handbook/x86-...
вопрос задан: 3 October 2017 03:03
2
ответа

GCC совместимость ABI

Насколько я понял, это не возможно к библиотекам ссылок, которые используют различные версии Двоичного интерфейса приложений (ABI) GCC. Там изменения ABI к каждой версии GCC? Действительно ли это возможно...
вопрос задан: 17 April 2011 17:06
1
ответ

Как интерпретировать @abc (01) в имени динамического символа файла в формате .so ELF?

У меня есть два очень похожих файла .so. Используя readelf --syms --wide, я получаю ... ... за первое: 631: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __cxa_guard_acquire@CXXABI_1.3 (18) ...
вопрос задан: 18 January 2019 08:50
1
ответ

Получение путает с соглашением о вызовах ABI и дугой

Я добираюсь, путают со всеми теми условиями: ABI, соглашение о вызовах и аппаратная архитектура. ABI является ссылкой с архитектурой: x86-64 имеют другой ABI, чем i386. Но затем Вы можете также...
вопрос задан: 12 August 2010 16:21
1
ответ

Почему был бы заголовок ELF общей библиотеки указывать Linux как OSABI?

Совместно использованные библиотеки всего стандарта по моей системе Linux (Fedora 9) указывают ELFOSABI_NONE (0) как их OSABI. Это прекрасно - однако я получил общую библиотеку от поставщика где данный OSABI...
вопрос задан: 7 January 2010 14:42
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
ответов

Что произойдет, если вы используете 32-битный int 0x80 Linux ABI в 64-битном коде?

int 0x80 в Linux всегда вызывает 32-битный ABI, независимо от того, из какого режима он вызывается: аргументы в ebx, ecx, ... и числа системных вызовов из /usr/include/asm/unistd_32.h. (Или вылетает на 64-битных ядрах ...
вопрос задан: 9 June 2019 15:40
0
ответов

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

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

Смешивать и сопоставлять Java-классы, скомпилированные для разных версий JVM?

Скомпилированный java-класс или jar предназначен для одной версии JVM (например, с помощью javac -target или < target > 1.x < / target > для плагина компилятора Maven). Если проект нацелен на одну версию JVM, но зависит ...
вопрос задан: 20 February 2019 23:29
0
ответов

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

Я знаю, что «неопределенное поведение» в C ++ может позволить компилятору делать все, что он захочет. Однако у меня произошел сбой, который удивил меня, так как я предположил, что код был достаточно безопасным. В этом ...
вопрос задан: 27 January 2019 16:52
0
ответов

Файл Parse ABI для получения подписи метода

У меня простая простейшая прагматическая грань Эфириума ^ 0.4.0; contract SampleContract {uint storageData; набор функций (uint x) {storageData = x; } function get () constant ...
вопрос задан: 13 July 2018 10:29
0
ответов

Совместимость ABI библиотек между версиями Visual Studio

У меня есть два сценария. Предположим, у меня есть 3 разделяемые библиотеки, экспортирующие символы C++, каждая из которых собрана в VS7.1, VS8 и VS9. Я компилирую все три в VS9. По какой-то причине это работает. Мне не нужно перекомпилировать ...
вопрос задан: 31 August 2017 18:17
0
ответов

Подвержены ли Native Interface (JNI) проблемы совместимости C ++ ABI?

Влияет ли C ++ на Native Interface (JNI) Java? Проблемы совместимости с ABI? Я разрабатываю приложение Java. Я хотел бы использовать собственный интерфейс Java (JNI) для вызова функций в C ++ ...
вопрос задан: 23 May 2017 12:14
0
ответов

Как избежать символов STT_GNU_IFUNC в вашем двоичном файле?

Мне нужно развернуть в Red Коробка Hat 4.1.2 (в которой есть gcc 4.1.2). Я использую GCC 4.6.1 в Ubuntu 11.10 для разработки. К сожалению, некоторые из двоичных файлов, которые создает мой процесс сборки, нельзя использовать на ...
вопрос задан: 23 May 2017 11:46
0
ответов

ARM to C calling convention, NEON registers to save

There is a similar post that covers regular registers. What about NEON registers. As far as I remember either top half or bottom half of registers have to be preserved across function calls. I can't ...
вопрос задан: 23 May 2017 10:29
0
ответов

Как указать компилятору сгенерировать псевдоним для виртуальной функции?

См. Этот вопрос в качестве основы. По сути, у меня есть следующее определение класса class MyClass {virtual int foo4 (double, int); }; Есть ли способ указать компилятору ...
вопрос задан: 23 May 2017 09:59
0
ответов

Разница между API и ABI

Я новичок в системном программировании Linux, и во время чтения я столкнулся с API и ABI Системное программирование Linux. Определение API: API определяет интерфейсы, с помощью которых одна часть программного обеспечения ...
вопрос задан: 23 September 2016 05:50
0
ответов

Каковы цели ARM ABI и EABI ?

Чем больше я смотрю на этот PDF-файл, тем меньше понимаю, что он означает. Также мне хотелось бы прокомментировать другие пункты 1 и 2.
вопрос задан: 7 June 2016 14:48