MS Visual C ++: когда вам следует использовать соглашения о вызовах?

В C / C ++ (в частности, я использую MSVS), в какой ситуации можно когда-либо беспокоиться об указании соглашения о вызовах для определения функции? Они когда-нибудь важны? Разве соблюдаемый не может выбрать оптимальное соглашение при необходимости (например, быстрый вызов и т. Д.).

Может быть, мне не хватает понимания, но я просто не понимаю, когда может возникнуть ситуация, когда программисту нужно будет заботиться о таких вещах, как порядок, в котором аргументы помещаются в стек, и так далее. Я также не понимаю, почему оптимизация компилятора не может выбрать ту схему, которая лучше всего подходит для этой конкретной функции. Было бы здорово получить любые знания, которыми я мог бы поделиться. Спасибо!

8
задан Russel 24 January 2011 в 18:55
поделиться