Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> С++ и С# 
V
    Опции темы
Mormishka
Дата 11.3.2011, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 236
Регистрация: 25.8.2010

Репутация: нет
Всего: нет



Как сделать программу которая совместно работают два языка? У меня программа на шарпе, хочу сделать вычислительную часть на C++. Как это можно сделать?
PM MAIL   Вверх
Gluttton
Дата 11.3.2011, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 2
Всего: 54



Mormishka, для этого необходимо создать Solution в который добавить два Project: один - C#, а второй - C++/CLI.
Затем в проекте на С++ необходимо создать класс реализующий методы реализующую вычислительную часть.
В проекте на C# при этом нужно добавить Reference на проект С++ и после этого, где это необходимо можно создавать классы написанные на С++ и вызывать их методы реализующие вычислительную часть.

P.S. На самом деле я не знаю ответа на вопрос, но философия .NET такова и это должно работать не только для связки C# + C++/CLI, но и для всех других возможных (например: VB + F#)...


--------------------
Слава Україні!
PM MAIL   Вверх
Mormishka
Дата 11.3.2011, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 236
Регистрация: 25.8.2010

Репутация: нет
Всего: нет



Спасибо, попробую.
PM MAIL   Вверх
Gluttton
Дата 11.3.2011, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 2
Всего: 54



Цитата(Mormishka @  11.3.2011,  18:15 Найти цитируемый пост)
Спасибо

Рано - сначала попробуй, а то вдруг я чего не того насоветовал  smile ...


--------------------
Слава Україні!
PM MAIL   Вверх
Fortnox
Дата 11.3.2011, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 373
Регистрация: 31.10.2008
Где: Ростов-на-Дону

Репутация: 2
Всего: 22



Никто также не мешает вам написать на c++ dll библиотеку. А потом при помощи P/Invoke использовать ее в .NET программах.
И маленький пример.

Это сообщение отредактировал(а) Fortnox - 11.3.2011, 20:54

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  Solution1.7z 3,37 Kb
PM MAIL   Вверх
jonie
Дата 11.3.2011, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 6
Всего: 118



или написать на C++ сделав COM класс, который и использовать через interop-ы


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
kemiisto
Дата 11.3.2011, 23:04 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Gluttton, я чего то не очень уловил смысла твоего совета. Я так понимаю ТС хочет что-то побыстрее посчитать. И чем по-твоему будет отличаться производительность C# и С++/CLI? Всё в итоге будет переведено в IL и запущено поверх CLR. У языков однотипная модель исполнения, производительность будет почти равная. И не факт, кстати, что С++/CLI будет быстрее.

Тут нужны чистые нативные незагаженные smile плюсики. И IPC в каком-либо виде (вышеупомянутый COM, например). Но я бы пошёл другим путём.

Если есть нужда в суровом number crunching'е, надо делать unix-way:
  • Консольная прилада на плюсиках (альтернативно - Фортран), принимающая на вход data.inp и возвращающая на выходе data.out. 
  • GUI прилада. На C#*. Умеющая генерировать data.inp, парсить data.out и что-то там рисовать-отображать. Опционально умеющая запускать консольную приладу.
Получится максимально портабельно и расширяемо. На взрослое будующее. Мало ли захотим посчитать на каком-нить *nix-кластере.

А COM - жёсткая привязка к платформе. Долой! smile 

*) Пока пусть будет на C#. Потом повзраслеем, поймём, что такое vendor locking, увидим Mono ... Я просто оставлю это здесь. smile 

Это сообщение отредактировал(а) kemiisto - 11.3.2011, 23:23


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Gluttton
Дата 11.3.2011, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 2
Всего: 54



kemiisto, отличный пост, но я думаю, что он больше ТС чем мне ;) .
Хотя я мне есть, что из него почерпнуть, но просто я не обременен требованиями производительности.

Цитата(kemiisto @  11.3.2011,  23:04 Найти цитируемый пост)
Тут нужны читсые нативные незагаженные  плюсики.

