The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск Cygwin 3.5.0, GNU-окружения для Windows "
Отправлено n00by, 05-Фев-24 16:42 
>> в 32-х разрядной Windows была stdcall
> а в 64 битной по-другому? ясно понятно )))))))

Да как бы не до смеху. Набрать в поисковике "windows 64 calling convention" и прочитать

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).

В fastcall использовались первые два регистра из списка. В __stdcall всё идёт через стек.

> #define WINAPI      __stdcall

Это откуда и к чему?

>> То есть mmap() можно реализовать в заголовочном файле как inline функцию или макрос
> это не означает, что не будет таких функций которые нельзя заинлайнить через
> макрос и им не нужна библиотека

Я вот реально не пойму, что тут написано. Какая библиотека? Вот реализация стандартной библиотеки плюсов (в т.ч. включает и сишную) https://github.com/icestudent/ontl практически всё header-only, которой нужна только ntdll.dll. Так же возможно и POSIX туда добавить.

> A header file is a file with extension .h contains C function
> declarations and macro definitions.
> Все что не макрос (константа и бла бла бла), то декларация экспортируемой
> функции библиотеки, для которой этот хидер файл написан. Азы сей... нах
> это жевать?

И я не знаю, зачем жевать азы, когда есть стандарт. Там, внезапно, не обнаруживается определение термина "header file". Есть понятие единица трансляции, и директива #include может включать в неё что угодно, лишь бы препроцессор прожевал:

6.10.2 Source file inclusion

Constraints

1 A #include directive shall identify a header or source file that can be processed by the implementation.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, [email protected] (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру