Народ подскажите на чем нынче модно клепать .exe ?

Тема в разделе "Флудилка", создана пользователем issaom, 17 янв 2017.

  1. issaom

    issaom Гуру

    Не знаю ни каких других языков программирования кроме Delphi и VBA макросов для офиса - Delphi говорят уже практически каюк ? на чем сейчас модно (удобно) сейчас писать программы ? В чем можно делать готовые исполняемые файлы для Windows (область применения - общение с Arduino по ком. порту и.т.п. задачи) !?
     
  2. Unixon

    Unixon Оракул Модератор

    Вместо Delphi есть Lazarus (http://www.lazarus-ide.org/), а софт сейчас на чем только не пишут... попробуйте что ли Qt (https://www.qt.io/ru/), оно не только под Windows живет, но и практически на всем, что шевелится. Впрочем, если нужно преимущественно под Windows, то можно под платформу .Net писать (C#/MSVS), управляемый код нынче в моде. :)
     
  3. ostrov

    ostrov Гуру

    Visual Studio.
     
    Igor68 нравится это.
  4. Igor68

    Igor68 Гуру

    Qt... требует окружения соответствующего для запуска. .Net требует для запуска установленного framework.Net. VisualStudio кроме (C++/C#/MSVS) позволяет и многое другое... включая мобильные платформы, симулятор для которых он тянет с собой... ну и само собой компиляторы от тоже тащит с собой.
    Собственно вопрос(или просьба о помощи):
    Как вы делаете в C# используете указатель на данные... допустим при обращении к функциям DLL.
    Пример (для C++);
    cMRTUsCMD (
    4
    - адрес устройства
    3 - чтение регистров
    25 - начальый регистр
    1 - в количестве одного
    &rd - прочитать в указанное место
    0 - используем кадр 0
    1 - и при этом сервер будет непрерывно читать данные из этого регистра потом и без нас
    )
    В Си всё нормально, но как быть с &rd, а именно указать массив в C# куда функция длл-ки поместит принятые данные. Или без дополнительной функции в длл-ке, которая по одиночке с указанием номера в массиве будет читать данные из длл-ки.
    Спасибо заране!
     
  5. Unixon

    Unixon Оракул Модератор

    Не обязательно, можно статически собрать.

    Тут толком не подскажу, т.е. для своих задач C# не использую, но из общих соображений должен быть какой-то механизм аналогичный JNI для Java для связки управляемого кода и нативных библиотек.
     
  6. Unixon

    Unixon Оракул Модератор

  7. Igor68

    Igor68 Гуру

    Пока не понятно... но просматриваю...
    Конкретно (на пальцах) для моего случая:
    функция :
    //rd - массив в C# куда будут скопированы байты, size - количество байтов
    void Func(char * rd, int size)
    {
    memcpy(rd, &inbuf[0], size); //функция внутри dll копирует в массив C#
    }
    Не понятно что сделать в C# для предоставления массива, точнее указатель на него функции в длл-ке. Но... Читаю - точнее смотрю примеры. Проверить можно только завтра.

    Qt... требует окружения соответствующего для запуска.
    Не обязательно, можно статически собрать.
    Думаю всё-таки окружение... по аналогии с .Net. Имеется ввиду запуск на машине без Qt.
    Хотя спорить не имею интереса никакого - кесарю кесарево, богу божье.

    Спасибо за подсказку! - всё делаю в dll, а шкурку в C#!!!
     
  8. Unixon

    Unixon Оракул Модератор

    Нет, в этом смысле .Net правильно сравнивать с Java, для которой нужны JVM и JRE (для .Net это CLR и Framework). Собственно .Net и появился на свет, когда Microsoft решил в наглую скоммуниздить Java у ныне покойной Sun Microsystems и при этом не нарваться по крупному. Драка эта все же произошла, но позже, и уже между Google и Oracle, скупившему часть остатков Sun, когда Google не стал заморачиваться с #-языками и VM под них, а заменил JVM на самописный Dalvik, оставив всю остальную Java как есть и начал пилить на ней свой Android.

    Ну а Qt - это просто набор C++ библиотек (ну да, проект большой, есть и IDE и симуляторы мобилок), которые, как и wxWidgets и GTK и другие тулкиты, в скомпилированном виде связываются динамически (.dll) либо статически (.lib / .a) включаются в исполняемый файл. Т.е. вам в худшем случае нужно взять с собой буквально несколько dll, а то и вовсе один только исполняемый файл.

    Ну вот это не самое лучшее решение, вы так собрали все минусы от каждой из половинок + поимели головняк с интеграцией. Лучше монокультурное решение, или только то или только другое.
     
  9. ostrov

    ostrov Гуру

    Кстати, на том же процессинге можно склепать. Правда у него от рождения проблемы с вводом данных на экране, но есть надстройки решающие и это.
     
  10. Igor68

    Igor68 Гуру

    всё делаю в dll, а шкурку в C#!!!
    Ну вот это не самое лучшее решение, вы так собрали все минусы от каждой из половинок + поимели головняк с интеграцией. Лучше монокультурное решение, или только то или только другое.
    - Да если бы не потребность в быстрогенерируемом оконном интерфейсе то C# нужен как телеге пятое колесо! Если только в консоли - то необходимость существования C# вообще сомнительна (ну это только моё мнение). В QtCreator всё оказалось проще чем в VisualStudio... да и переполз уже с Windows на Linux и не только по религиозным убеждениям!
    - По поводу применения DLL - несколько отличных друг от друга проектов с применением для решения одной задачи... ну практически одной задачи... с одной dll удобно!
    - Мои "лишние слова" про компиляцию - не обращайте внимания... т.к. C# и JAVA - терплю... с трудом терплю! И если не потребность отображения параметров с картинками в Windows про C# вообще не знал бы. В Qt набор библиотек... да ими и решается практически всё... да как и в GTK. Лично я за QtCreator против VisualStudio с которго и начинал работу с GUI. Опять это моё мнение только... и для меня же.
     
  11. rkit

    rkit Гуру

    Для гуя и ком порта C# пойдет замечательно. Чего за разборки про dll развели - непонятно. К задаче это отношения не имеет.
     
    Igor68 нравится это.
  12. Igor68

    Igor68 Гуру

    Глубочайше прошу прощения!!! Спросили-ответил!
     
  13. Unixon

    Unixon Оракул Модератор

    Ну так они для того и придуманы :)
     
  14. Igor68

    Igor68 Гуру

    Сейча планирую QtCreator под Windows... Поясните ваш опыт по фразе Не обязательно, можно статически собрать. Очень надо!!! Надо, чтоб запускалось на машинах с Windows, но без QT окружения. Вы меня обнадёжили в данной теме... сразу уйду от C# и VisualStudio по ненадобности!!!
    С Глубоким Уважением!
    Спасибо!
     
  15. ostrov

    ostrov Гуру

    Processing еще делает выполняемые программы, правда иной раз целая папка получается, а зависимости от конфигурации винды. Да и сама среда своеобразная, но красивости можно делать довольно легко.
     
  16. Arkad_snz

    Arkad_snz Гик

    Я делал сборщик данных с Ардуинки, и засылку их в удаленный сервер БД на Visual.
    Все работало.
    Данные потом просматривал удаленно через Веб-интерфейс.
    Дома данные собираются, и копятся в БД, а я из конторы вижу как там оно.
     
  17. Unixon

    Unixon Оракул Модератор

    Можно слинковаться со статическими библиотеками Qt, тогда они будут внутри исполняемого файла. Обычно в дистрибутиве собраны только динамические библиотеки, поэтому вполне вероятно, что придется перекомпилировать сам Qt.
     
    Igor68 нравится это.
  18. Igor68

    Igor68 Гуру

    Наткнулся на эту тему... на хабре... и не только, только не испытал. Если будет удачно уйду из VisualStudio... возможно навсегда. Ну если только не потребуется только на нём. Радует (думаю, что радует), что избавлюсь от C# (пользую его исключительно для GUI) навсегда!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!:):):):):):):):):):):)
     
  19. Максимус-Бог

    Максимус-Бог Убийца матрёшек

    Почему бы не использовать C++ (CLI) с .Net и не мучиться с интеграцией или полностью перейти на Qt.

    Я использую C# .NET, но когда наберусь опыта и чего-то ещё :) переду на C++ и чистый Си, что бы избавиться от привязанности к определённой платформе.
     
    Igor68 нравится это.
  20. Максимус-Бог

    Максимус-Бог Убийца матрёшек

    Но C#, по моему мнению, используют для простых приложений WinForms и для игровых движков, как Unity.

    WPF, ASP.NET и т.д. реже.