Почему я должен установить сменный интерфейс в C++ вместо c

У меня есть приложение, которое работает так же к примеру Eran, кроме я присоединяю событие щелчка к телу, когда я открываю меню... Отчасти как это:

$('#menucontainer').click(function(event) {
  $('html').one('click',function() {
    // Hide the menus
  });

  event.stopPropagation();
});

[еще 114] информация о jQuery one() функция

6
задан Community 23 May 2017 в 11:47
поделиться

4 ответа

Хотя это больше о «как», чем о «почему», вас может заинтересовать библиотека (еще не) Boost.Extension , а также блог автора по этой теме.

Что касается части «почему», мои 2 (канадских) цента: это зависит от аудитории (авторов плагинов) и разнообразия интерфейса между вашим приложением и его плагины:

  • Если аудитория большая или неоднородная, ограничения системы плагинов C ++ (синхронизация стороны плагина и стороны приложения относительно версий компилятора и библиотеки) становятся непрактичными, а интерфейс C более удобен в обслуживании . Если аудитория небольшая, однородная или находится под вашим контролем, эти проблемы не столь значительны.
  • Если интерфейс богатый (размахивая рукой над точным значением "
6
ответ дан 9 December 2019 в 22:38
поделиться

Однажды я сделал на C ++ интерфейс плагина для разработанной мной системы, и это была большая ошибка. Возможно, но совсем не практично. Сегодня я всегда делаю интерфейс исключительно на C и настолько простым, насколько могу. Преимущества такого выбора действительно значительны. И если вашим разработчикам плагинов нужен C ++ API, вы можете просто написать оболочку C ++, которая вызывает интерфейс C.

В качестве дополнительного бонуса, если разработчикам плагинов нужен API на любом другом языке, C API всегда будет легче создавать привязки для.

4
ответ дан 9 December 2019 в 22:38
поделиться

В общем, разумно написать интерфейсы для некоторого стандарта интерфейса, на который можно положиться. Вот почему практически каждая ОС предоставляет такой интерфейс. В большинстве Unix компиляторы C используют то же соглашение, что и ОС, поэтому они называют это соглашением о вызовах C. В Windows для этой цели есть stdcall.

Если вы попытаетесь использовать какой-то внутренний интерфейс вызова компилятора, например, C ++, то вы станете жертвой всех упомянутых вами проблем. Даже обновления компилятора могут вас напугать.

1
ответ дан 9 December 2019 в 22:38
поделиться

Думаю, вы здесь отвечаете на свой вопрос. Ничто не мешает вам реализовать простой интерфейс плагина C и позволить разработчикам плагинов реализовать свой плагин на C ++. Просто попробуйте и извлеките уроки из ошибок, допущенных API подключаемого модуля Netscape ...

0
ответ дан 9 December 2019 в 22:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: