![]() |
|
Модераторы: PashaPash, Partizan |
![]()
|
|
||
|
| Fieral |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Друзей: 0; Групп: 0 Регистрация: 10.12.2007 Репутация: нет Всего: 1 |
Есть программа консольная на C++ (исходник), нужно вызвать её под C#, дать данные на съедение, получить результаты.
1)Как это можно сделать? 2) Стоит ли компилить C++ прогу в exe и вызывать из под C#? 3) Может есть смысл перегнать C++ в DLL и вызывать в C#? Как это сделать? 4) Может куда погуглить? Куда? Это сообщение отредактировал(а) Fieral - 24.3.2008, 21:48 -------------------- Если собака свернулась калачиком, значит будет дождь, а если сидит выпучив глаза, значит у неё запор. |
|||
|
||||
| Optimus |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 186 Друзей: 0; Групп: 0 Регистрация: 1.9.2007 Репутация: 1 Всего: 14 |
подключение DLL и поиск по форуму -------------------- "постановка задачи наполовину решает саму задачу" |
|||
|
||||
| Fieral |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Друзей: 0; Групп: 0 Регистрация: 10.12.2007 Репутация: нет Всего: 1 |
А как DLL-ку получить?
-------------------- Если собака свернулась калачиком, значит будет дождь, а если сидит выпучив глаза, значит у неё запор. |
|||
|
||||
| Optimus |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 186 Друзей: 0; Групп: 0 Регистрация: 1.9.2007 Репутация: 1 Всего: 14 |
-------------------- "постановка задачи наполовину решает саму задачу" |
|||
|
||||
| Fieral |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Друзей: 0; Групп: 0 Регистрация: 10.12.2007 Репутация: нет Всего: 1 |
Так......
Я создал проект Class Library в Visual Studio 2005 с именем Polinom. Скопировал туда все .cpp и .h файлы. Откомпилил успешно. Зашёл в Debug. там нашёл: app.res AssemblyInfo.obj BuildLog.htm mt.dep Polinom.dll.intermediate.manifest Polinom.obj Polinom.pch Stdafx.obj vc80.idb VC++ vc80.pdb а где DLL? -------------------- Если собака свернулась калачиком, значит будет дождь, а если сидит выпучив глаза, значит у неё запор. |
|||
|
||||
| marcusmae |
|
|||
![]() stravaganza ![]() ![]() Профиль Группа: Участник Сообщений: 874 Друзей: 1; Групп: 1 Регистрация: 26.3.2006 Репутация: 22 Всего: 39 |
А по ссылке, которую для Вас нашли, читали что написано? -------------------- ἀπὸ μηχανῆς θεός |
|||
|
||||
| Fieral |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Друзей: 0; Групп: 0 Регистрация: 10.12.2007 Репутация: нет Всего: 1 |
Хорошо, что понимается под фразой:
Если длл-ка не C++/CLI, то нужно: 1. добавить во все функции, которые планируется вызывать в др. проекте, модификаторы:код C++ extern "C" __declspec(dllexport) // дальше - тип возвр. значения и имя функции как обычно ? -------------------- Если собака свернулась калачиком, значит будет дождь, а если сидит выпучив глаза, значит у неё запор. |
|||
|
||||
| marcusmae |
|
|||
![]() stravaganza ![]() ![]() Профиль Группа: Участник Сообщений: 874 Друзей: 1; Групп: 1 Регистрация: 26.3.2006 Репутация: 22 Всего: 39 |
Fieral, понимается, что смысл создания длл состоит в том, что какие-то функции она экспортирует, то есть, грубо говоря, делает публичными к использованию теми, кто эту библиотеку получит. Если библиотека ничего не экспортирует, то её почти не существует (как у Вас и получилось).
Хм, кстати, по косвенным признакам (AssemblyInfo.obj) Вы создали C++ CLI Dynamic Link Library. Когда как при Вашей конструкции достаточно было бы создать Win32 Dynamic Link Library. Это немного разные вещи, да и Вам просто больше придётся разбираться.
Это сообщение отредактировал(а) marcusmae - 24.3.2008, 23:50 -------------------- ἀπὸ μηχανῆς θεός |
|||
|
||||
| Fieral |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Друзей: 0; Групп: 0 Регистрация: 10.12.2007 Репутация: нет Всего: 1 |
Кароче, я написал C# насадку на exe файл. Осталось выяснить как сделать чтоб окно консоли не выскакивало в процессе выполнения.
-------------------- Если собака свернулась калачиком, значит будет дождь, а если сидит выпучив глаза, значит у неё запор. |
|||
|
||||
| Fieral |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Друзей: 0; Групп: 0 Регистрация: 10.12.2007 Репутация: нет Всего: 1 |
p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
-------------------- Если собака свернулась калачиком, значит будет дождь, а если сидит выпучив глаза, значит у неё запор. |
|||
|
||||
|
||||
|
|
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Хостинг: Vingrad Hosting Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |
|