Да чего уж там - давай сразу на Asm'e (это пожалуй тоже больше ТС чем тебе).

Цитата(kemiisto @  11.3.2011,  23:04 Найти цитируемый пост)
увидим Mono

Что там с ним не так?


--------------------
Слава Україні!
PM MAIL   Вверх
kemiisto
Дата 11.3.2011, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(Gluttton @  11.3.2011,  21:28 Найти цитируемый пост)
Да чего уж там - давай сразу на Asm'e (это пожалуй тоже больше ТС чем тебе).

Не, асм тут непричём. Можно, конечно, и из C# повыжимать. Кешировать объекты (повторно использовать), поставив GC на голодный паёк. И многое в таком роде. Но смысла мало. К тому же под С++ и Fortran есть куча дооптимизированных до безумия библиотек для number crunching'а. А вот асм тут как раз никаким боком.

Кстати, на CLR от MS есть забавные ограничения. Например, невозможность создать массив, занимающий больше 2ГБ. А теперь посчитай сколько это будет будет элементов, какого-нибудь серьёзного типа данных. Например, плавабщих чисел с quadruple precision. Семечки.

Даже на x64, кстати, это ограничение. В Mono, вроде, нет. Насколько я помню. Так что серьёзный number crunching я бы рекомендовал запиливать на С++, Fortran. Ada можно ещё.

Цитата(Gluttton @  11.3.2011,  21:28 Найти цитируемый пост)
Что там с ним не так?

Сейчас основная претензия (если говорить о GUI) - ненативный интерфейс на второй по популярности десктоп-платформе. Набирающей популярность к тому же.


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Mormishka
Дата 12.3.2011, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 236
Регистрация: 25.8.2010

Репутация: нет
Всего: нет



kemiisto
Сначало у меня была программа на С++ консольная, я хотел, чтоб она записывала файл в двоичном виде. а читать на шарпе. Так вот на шарпе я не смог прочитать файлы записанные на С++.
http://forum.vingrad.ru/topic-322999.html
PM MAIL   Вверх
kemiisto
Дата 12.3.2011, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



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


--------------------
PM MAIL WWW GTalk Jabber   Вверх
A5uKa
  Дата 14.3.2011, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

Репутация: 3
Всего: 16



Кемисто, ты ведь не представляешь как работает C++ CLI
PM   Вверх
kemiisto
Дата 14.3.2011, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



A5uKa, у тебя проблемы с клавиатурой


--------------------
PM MAIL WWW GTalk Jabber   Вверх
A5uKa
Дата 14.3.2011, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

Репутация: 3
Всего: 16



Цитата(kemiisto @ 14.3.2011,  12:03)
A5uKa, у тебя проблемы с клавиатурой

                     ?
PM   Вверх
kemiisto
Дата 14.3.2011, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



A5uKa, тупишь чолэ? Я ж тебя и спрашиваю

Цитата(A5uKa @  14.3.2011,  09:42 Найти цитируемый пост)
Кемисто, ты ведь не представляешь как работает C++ CLI


что тут в конце предложения? Точка? Знак вопроса? Знак восклицания?

Теперь понятно?


--------------------
PM MAIL WWW GTalk Jabber   Вверх
KelTron
Дата 14.3.2011, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 8.10.2006
Где: Красноярск

Репутация: 11
Всего: 38



Цитата(kemiisto @  14.3.2011,  17:03 Найти цитируемый пост)
A5uKa, у тебя проблемы с клавиатурой

Цитата(kemiisto @  14.3.2011,  18:30 Найти цитируемый пост)
что тут в конце предложения? Точка? Знак вопроса? Знак восклицания?

В чужом глазу сучок видишь..



Это сообщение отредактировал(а) KelTron - 14.3.2011, 13:54


--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
kemiisto
Дата 14.3.2011, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(KelTron @  14.3.2011,  11:54 Найти цитируемый пост)
В чужом глазу сучок видишь..


