powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Функции c# и C++ обертки?
11 сообщений из 11, страница 1 из 1
Функции c# и C++ обертки?
    #39770804
Фотография Аниме Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В C# функции это обертки над низкоуровневыми Win 32 API(API)?
Например: MessageBox.Show над int MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT uType); и Registry.SetValue(keyName, "TestLong", 12345678901234, RegistryValueKind.QWord); над LSTATUS RegSetValueExA(HKEY hKey,LPCSTR lpValueName,DWORD Reserved,DWORD dwType,const BYTE *lpData,DWORD cbData);?

А C++ функции обернутые, напишите пример, а в заголовке Winreg.h функции это обертки над Win 32 API(API) или нет?

В c# все функции обертки? или какие то нет?напишите пример
В c++ напишите пример обернутых функций и своих


Модератор: Отредактировано
...
Рейтинг: 0 / 0
Функции c# и C++ обертки?
    #39770817
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аниме ЛюбительВ C# функции это обертки над низкоуровневыми Win 32 API(API)?

Не совсем так. Байтовый код, порождаемый C#, вообще не в состоянии вызывать нативные
функции. Вместо этого нативные функции вызывает рантайм, интерпретирующий этот код. Так
что в данном случае можно говорить скорее не об "обёртке", а об "эмуляции".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Функции c# и C++ обертки?
    #39770818
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аниме ЛюбительА C++ функции обернутые, напишите пример, а в заголовке Winreg.h функции это обертки
над Win 32 API(API) или нет?
В данном случае это тоже не "обёртки", а прямой вызов функций API.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Функции c# и C++ обертки?
    #39770819
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovБайтовый код, порождаемый C#, вообще не в состоянии вызывать нативные
функции. Вместо этого нативные функции вызывает рантайм, интерпретирующий этот код. Так
что в данном случае можно говорить скорее не об "обёртке", а об "эмуляции".

C# компилятор, там ничего не интерпретируется рантаймом.
Там компиляция сначала в ILasm "байткод", а во время работы при первом вызове метода компиляция в нативный код той платформы, под которой код исполняется.
...
Рейтинг: 0 / 0
Функции c# и C++ обертки?
    #39770822
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima Tво время работы при первом вызове метода компиляция в нативный код той платформы, под
которой код исполняется.

Ну да, то же самое делает, например, QEMU когда гостевая платформа отличается от хостовой.
Но можно ли при этом функции гостевой системы называть обёртками для функций хоста?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Функции c# и C++ обертки?
    #39770825
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аниме Любитель А C++ функции обернутые, напишите пример, а в заголовке Winreg.h функции это обертки над Win 32 API(API) или нет?
В Winreg.h прототип функции
Прототипом функции в языке Си или C++ называется объявление функции, не содержащее тела функции, но указывающее имя функции, арность, типы аргументов и возвращаемый тип данных.
Прототип используется на этапе компиляции для проверки типов и т.п., а во время выполнения вызывается непосредственно WinAPI функция.
...
Рейтинг: 0 / 0
Функции c# и C++ обертки?
    #39770827
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovDima Tво время работы при первом вызове метода компиляция в нативный код той платформы, под
которой код исполняется.

Ну да, то же самое делает, например, QEMU когда гостевая платформа отличается от хостовой.
Но можно ли при этом функции гостевой системы называть обёртками для функций хоста?

Нет. Тут двухшаговая компиляция. Первый шаг - платформонезависимый байткод.
Второй во время работы проги когда ты вызвал метод впервые - он компилируется в машинный код данной платформы (x86, x64, ARM), а при втором и последующих вызовах метода просто выполняется код, скомпилированный при первом вызове, т.е. накладные расходы на компиляцию только при первом вызове.
JIT-компиляция
...
Рейтинг: 0 / 0
Функции c# и C++ обертки?
    #39770856
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аниме Любитель, я отредактировал твоё сообщение оставив только суть вопросов.
...
Рейтинг: 0 / 0
Функции c# и C++ обертки?
    #39770859
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аниме Любитель В c# все функции обертки?
Не все
То что вызывается через p/invoke обёрток в стиле MessageBox.Show не требует
...
Рейтинг: 0 / 0
Функции c# и C++ обертки?
    #39770881
Фотография Аниме Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В winreg.h типа объявления функций WinAPI в не обернутом виде, а как чисто WinAPI, например MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT uType); и ссылается на динамическую библиотеку в системе(вроде user32.dll)?

Я правильно понял?

и p/invoke это типа использования api?
...
Рейтинг: 0 / 0
Функции c# и C++ обертки?
    #39772085
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В winreg.h типа объявления функций WinAPI в не обернутом виде, а как чисто WinAPI, например MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT uType); и ссылается на динамическую библиотеку в системе(вроде user32.dll)?

Я правильно понял?

Ну, да... и ?

и p/invoke это типа использования api?

Ну, использование, и что ?
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Функции c# и C++ обертки?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]