Помимо C++, , у каких не игрушечных языков есть прямая или простая в использовании совместимость с C? Как в «Я могу взять библиотеку C там и скомпилировать свой код против него, не имея необходимости находить, писать или настраивать какую-то оболочку».Языки с прямой C compatibilty
Я знаю, что многие языки имеют совместимость с C посредством внешней связи или привязки (Я использую привязки в Java, Ruby, Python и т. Д., Поэтому я знаю, что это можно сделать). Но вы полагаетесь на кого-то (возможно, на вас), чтобы писать и поддерживать привязку для всех библиотек, которые вы хотите использовать, а привязка должна работать на всех платформах и т. Д.
Сделайте более выразительные языки, чем C++, эта особенность?
Благодарим всех за упоминания о свинге или связанных с ними инструментах для создания обертки. Я знаю, что они существуют, но я не думаю, что они действительно такие же простые, как интеграция C-> C++ ... но тогда интеграция с C могла бы быть единственной, что проще в C++;))
Доступ к библиотекам C (особенно старым, которые никогда не предназначались для C++), возможно, совсем не «прямодоступен и прост в использовании из C++», так как вы должны убедиться, что у вас есть C++-защитники, выполняющие extern «C», чтобы предотвратить проблемы с изменением имени , Как правило, вы также столкнетесь с более эстетическими проблемами из-за разных практик использования типов указателей и т. Д. Я не думаю, что вы найдете язык, более совместимый с C, чем Objective C. – Fredrik
@phtrivier, учитывая вашу новую заметку, d say Ada все равно сделает это с помощью импорта прагмы. Просто прямо подпрыгивая между кодом Ada и кодом C. Нет необходимости в оболочках, если ваш C-код не использует указатели на функции. –