KelTron, ой ё маё. Народ!!! Опомнитесь вы, ёп! Посмотрите на хронологию постов, вашу мать!

Я НАПИСАЛ СВОЙ ПОСТ С ПРЕДЛОЖЕНИЕМ БЕЗ ЗНАКА ПРЕПИНАНИЯ, ЧТОБ АСУКА ЗАДУМАЛАСЬ. НО ОН(А|О) НЕ ПОНЯЛ(А|О).

Эту планету спасут только массовые растрелы. smile 

В чужом глазу... Да ну вас...


--------------------
PM MAIL WWW GTalk Jabber   Вверх
A5uKa
Дата 14.3.2011, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

Репутация: 3
Всего: 16



Цитата(kemiisto @ 14.3.2011,  13:30)
A5uKa, тупишь чолэ? Я ж тебя и спрашиваю

Цитата(A5uKa @  14.3.2011,  09:42 Найти цитируемый пост)
Кемисто, ты ведь не представляешь как работает C++ CLI


что тут в конце предложения? Точка? Знак вопроса? Знак восклицания?

Теперь понятно?

да ...

Кемисто, ты ведь не представляешь как работает C++ CLI ?
PM   Вверх
kemiisto
Дата 14.3.2011, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(A5uKa @  14.3.2011,  13:46 Найти цитируемый пост)
Кемисто, ты ведь не представляешь как работает C++ CLI ?

Нет. Я писал сообщение на общих основаниях. Что-то не так?


--------------------
PM MAIL WWW GTalk Jabber   Вверх
A5uKa
  Дата 14.3.2011, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

Репутация: 3
Всего: 16



Цитата(kemiisto @ 14.3.2011,  15:47)
Цитата(A5uKa @  14.3.2011,  13:46 Найти цитируемый пост)
Кемисто, ты ведь не представляешь как работает C++ CLI ?

Нет. Я писал сообщение на общих основаниях. Что-то не так?

Мне просто кажется, что оно компилируется не так, как ты предположил.
PM   Вверх
kemiisto
Дата 14.3.2011, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(A5uKa @  14.3.2011,  13:48 Найти цитируемый пост)
Мне просто кажется, что оно компилируется не так, как ты предположил.

Ты тоже не знаешь? smile Беседа обещает быть содержательной.

Собственно, я утверждал лишь, что
Цитата(kemiisto @  11.3.2011,  21:04 Найти цитируемый пост)
Всё в итоге будет переведено в IL и запущено поверх CLR.

Оно ж CLI. И неважно что С++. Хоть Brainfuck. Там по спецификации Common Language Infrastructure (CLI), исходный код  должен компилится в Common Intermediate Language (CIL). Иначе это уже не С++/CLI.

А дальше - просто. Я не думаю, что в процессе копиляции в CIL С++ компилятор может задействовать какие-то хитрые оптимизации, которых не может задействовать C# компилятор. Я, скорее, склонен даже думать наоборот. Либо там оптимизаций будет по минимуму, либо больше для C#. Всё-таки ключевый язык платформы, куда более активно развиваемый и поддерживаемый.

А когда этот почти одинаковый CIL-код будет запущен Virtual Execution System (VES) разницы не будет.

Как то так. Мммм?


--------------------
PM MAIL WWW GTalk Jabber   Вверх
A5uKa
  Дата 14.3.2011, 16:27 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

Репутация: 3
Всего: 16



Цитата(kemiisto @ 14.3.2011,  16:08)
Как то так. Мммм?

Да ну не верится, что оно всё конвертирует в CLR.

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

В C++ CLI есть такой ref (ссылочный) класс 
http://www.williamspublishing.com/PDF/978-...1279-4/part.pdf

Как я понимаю лишь эта часть портируется в IL, а остальная инфокается, но могу ошибиться.
PM   Вверх
kemiisto
Дата 14.3.2011, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(A5uKa @  14.3.2011,  14:27 Найти цитируемый пост)
Да ну не верится, что оно всё конвертирует в CLR.

