The OpenNET Project / Index page

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



"Выпуск Cygwin 3.5.0, GNU-окружения для Windows "
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Заметили полезную информацию ? Пожалуйста добавьте в FAQ на WIKI.
. "Выпуск Cygwin 3.5.0, GNU-окружения для Windows " +/
Сообщение от n00by (ok), 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.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Выпуск Cygwin 3.5.0, GNU-окружения для Windows , opennews, 01-Фев-24, 16:40  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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