|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.09.2013, 11:54 | #1 |
Новичок
Джуниор
Регистрация: 26.09.2013
Сообщений: 8
|
Подскажите пожалуйста направление развития
Здравствуйте! Товарищи, подскажите правильный путь, не хочется тратить годы жизни на освоение того что потом не понадобиться. Я немного умею программировать на чистом СИ. Сфера моих интересов - микроконтроллеры, обработка 3D-моделей на станках с чпу, связь станка с компьютером. Я столкнулся с проблемой подготовки модели к фрезеровке. Есть готовый софт для такой проверки (Меджикс) но меня не устраивает - нужно много ручной работы. Я придумал несколько новых алгоритмов проверки полигональных сеток. Я писал письма создателям этого софта, они даже обещали рассмотреть в будужем, но за 5 лет вышли несколько новых версий, а мои предложения канули в лету. Хочу сам попробовать реализовать обработку массива точек и векторов. В основном нужен поиск по шаблону, мне кажется это будет реально . Под винду я не писал ни разу, только под микроконтроллеры на чистом СИ, с технологией классов пока знаком смутно. Интерфейс мне не нужен, удовлетворюсь консольным приложением или самым убогим интерфейсом. Но нужно нагрузить четырёхядерный комп полностью. Модель содержит от полмиллиона до нескольких миллионов вершин. Все их нужно проверить. Я не уверен что консольное приложение может поддержать несколько процессоров. И ещё несколько вопросов:
1 технологии MFC, QT, API - как я понял это всё для создания красивых интерфейсов, если интерфейс не главное, а главное алгоритм, то можно это даже не узучать. 2 Можно ли писать под винду на чистом СИ? 3. Если сфера интересов связь компьютера и станка, стоит ли смотреть в сторону таких языков как C#, VB.NET. они проще чем С++, как мне показалось. Есть в них управление портами? или они только для веб-приложений хороши? 4 Стандартная библиотека содержит в себе готовые алгоритмы сортировки, усреднения и тому подобного? где программисты берут блоки готовых алгоритмов? Заранее благодарствую за совет |
26.09.2013, 12:16 | #2 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
1. MFC устарело, на сколько знаю. С чего бы интерефейс - это не главное? Если программа выглядит на скрине как первая поделка школьника, её даже даром никто не скачает, не то, что купит.
2. Можно на чем угодно писать под винду. Если уж писать на С, то думаю это изврат высшей степени. Для этого можно использовать С в квадрате, он и удобен и от С недалеко упал. На С пишется разве что очень низкий уровень типа драйверов ФС и прочего, хотя могу и ошибаться. Дело мастера боится. Хотите С? Пишите. 3. Эти хороши для всего. Да, там есть управление портами. 4. В интернетах, в MSDN, в исходниках других проектов, у других программистов, пишут сами, в фреймворках. |
26.09.2013, 12:45 | #3 |
Участник клуба
Регистрация: 04.04.2010
Сообщений: 1,554
|
да тонна софта написано на си. Почти весь юниксософт на сях.
|
26.09.2013, 13:26 | #4 | ||
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
Цитата:
Можно. Цитата:
Сам напишешь, не обломишься. |
||
26.09.2013, 19:01 | #5 | |
Новичок
Джуниор
Регистрация: 26.09.2013
Сообщений: 8
|
Цитата:
Про СИ я спрашивал потому что я его в чистом виде уже знаю, а вот всякие библиотеки типа STL, QT и WINAPI совсем не знаю. Чистый СИ достаточно понятный язык, он не сложнее бейсика, а вот С++ и особенно WINAPI - это страшный тёмный лес для новичка, я прочитал несколько книг и в голове осталась какая то каша. С++ он очень огромен - там есть решения на все случаи жизни. Просто я уже не студент и лично попробовать и понять разные языки наверное жизни не хватит, поэтому хочется откинуть те технологии которые лично мне не нужны. Я не говорю что они плохие - но для вас они основа вашей работы, а мне просто утилиток хочется написать под винду с простейшим убогим интерфейсом или просто консоль с батником. И ещё хочу спросить. Существует Windows Embedded а ещё существует расширение для обычной винды RTX от компании IntervalZero. Якобы это расширение делает винду операционкой реального времени. А можно внедрить RTX под Windows Embedded? Вообще для этих задач давно придумана специальная ось - QNX. Просто я не разу её не видел и по ней почти нет книжек как по винде. Поэтому хочется продумать решение на базе винды - так легче освоить |
|
26.09.2013, 20:17 | #6 | |
Ваш К. О.
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,799
|
Цитата:
В качестве конкретного примера хотел было посоветовать SlimFTPd, но он оказался на C++. Сам я на Delphi пишу, и навскидку ничего больше не вспомню. Скажем, есть еще и Far, и Miranda NG, но небольшой и несложной программой их язык не поворачивается назвать. Они тоже на C++. А одной строкой ликбез по Windows звучит так: "Оконная программа состоит из WinMain и цикла обработки сообщений". По-моему, Visual Studio генерит как раз такой пустой проект. Консольный ввод-вывод можно вообще через WinAPI расписать, в нем нет ничего сложного. |
|
27.09.2013, 07:55 | #7 |
Участник клуба
Регистрация: 04.04.2010
Сообщений: 1,554
|
Не удержался.
http://bartoszmilewski.com/2013/09/19/edward-chands/ |
27.09.2013, 08:18 | #8 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
Я не понимаю зачем для этой задачи нужен С++, winapi, винда реального времени и работа с чпу. Обычная консольная программа на си, которая на входе получает одно, на выходе даёт другое и потом уже это другое специализированным софтом заливать на чпу. это ж для себя, а не продажи для, поэтому главное функционал реализовать, а с этим будет проще на си в данной ситуации.
|
27.09.2013, 12:43 | #9 |
Новичок
Джуниор
Регистрация: 26.09.2013
Сообщений: 8
|
проблема вот в чём. Все станки основаны на такой идее, что есть шаговый двигатель и ходовой винт. Чётко известно сколько оборотов винта на сколько сдвинут каретку. Но это на теории, а на практике через некоторое время каретка и винты изнашиваются и станок начинает бракодельничать. Такие станки списывают на металл. Есть возможность выкупить подобный из чермета. Направляющие наплавляются и пришлифовываются, винт вытачивается самодельный, но про точность если честно после такого ремонта можно забыть. Ремонт должен делаться на спец предприятии, а не в гаражных условиях. У меня родилась идея - а что если отслеживать реальное положение рабочего инструмента в трёхмерном пространстве по меткам на нём. В этом случае на перекос каретки чхать. Но проблема в том, что такой объём расчётов нельзя сделать на микроконтроллерах, слишком большой объём. Есть спецоборудование но стоит безумных денег. Возникла мысль - а можно ли использовать обычный домашний комп с виндой. При каждом проходе он проверяет положение в режиме реального времени и вносит компенсацию в управляющую программу. Пока это только идея которая прорабатывается. Я вообще не уверен на 100% что это возможно. Знакомый програмист посмотрев на это сказал, что возможно, но нужно хорошо знать С++ и winapi. Я это апи уже полгода изучаю но пока что нахожу только там вызовы создания окон списков, один сплошной интерфейс. У меня вообще создалось впечатление что все вышеуказаные технологии - это всё ради интерфейса, и сам С++ это тоже ради кнопок. Я просто заблудился в этих технологиях.
|
27.09.2013, 12:52 | #10 |
Ваш К. О.
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,799
|
Раз уж тут стали приводить ссылки, не могу не упомянуть статью на Хабре: "Большой Калькулятор выходит из под контроля".
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подскажите пожалуйста | МаксMorfey | Общие вопросы по Java, Java SE, Kotlin | 1 | 11.10.2009 22:13 |
--==подскажите пожалуйста==-- | HAMMAN | Помощь студентам | 3 | 20.01.2007 20:50 |
подскажите, пожалуйста, | Lena2 | Microsoft Office Excel | 2 | 03.11.2006 17:38 |