Таки да. C++/CLI compilers produce mixed-mode assemblies by default. Ошибался. smile 

Тут, например.

Всё равно, ИМХО, глупость. Опять-таки vendor locking. Mono не поддерживает. Что естественно из-за озвученной выше генерации mixed-mode assemblies.


--------------------
PM MAIL WWW GTalk Jabber   Вверх
A5uKa
Дата 14.3.2011, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

Репутация: 3
Всего: 16



Цитата(kemiisto @ 14.3.2011,  17:03)
Всё равно, ИМХО, глупость. Опять-таки vendor locking.

И vendor ориентированно , так же. 

Ты не замечаешь этих плюсов ?
PM   Вверх
Mormishka
Дата 14.3.2011, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 236
Регистрация: 25.8.2010

Репутация: нет
Всего: нет



Цитата(kemiisto @ 12.3.2011,  19:02)
Mormishka, а зачем писать в двоичный формат? Пишите в текстовый. Плюс получите возможность в будующем быструю автоматизацию запилить на каком-нибудь скриптовом языке.

Очень много данных, тогда весить будет много.
PM MAIL   Вверх
kemiisto
Дата 14.3.2011, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(A5uKa @  14.3.2011,  15:23 Найти цитируемый пост)
Ты не замечаешь этих плюсов ?

Каких "этих"? Возможность в идешечке добавить референс? Не смеши. .NET канет в лету лет через 5-6. MS меняет платформы как перчатки. Расскажи про "эти" плюсы тем, кто лет 10 назад "повёлся" на плюсы COM. Сейчас - сплошные минусы.

Писать на С++/CLI вычислительную задачу под одну платформу - верх идиотизма. К тому же выделение считалки в отдельное консольное имеет и другие преимущества. Я писал, повторяться не буду.


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Fitc
Дата 14.3.2011, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 30.1.2010

Репутация: нет
Всего: 4



Цитата(kemiisto @ 14.3.2011,  17:56)
... .NET канет в лету лет через 5-6. ...

Вы, батенька, пессимист!
PM MAIL   Вверх
wester
Дата 15.3.2011, 02:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: 3
Всего: 13



Цитата(Fitc @ 14.3.2011,  20:54)
Цитата(kemiisto @ 14.3.2011,  17:56)
... .NET канет в лету лет через 5-6. ...

Вы, батенька, пессимист!

да нет, оптимизм это и здравое мнение. 
вот сам сижу, пишу маленькую халтурку себе с помощью C# и думаю - "боже мой,  это ужасный синтаксис, совершенно не понятное управление памятью, простая компиляция которая скрывает многие параметры производительности". и это ужасно. Миллионы и миллионы людей ошиблись как и я. и мне их так же жалко, и и себя, ведь через 2-3 года надо переучиваться опять на какую - то диковинную штуку. Это ужасно и страшно.
PM MAIL   Вверх
A5uKa
Дата 15.3.2011, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

Репутация: 3
Всего: 16



Цитата(kemiisto @ 14.3.2011,  17:56)
Цитата(A5uKa @  14.3.2011,  15:23 Найти цитируемый пост)
Ты не замечаешь этих плюсов ?

Каких "этих"? Возможность в идешечке добавить референс? Не смеши. .NET канет в лету лет через 5-6. MS меняет платформы как перчатки. Расскажи про "эти" плюсы тем, кто лет 10 назад "повёлся" на плюсы COM. Сейчас - сплошные минусы.

Писать на С++/CLI вычислительную задачу под одну платформу - верх идиотизма. К тому же выделение считалки в отдельное консольное имеет и другие преимущества. Я писал, повторяться не буду.

А я скажу, что тут сочетается win api C++ , а это ещё долго не умрёт и самая передавая на текущий момент библиотека под Win, что определяет вполне правильный подход. Возможность увязать всё это с другими языками и технологиями, огромным числом их делает этот подход лучше любого другого.

