Использование AMPL C ++ Apis для C? - PullRequest
0 голосов
/ 18 февраля 2019

Я искал API C, но нашел только API C ++, которые нельзя использовать внутри кода C.

Существуют ли API-интерфейсы C (не C ++ или C #) или другой способдля использования AMPL в коде C?

1 Ответ

0 голосов
/ 19 февраля 2019

Насколько я могу судить, CAM для AMPL отсутствует, поэтому лучше всего написать обертки на C ++ для задач, которые вы хотите выполнить, назначить им связи C (extern "C") и собрать их с помощью компилятора C ++.Сделано правильно, они будут вызываться из кода C.Однако код C не сможет обрабатывать объекты AMPL напрямую, поэтому вашим оберткам нужно будет выполнить какой-то маршалинг данных в обоих направлениях.

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

...