Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/10: Рейтинг темы: голосов - 10, средняя оценка - 4.80
78 / 31 / 2
Регистрация: 03.08.2009
Сообщений: 70
1

Выбор компилятора по следующим критериям

03.08.2009, 21:29. Просмотров 2010. Ответов 14
Метки нет (Все метки)

Добрый день.
Прошу помочь с выбором компилятора по следующим критериям (сам не знаю что выбрать):
1. Необходимо создавать просты приложения для среды Windows, с главным требованием: время отклика системы на воздействие и скорость выполнения программы.
2. Необходимо создавать два типа приложений: консольные (как наиболее быстрые) и визуальные (желательно с хорошим помощником по коду - знаний по ООП - минимальные (фактически ноль). Есть опыт применения приложения на Билдере (писали мне под заказ)- отрицательный - скорость выполнения слабая (нельзя работать в псевдореальном времени - необходима задержка примерно 50-100 мс). Присматриваюсь с VC-8 (во первых русский, сейчас цена приемлемая, есть опыт работы с программами Microsoft - VB6), но здесь возникают еще несколько вопросов:
1) можно ли писать двоякие (смешанные приложения): в режиме отладки с применением визуализации .Net, окончательный вариант - чистая консоль (интерфейс не нужен - программы предназначены для Windows XP Embedded без монитора, мышки и клавиатуры - только кнопки и связь с МК). Т.е. программа изначально консольная - определяет есть монитор или нет, если есть - загружает модуль на Net для визуального интерфейса?
2) Основной опыт работы на языке "С" (для МК Atmel) - что мне полегче будет освоить: из языков Net технологий, при условии что необходимы поразрядные операции сдвига (умножение и деление занимает много времени), работы с отдельными битами, сборка объекта из байт (2 в 1 или 4 в 1 - для передачи double или int по RS232 от МК...).
3) Возможно ли компиляция программ Net в готовою сборку (по типу как VB6 - т.е. создается пакет с exe и всеми необходимыми библиотеками).
4) Обязательно для выполнения проектов с Net необходима Фраймворк? (полностью установленный).
3. Если ли помощник в VC (если писать в чистом С++) для ускорения написания простого кода (у нас весь интерфейс: это пару кнопок, окно с служебной информацией: что принято и сколько байт, состояние переключателей (приходят по RS232) и окно для просмотра полученных чисел (основное назначение программы получить,обработать (возможно алгоритмы ЦОС) и сохранить на диск. Я понимаю что лучше писать все самому - но для начала лучше если хоть какая та помощь будет.
4. Как уже говорил: есть опыт работы на С под МК и DOS - что наиболее быстро можно освоить? (Если два года изучать - а потом писать - это не есть хорошо - первую программу (не "Привет Мир" конечно), как я думаю надо написать уже через месяц под начало освоения).
5. Можно ли под компилятор на C++ писать на простом С: проще говоря я пишу мин. (или как я посмотрел создает сам компилятор болванку для консоли, а дальше я вставляю свои файлы на "С" - это возможно?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.08.2009, 21:29
Ответы с готовыми решениями:

Является ли строка целым числом и удовлетворяет следующим критериям
Незнаю че делать, чтобы программа работала правильно Для данной строки S. удостовериться,...

Предусмотреть вывод значений для полей элементов массива записей по следующим критериям
Предусмотреть вывод значений для полей элементов массива записей по следующим критериям: дата,...

Выбор по критериям
Помогите пожалуйста. Есть данные в таблице. Например дата, ФИО и возраст. Как выбрать (только на...

Выбор маршрутизатора по критериям
Здравствуйте, друзья. Никак не могу определиться с роутером, не знаюю где, кроме как здесь,...

14
12 / 12 / 5
Регистрация: 05.07.2009
Сообщений: 147
Записей в блоге: 1
03.08.2009, 21:41 2
поставь себе microsoft Visual Studio 2008 там все есть
0
Эксперт С++
7171 / 3229 / 77
Регистрация: 17.06.2009
Сообщений: 14,166
03.08.2009, 21:42 3
1. Необходимо создавать просты приложения для среды Windows, с главным требованием: время отклика системы на воздействие и скорость выполнения программы.
Как напишешь - так и будет.
отрицательный - скорость выполнения слабая (нельзя работать в псевдореальном времени - необходима задержка примерно 50-100 мс).
Если тебе нужны приложения реального времени, то думаю, что Windows тут вообще не годится.
Обязательно для выполнения проектов с Net необходима Фраймворк? (полностью установленный).
Насколько я понимаю - нужен установленный Dot.Net Framework.
Можно ли под компилятор на C++ писать на простом С: проще говоря я пишу мин. (или как я посмотрел создает сам компилятор болванку для консоли, а дальше я вставляю свои файлы на "С" - это возможно?
Можно писать на C.
Можно часть файлов сделать file.cpp, а часть файлов сделать file.c
И собрать из них одну программу.
В конце концов программа на C может почти без изменений работать в C++.
0
MCSD: APP BUILDER
8787 / 1065 / 104
Регистрация: 17.06.2006
Сообщений: 12,604
03.08.2009, 21:53 4
время отклика системы на воздействие и скорость выполнения программы.
Если время отклика неудовлетворительное, значит нужно купить более мощный процессор (потому что если даже ВВОД данных тормозит, это совсем печально никакой компилятор тебя не спасёт)

желательно с хорошим помощником по коду
это не задача компилятора, так что сие вряд ли...

нельзя работать в псевдореальном времени - необходима задержка примерно 50-100 мс)
Необходимо отказаться от платформы Windows/Unix и использовать операционную систему реального времени (VxWorks, Qnx, ...)

можно ли писать двоякие (смешанные приложения):
это не зависит от компилятора

что мне полегче будет освоить: из языков Net технологий, при условии что необходимы ...
Любой Си-подобный язык (C++, C#, ...)

Возможно ли компиляция программ Net в готовою сборку
Возможно

Обязательно для выполнения проектов с Net необходима Фраймворк?
Обязательно. Но иногда - нет

Если ли помощник в VC
Это как в МС оффисе, скрепка, которая дибильную лыбу давит ? :lol:

что принято и сколько байт, состояние переключателей (приходят по RS232)
нет. для этого существуют более другие средства.

Как уже говорил: есть опыт работы на С под МК и DOS - что наиболее быстро можно освоить?
DOS-знания можешь смело оставить на свалке истории

Можно ли под компилятор на C++ писать на простом С
можно
0
Evg
Эксперт CАвтор FAQ
21118 / 8134 / 628
Регистрация: 30.03.2009
Сообщений: 22,448
Записей в блоге: 30
03.08.2009, 22:12 5
> можно ли писать двоякие (смешанные приложения)

Можно. Пишешь отдельные компоненты, пишешь графический интерфейс, который эти компоненты дёргает, а потом пишешь консольный интерфейс, который дёргает эти компоненты. Сам понимаешь, что какая-то часть программы у тебя будет дублироваться, при этом работа графической программы НЕ означает, что консольная будет работать безошибочно.

Если критично время - .net сразу в печь, ибо это по сути дела интерпретация кода, а не native исполнение. Если приложение и впрямь realtime'овское, то windows, возможно, наихудший вариант для такой программы
0
78 / 31 / 2
Регистрация: 03.08.2009
Сообщений: 70
03.08.2009, 22:20  [ТС] 6
Цитата Сообщение от Rififi Посмотреть сообщение
время отклика системы на воздействие и скорость выполнения программы.
Если время отклика неудовлетворительное, значит нужно купить более мощный процессор (потому что если даже ВВОД данных тормозит, это совсем печально никакой компилятор тебя не спасёт)

желательно с хорошим помощником по коду
это не задача компилятора, так что сие вряд ли...

нельзя работать в псевдореальном времени - необходима задержка примерно 50-100 мс)
Необходимо отказаться от платформы Windows/Unix и использовать операционную систему реального времени (VxWorks, Qnx, ...)

можно ли писать двоякие (смешанные приложения):
это не зависит от компилятора

что мне полегче будет освоить: из языков Net технологий, при условии что необходимы ...
Любой Си-подобный язык (C++, C#, ...)

Возможно ли компиляция программ Net в готовою сборку
Возможно

Обязательно для выполнения проектов с Net необходима Фраймворк?
Обязательно. Но иногда - нет

Если ли помощник в VC
Это как в МС оффисе, скрепка, которая дибильную лыбу давит ? :lol:

что принято и сколько байт, состояние переключателей (приходят по RS232)
нет. для этого существуют более другие средства.

Как уже говорил: есть опыт работы на С под МК и DOS - что наиболее быстро можно освоить?
DOS-знания можешь смело оставить на свалке истории

Можно ли под компилятор на C++ писать на простом С
можно
По 1. ответу: сменить не могу (выбрал Advantec: а у него либо WinXp Embedded либо Linux Ebedded - выбрал его как мин. цена на промышленное оборудование). Сменить процессор: очень тяжело (цена за модуль возрастает резко). Приходиться работать фактически на Р2 - 500 Мгц.
2. По смешанным приложениям: как не зависит от компилятора? (или визуальную часть пишем как dll и при необходимости загружаем и запускаем? Просьба расшифровать ответ.
3. Нет скрепка не нужна, но помощник (хотя бы чтобы класс создал с описанием кнопки не помешал бы, да и предложил на выбор функции поведения элемента).
4. Готовая сборка под Net - что это будет?
5. Зря вы так с DOS - писал для него на С, очень помогла когда начел писать для МК (различия минимальны, особенно если ARM7 или ARM9). Как я понял все что я умею - не куда не готиться? (но работа с числами, масивами, строками, структурами в С++ сильно меняеться?)

Добавлено через 7 минут 19 секунд
Цитата Сообщение от Evg Посмотреть сообщение
> можно ли писать двоякие (смешанные приложения)

Можно. Пишешь отдельные компоненты, пишешь графический интерфейс, который эти компоненты дёргает, а потом пишешь консольный интерфейс, который дёргает эти компоненты. Сам понимаешь, что какая-то часть программы у тебя будет дублироваться, при этом работа графической программы НЕ означает, что консольная будет работать безошибочно.

Если критично время - .net сразу в печь, ибо это по сути дела интерпретация кода, а не native исполнение. Если приложение и впрямь realtime'овское, то windows, возможно, наихудший вариант для такой программы
Насчет Windows - не свосем правы. Кардинальное отличие Embedded из нее выкинули (т.е. сбока под себя) все лишнее - резко возрастает скорость и устойчивость. (За год - не одной ошибки!!! Эти бы технологии в просто XP... ). Применяю ОС фактически только для принятия данных, обработка данных минимальная и их сохранения на USB Flash или передачи по LAN, но объем данных большой (до 10-20 Гб), хотя скорость поступления не высокая (от 1кБ до 10 кБ в секунду тип double).
0
Эксперт С++
7171 / 3229 / 77
Регистрация: 17.06.2009
Сообщений: 14,166
03.08.2009, 22:23 7
(но работа с числами, масивами, строками, структурами в С++ сильно меняеться?)
Ты можешь писать как обычно на C.
А можешь изучить STL.
0
MCSD: APP BUILDER
8787 / 1065 / 104
Регистрация: 17.06.2006
Сообщений: 12,604
03.08.2009, 22:24 8
леонтий,
3. Нет скрепка не нужна, но помощник (хотя бы чтобы класс создал с описанием кнопки не помешал бы, да и предложил на выбор функции поведения элемента).
Мне такие утилиты неизвестны. Есть Visual Assist, он помогает, но не до такой степени как ты обрисовал.

4. Готовая сборка под Net - что это будет?
dll или exe-файл

5. Зря вы так с DOS - писал для него на С, очень помогла когда начел писать для МК
Просто в Windows всё по-другому, начиная с того, что используется защищенный режим процессоров i386+
Знания по системного программировании в dos (драйвера, прерывания, функции OS) тебе не пригодятся в мире windows. В 95/98 существовала поддержка VDD - Virtual Device Drivers, которые могли общаться с dos-программами и даже расширять их функциональность, но где щас 9x? Прально, всё мхом поросло...
0
229 / 67 / 11
Регистрация: 02.06.2009
Сообщений: 280
04.08.2009, 13:45 9
Покупай студию, под нее проджектов и рабочих мест больше.
0
1662 / 1131 / 80
Регистрация: 21.08.2008
Сообщений: 4,724
Записей в блоге: 1
04.08.2009, 13:50 10
по всем заявленным требованиям - любой компилятор подойдет
ЗЫ: интерпретатор С, если память не изменяет lua
0
78 / 31 / 2
Регистрация: 03.08.2009
Сообщений: 70
04.08.2009, 16:29  [ТС] 11
Как я правильно понял - помощников нет для VC нет (Visual Assist - посмотрел, это несколько не то, я же предпологал несколько другое: помощь в создании меню: (не совсем понятно почему для него нет визуального редактора для меню?), задание форм для диалогов (т.е. фактически будут или нет), и создание доп. форм. - т.е. в отличие от Net - самый примитив.

Заказал стандартную версию - как я понял в ней нет редактора ресурсов - чем можно заменить? (при невысокой цене и не меньшей функциональностью (лучше большей конечно).

И большая просьба - дайте ссылку на сравнение языков C++ и C# - что и для каких задач лучше (и что более ближе к ANSI "C" (по синтаксису естественно)).
0
229 / 67 / 11
Регистрация: 02.06.2009
Сообщений: 280
04.08.2009, 16:53 12
Цитата Сообщение от леонтий Посмотреть сообщение
Как я правильно понял - помощников нет для VC нет (Visual Assist - посмотрел, это несколько не то, я же предпологал несколько другое: помощь в создании меню: (не совсем понятно почему для него нет визуального редактора для меню?), задание форм для диалогов (т.е. фактически будут или нет), и создание доп. форм. - т.е. в отличие от Net - самый примитив.

Заказал стандартную версию - как я понял в ней нет редактора ресурсов - чем можно заменить? (при невысокой цене и не меньшей функциональностью (лучше большей конечно).

И большая просьба - дайте ссылку на сравнение языков C++ и C# - что и для каких задач лучше (и что более ближе к ANSI "C" (по синтаксису естественно)).
Visual studio 2008 professional имеет в себе все графические прибамбасы для создания диалогов, меню, иконок и т.п.

C# это совсем не с++ и не, тем более, С.
Он ближе к джаве.
0
78 / 31 / 2
Регистрация: 03.08.2009
Сообщений: 70
05.08.2009, 01:07  [ТС] 13
Спасибо за ответы.
Остановился пока на написании на С++ консольных приложений критичных по времени и на С++.Net - для графический (время особо не важно - пока не научись с MFC).
Скачал VC Exspress, MSDN и всякой литературы.
Вот примерно что планирую (как пробную задачу) и возникли вопросы:
Комплекс состоит из трех приложений:
1) Консольное. Обрабатывает по RS232 бинарные сообщения от GPS и по таймеру (раз 10 мин.) синхронизирует системное время: используются всего 3 класса + собст. код на С и ассемблере (Сразу вопрос: от кода на ассемблере быстродействие не измениться? может компилятор какую библиотеку начнет загружать???). Каким образом можно два числа типа double для внешних программ (один раз в час - координаты для второго приложения)
2) Консольное. Принимает данные по RS232 раз в 1 сек и записывает в выходной поток (в файл: структура - время начало, координаты, данные по строчно - одна строка 5 мс.).
3) Графическое. Отображает данные от 2 приложения. Как лучше всего это сделать: возможно ли из незакрытого файлы считывать данные? Можно ли передавать (в виде массива данные из консольного приложения в графическое или скажем через указатель на начало массива (можно ли организовать внешний массив - т.е. массив данных с которым могут работать любые приложения).
0
1662 / 1131 / 80
Регистрация: 21.08.2008
Сообщений: 4,724
Записей в блоге: 1
05.08.2009, 10:48 14
Цитата Сообщение от леонтий Посмотреть сообщение
от кода на ассемблере быстродействие не измениться? может компилятор какую библиотеку начнет загружать???).
смотря насколько прямо напишешь, загружать ничего не будет. Современные компиляторы очень хорошо оптимизируют C++ код, поэтому вставки на асм-е - пустая трата времени.

Цитата Сообщение от леонтий Посмотреть сообщение
Как лучше всего это сделать: возможно ли из незакрытого файлы считывать данные? Можно ли передавать (в виде массива данные из консольного приложения в графическое или скажем через указатель на начало массива (можно ли организовать внешний массив - т.е. массив данных с которым могут работать любые приложения).
про файлы: см. в MSDN Memory-Mapped Files
можно по TCP гонять данные, можно через СУБД, все зависит от нагрузки
0
MCSD: APP BUILDER
8787 / 1065 / 104
Регистрация: 17.06.2006
Сообщений: 12,604
05.08.2009, 11:07 15
3) Графическое. Отображает данные от 2 приложения. Как лучше всего это сделать
Посмотри здесь: http://msdn.microsoft.com/en-u... 85%29.aspx
обзор основных средств межпроцессорной коммуникации в Windows
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.08.2009, 11:07

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Выбор компилятора
в закрепленных темах указана литература, но там не указан компилятор и прочие ньюансы, я понимаю...

Выбор компилятора С++
Всем доброго времени суток.Такой вопрос:Какой компилятор или среду разработки взять для начала...

Выбор из таблицы по нескольким логическим критериям
Добрый вечер уважаемые гуру MS Access. У меня возникла проблема с формированием данных из таблицы с...

Выбор нужного круга по определенным критериям
Нужно выбрать подходящий круг из базы данных по следующим критериям: (Примерная структура...

Выбор конфигурации по критериям надежности и долговечности
12 лет работал на одном компьютере, за это время он ни разу не сломался, ни одной проблемы в...

Выбор оптимального решения по нескольким критериям
Есть несколько решений, каждое решение оценивается по 4 параметрам A, B, C, D. Причем A самый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.