А вот про Nokia Qt ещё вопрос. Nokia телефоны как извесно перешли на Win. И почему-то приложения там тоже писаные под Win , а не на хвалёной Qt.

Много-ли сейчас написано на Qt, кроме teamviewer-а и KDE ?

Кроссплатформенность нужна далеко не всегда. С этим надеюсь спора не будет, 
и в тех случаях жизнь не кончается на Qt, меня больше привлекают вот эти вещи 
http://stackoverflow.com/questions/470468/...ming-frameworks

Добавлено через 5 минут и 59 секунд
Цитата(wester @ 15.3.2011,  02:12)
ведь через 2-3 года надо переучиваться опять на какую - то диковинную штуку. Это ужасно и страшно.

2-3 года назад так же говорили

Добавлено через 6 минут и 36 секунд
да и естественно прийдётся учить что-то новое, это часть профессии.
PM   Вверх
borisbn
Дата 15.3.2011, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 1
Всего: 135



Цитата(Mormishka @  14.3.2011,  17:52 Найти цитируемый пост)
Очень много данных, тогда весить будет много.


Mormishka, подумай, а так ли правильно обмениваться между управляемым и неуправляемым кодом большим количеством данных ?
И всё же, я б посоветовал посмотреть на Unix-way, который тебе предложил kemiisto
Цитата(kemiisto @  11.3.2011,  23:04 Найти цитируемый пост)
Консольная прилада на плюсиках (альтернативно - Фортран), принимающая на вход data.inp и возвращающая на выходе data.out.
GUI прилада. На C#*. Умеющая генерировать data.inp, парсить data.out и что-то там рисовать-отображать. Опционально умеющая запускать консольную приладу.

но можно попробовать обойтись без файлов, а передавать данные через стандартный ввод/вывод. Не знаю как в венде, а в linux'е передача данных из одной программы в другую через стандартный ввод/вывод оптимизирована донельзя (вплоть до использования shared-memory).
Вот только не спрашивай меня, как на шарпе читать из stdout консольной программы. Я этого не знаю. А форум на 99,9(9)% знает smile


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
kemiisto
Дата 15.3.2011, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(A5uKa @  15.3.2011,  06:33 Найти цитируемый пост)
А я скажу, что тут сочетается win api C++ , а это ещё долго не умрёт и самая передавая на текущий момент библиотека под Win, что определяет вполне правильный подход.

Пьёшь на работе? Я не понял ничего. Во-первых, каким образом факт написания на С++, а не на С++/CLI отменяет возможность доступа к Win API? Во-вторых, зачем нужен этот доступ в числодробилке? В-третьих, если ты считаешь, Win API лучшей библиотекой, у меня для тебя плохие новости. Начнём с того, что это не библиотека. Лучшая - я даже комментировать не буду.

Если под лучшей библиотекой имелся ввиду .NET Framework, то логики вообще никакой. И опять-таки это не библиотека.

Цитата(A5uKa @  15.3.2011,  06:33 Найти цитируемый пост)
А вот про Nokia Qt ещё вопрос. Nokia телефоны как извесно перешли на Win. И почему-то приложения там тоже писаные под Win , а не на хвалёной Qt.

Nokia приобрела Qt с одной целью - ускорить портирование на свои мобильные девайсы. На десктопе к Qt всё было хорошо. И будет.

Цитата(A5uKa @  15.3.2011,  06:33 Найти цитируемый пост)
Много-ли сейчас написано на Qt, кроме teamviewer-а и KDE ?

Во-перых, много. Во-вторых, "кроме KDE" - спасибо, поржал. Ой, и кто бы говорил. Много ли написано на .NET? Haskell? F#?

Вот прямо сейчас. У меня стоит VLC Media Player, Avogadro, GaussView, KchmViewer, DjView Viewer. А что у меня написано на .NET? Эммм... Ничего? Нет, вру! 3RVX же. Но тупит жутко. Идём на сайт автора, читаем:
Цитата
I am currently rewriting 3RVX from scratch in C++ using the Windows API. The new version will be faster, smaller, and use less memory than the previous .NET version.

