#c #visual-studio #dll #exe
#c #visual-studio #dll #exe
Вопрос:
В настоящее время я новичок в DLL. У меня есть проект vs2019, созданный с использованием следующего MPC (создать созданный проект), также он использует ACE TAO
в этих примерах MPC показан только экспортируемый класс или функция, а не точка входа main()
* Как экспортировать точку входа main() (ACE_TMAIN(int argc, ACE_TCHAR argv[])) с использованием MPC?
вот MPC — make project creater
Я провел некоторое исследование библиотек DLL и обнаружил, что в большинстве примеров есть класс, который определяет методы и экспортирует эти функции
Но здесь, в этих приложениях OpenDDS, у них есть функция точки входа *ACE_TMAIN(int argc, ACE_TCHAR argv[]) основная функция, которая не является классом. как создать DLL для такого проекта VS?
ACE_TMAIN(int argc, ACE_TCHAR *argv[])
{
// application
}
из MPC он определяет имя exe,
Мне нужна DLL для этого файла VS project, а не exe. DLL будет запускаться с использованием клиентского приложения (консольное приложение)
Как создать DLL из этого MPC или в VS?
Я попытался установить тип вывода в DLL, не сработало.
Комментарии:
1. Я полагаю, что вы могли бы упаковать весь проект VS в dll. Например, создайте dll.h и dll.cpp в проекте. Определите интерфейс start() в dll.cpp , затем скопируйте содержимое в main в start(), а затем установите выходные данные проекта как dll.
2. @Barrnet Chou затем скопируйте содержимое в main в start() вы имели в виду, что нам не нужен ACE_TMAIN(){} для запуска остальной части кода? какие функции являются основными () в этом коде? и я могу вызвать start() из моего консольного проекта c , включив эту DLL?
3. Согласно предоставленной информации, функция
ACE_TMAIN()
является функцией ввода. Итак, вы могли бы попробовать следовать обычной функции ввода. Конечно, вы также можете узнать о dllmain .4. @Barrnet Чоу, мой плохой…. Я не совсем уверен, является ли ACE_TMAIN() функцией ввода … поскольку он действует как main(), я предполагаю, что это функция ввода………
5. @Barrnet Chou здесь они вызывают ACE_TMAIN() в качестве функции ввода dre.vanderbilt.edu /~schmidt/DOC_ROOT/ACE/docs/…