|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
|||||||||||
Чем отличается функция с __stdcall и без10.07.2015, 16:20. Показов 7863. Ответов 17
Метки нет (Все метки)
Что такое __stdcall? Прочитал на msdn ниче не ясно, чем отличается функция с __stdcall и без. Вот например код:
И еще в макросе заметил что он тоже добавляет эту штуку, от в этом макросе IMPLEMENT_DYNCREATE(CSpaceship,CCmdTarge t) Создается функция которая возвращает указатель на объект CSpaceship, вроде ее определение создается вида:
0
|
|||||||||||
| 10.07.2015, 16:20 | |
|
Ответы с готовыми решениями:
17
Чем отличается if от (?:) Чем отличается this от *this? |
|
19497 / 10102 / 2461
Регистрация: 30.01.2014
Сообщений: 17,808
|
|
| 10.07.2015, 16:24 | |
|
1
|
|
|
|
|
| 10.07.2015, 17:12 | |
|
На всякий случай: Реализация __stdcall, __cdecl
1
|
|
|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
|
| 10.07.2015, 18:20 [ТС] | |
|
Evg, DrOffset, Короче я так понял это типо для оптимизации используется и все. Можно за них не парится, типо низкоуровневая фигня на которую не стоит заморачиватся да?
0
|
|
|
19497 / 10102 / 2461
Регистрация: 30.01.2014
Сообщений: 17,808
|
||
| 10.07.2015, 18:21 | ||
|
Париться или нет - тебе решать. Мы свечку держать не сможем
0
|
||
|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
||||
| 10.07.2015, 18:38 [ТС] | ||||
Я так понял это не важно для разработки, это как бы конечный этап типо оптимизации, когда уже все будет готово, потом уже можно над этим позаморачиватся если нужно будет ![]() Добавлено через 1 минуту
0
|
||||
|
19497 / 10102 / 2461
Регистрация: 30.01.2014
Сообщений: 17,808
|
|
| 10.07.2015, 18:40 | |
|
0
|
|
|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
||||||
| 10.07.2015, 18:41 [ТС] | ||||||
|
__stdcall применяется к WinApi функциям, а мы что можем его и к любым функциям применять? От макрос IMPLEMENT_DYNCREATE(CSpaceship,CCmdTarge t) создает левую функцию - не винапи с __stdcall
0
|
||||||
|
19497 / 10102 / 2461
Регистрация: 30.01.2014
Сообщений: 17,808
|
||
| 10.07.2015, 18:50 | ||
|
Например, мы пользуемся WinAPI, например, есть некая API функция, которая принимает callback. И этот callback она ждет в соответствии с stdcall. Тогда функцию, которую мы делаем callback'ом, нужно обозначить как __stdcall, чтобы ее вызов внутри API функции был корректным. Добавлено через 2 минуты ninja2, классический пример - оконная процедура. Макрос CALLBACK - как раз разворачивается в __stdcall.
0
|
||
|
Модератор
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,863
|
|
| 10.07.2015, 18:58 | |
|
а еще когда дергаешь функции из dll
несоблюдение соглашений есть путь к краху программы в каком порядке передаются аргументы? несоблюдение приведет или к краху или к неправильному вычислению кто будет чистить стек, вызываемая функция или вызывающая,это точно крах
0
|
|
| 11.07.2015, 09:36 | |
|
Не по теме: DELDEL
0
|
|
| 11.07.2015, 09:43 | |
|
Не по теме: -=ЮрА=-, только собрался открывать картинку, что бы посмотреть, а Вы тут со своим "DELDEL":D
0
|
|
| 11.07.2015, 09:50 | |
|
0
|
|
|
Неэпический
|
||
| 11.07.2015, 09:55 | ||
|
-=ЮрА=-, ну почему же? Если показаны различия между разными соглашениями вызова, то вопрос ТС
Ну и хорошие статьи/примеры всегда интересно почитать :-) и не только ТС
0
|
||
|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
||
| 11.07.2015, 14:33 [ТС] | ||
0
|
||
|
9 / 9 / 5
Регистрация: 15.11.2011
Сообщений: 115
|
||
| 13.07.2015, 15:10 | ||
|
0
|
||
|
19497 / 10102 / 2461
Регистрация: 30.01.2014
Сообщений: 17,808
|
|
| 13.07.2015, 15:53 | |
|
0
|
|
| 13.07.2015, 15:53 | |
|
Помогаю со студенческими работами здесь
18
Чем new отличается от malloc? Чем C++ отличается от C++ Builder? Чем отличается С++ от Visual С++? Чем отличается ln , lg, и log ? Чем отличается istringstream от stringstream? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|