Вот, собственно, и всё, на что способен .NET.

Цитата(A5uKa @  15.3.2011,  06:33 Найти цитируемый пост)
Кроссплатформенность нужна далеко не всегда.

Цитата(kemiisto @  14.3.2011,  15:56 Найти цитируемый пост)
К тому же выделение считалки в отдельное консольное имеет и другие преимущества. Я писал, повторяться не буду.

Ты точно со мной разговариваешь?

Цитата(A5uKa @  15.3.2011,  06:33 Найти цитируемый пост)
2-3 года назад так же говорили

И так и случилось. WPF, WCF и прочая ересь. Просто, не стали переименовывать .NET Framework, чтоб не испугать массы.

Цитата(A5uKa @  15.3.2011,  06:33 Найти цитируемый пост)
да и естественно прийдётся учить что-то новое, это часть профессии.

Во-первых, это чушь. Во-вторых, ты уже третий десяток лет, я так понимаю, в профессии, чтобы такие выводы делать? Поговори со старшими, узнай. А правда в том, что это не часть никакой профессии. Даже Спольски про это писал. Это навязанное мнение. Ты всегда должен быть позади и догонять. Марионетка. Фи быть так(им|ой)! smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
kemiisto
Дата 15.3.2011, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(kemiisto @  15.3.2011,  08:38 Найти цитируемый пост)
У меня стоит VLC Media Player, Avogadro, GaussView, KchmViewer, DjView Viewer.

Устанавливаю Skype. smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
A5uKa
Дата 15.3.2011, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

Репутация: 3
Всего: 16



Ну не только WinAPI ))) Так же другие сишные библиотеки. Тут  я имею ввиду именно библиотеки ( windows.h и т д ) , уйма системных вещей написана на си, в том числе с плюсами.
Да, имеля ввиду .NET, да, не библиотека, но именно на нём на мой взгляд сейчас модно писать различного рода интерфейсы, формы, web...

На Haskell и F# написано действительно мало ) А вот про .NET ты так зря. Уйма коммерческого софта на продажу написана на .NET, это не для кого не секрет и число подобного софта растёт достаточно бысто. Да и серьёзных разработак достаточно много. Если смотреть не в сторону утилит, месседжеров и видеоплееров, а скажем современные игрушки, MSSQL и т д и т п.
PM   Вверх
kemiisto
Дата 16.3.2011, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(A5uKa @  15.3.2011,  10:05 Найти цитируемый пост)
Ну не только WinAPI ))) Так же другие сишные библиотеки. Тут  я имею ввиду именно библиотеки ( windows.h и т д ) , уйма системных вещей написана на си, в том числе с плюсами.

Я так и не понял. Где здесь аргумент за С++/CLI?

Цитата(A5uKa @  15.3.2011,  10:05 Найти цитируемый пост)
Да, имеля ввиду .NET, да, не библиотека, но именно на нём на мой взгляд сейчас модно писать различного рода интерфейсы, формы, web...

Ключевые слова выделены. Должен ли я говорить, что мода приходит и уходит?

Цитата(A5uKa @  15.3.2011,  10:05 Найти цитируемый пост)
Да и серьёзных разработак достаточно много. Если смотреть не в сторону утилит, месседжеров и видеоплееров, а скажем современные игрушки, MSSQL и т д и т п.

А на Qt прям мало. smile Зайди на сайт, посмотри.


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Mormishka
Дата 16.3.2011, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 236
Регистрация: 25.8.2010

Репутация: нет
Всего: нет



borisbn
Так я и имею ввиду unix-way. Создаю консольное приложение С++, которое принимает in.* выдает out.*. Этот процесс вычисления может и по 12 часов занимать.
 А под дот нет мне просто нужно смотреть данные out,графики и прочее.
PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.2993 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.