У меня нет личного опыта написания внешнего кода, который будет вызывать LabVIEW, но из базы знаний NI : «Когда предоставляется выбор, DLL - это выбор».
Преимущества, которые они перечисляют, включают:
- Многие процессы могут совместно использовать одну копию DLL в памяти
- Многие приложения могут совместно использовать одну копию DLL на диске
- Изменение функций в DLL не требует перекомпиляции вызывающего приложения
- Для создания CIN поддерживаются только определенные (устаревшие?) Среды разработки.
Потенциальные недостатки DLL:
- Первые два пункта в списке выше; -)
- При сборке приложения из LabVIEW
- Код CIN может быть независимым от платформы, в то время как библиотеки DLL / разделяемые библиотеки могут нуждаться в переписывании для каждой платформы.
Я почти уверен, что каждый раз, когда я видел это обсуждение в течение нескольких лет после списков и форумов LabVIEW, совет был один и тот же: CIN устарели, используйте DLL - просто осознайте потенциальные проблемы, которые они могут вызвать.