В C/C++ (в частности, я использую MSVS), в какой ситуации вам когда-нибудь нужно будет беспокоиться о том, чтобы определить соглашение о вызове для определения функции? Всегда ли они важны? Не соответствует ли вам возможность выбора оптимального соглашения при необходимости (например, fastcall и т. Д.).MS Visual C++: Когда вам следует заботиться об использовании соглашений о вызовах?
Возможно, мое понимание отсутствует, но я просто не вижу, когда их будет случай, когда программисту нужно будет заботиться о вещах, подобных порядку, который аргументы помещаются в стек и так далее. Я также не понимаю, почему оптимизация компилятора не сможет выбрать, какая схема лучше всего подходит для этой конкретной функции. Любые знания, которые могли бы мне дать, были бы замечательными. Благодаря!
Это чисто уродливое унаследованное из-за плохого дизайна Windows 1.0, которое было перенесено вперед без причины. До тех пор, пока вы используете правильные заголовки для получения прототипов для функций библиотеки, которые вы вызываете, вам не нужно тратить на это никаких усилий, кроме, может быть, при написании функций обратного вызова, которые необходимы для конкретного соглашения о вызовах. –
R, вы имеете в виду, что вызовы конвенций не важны для быстрого кода? – Mandrake