МихаилллJan. 21, 2019, 10:28 p.m.
Взаимодействие различных dll библиотек С++, C#, java
Добрый день.
Почему работая на С++, нельзя полноценно использовать dll , написанных на C#, java?
И почему используя другие языки, можно использовать dll , написанных на C++?
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.Do you like it? Share on social networks!
l
- legwerewh
- March 5, 2024, 2:04 p.m.
C++ - Test 005. Structures and Classes
- Result:91points,
- Rating points8
Last comments
Qt Linux - Lesson 001. Autorun Qt application under Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Qt WinAPI - Lesson 007. Working with ICMP Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Анатолий КононенкоFeb. 4, 2024, 10:50 p.m.
EVADec. 25, 2023, 7:30 a.m.
Boost - static linking in CMake project under Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
Qt/C++ - Lesson 056. Connecting the Boost library in Qt for MinGW and MSVC compilers Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
Now discuss on the forum
Как получить в массив значения из связанной модели? Спасибо, разобрался:))
AC
QML Обнулить значения SpinBox Доброго времени суток, не могу разобраться с обнулением значение SpinBox находящего в делегате. import QtQuickimport QtQuick.ControlsWindow { width: 640 height: 480 visible: tr…
Alexandru CodreanuJan. 19, 2024, 8:57 a.m.
BlinCTDec. 27, 2023, 5:57 a.m.
ДмитрийJan. 10, 2024, 1:18 a.m.
Evgenii LegotckoiDec. 12, 2023, 3:48 a.m.
Добрый день.
Потому, что C# и Java библиотеки внутри имеют байт-код, а не компилированные исходники в машинном коде, как в C++. Для их использования нужен JIT-компилятор, который на лету собирает эти исходники. В случае C# - это .NET, в случае Java - это Java-машина. В их среде и выполняется программный код. Нужно, чтобы программа на C++ имела в себе, например, Java-машину, что априори невозможно.
Тогда как библиотеки на C++ не требуют этих промежуточных прослоек для интерпретации кода. Поэтому их можно запускать из сред Java и C# в конце концов у них есть все необходимые привязки для этого.
Это тоже самое, что выполнять python и JavaScript код в среде C++. В любом случае требуется интерпретатор этих языков, написанный на C++, иначе вы код на этих языках в программе C++ не выполните. Тогда как для того же самого python нужно лишь правильно привязки к C++ написать. А это задачка попроще будет.
C++ более самодостаточен в этом плане, чтобы его библиотеки могли использовать другие более высокуровневые языки.
А для С++ еще никто не делал JIT-компилятор для других языков?
Никому это не нужно, плюс законодательные вопросы никто не отменял. Oracle уже давно с Google судятся из-за Java в Android.
Спасибо