Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

FileStream в консоли

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> FileStream в консоли
Имя
Сообщение << Старые топики   Новые топики >>
FileStream в консоли - 2009-05-17 02:50:20.076666   
Lost_boy

Сообщений: 327
Оценки: 0
Присоединился: 2009-03-25 11:07:27.910000
Доброй ночи)
В общем появился тут один вопрос, в моем консольном приложении я использовал FileStream, который в свою очередь потребовал добавления в программку таких строк:
using namespace System;
using namespace System::IO;
using namespace System::Text;

и все бы ничего, но программа компилируется только при условии, что в настройках проекта выставлено:
Common Language Runtime Support (/clr)

Так вот вопрос, вообще возможно в консоли использовать этот класс без подключения (/clr) или нет? Может оно в принципе без этого не будет работать?

Просто программа записывает в файл результаты, уже все готово, но вот проблема: если я оставлю в настройках (/clr), то я не знаю как сделать так чтоб программа работала на всех других Пк, где нет вижуал студии.
Нашел инфу, где написано: чтобы консоль работала на всех ПК необходимо в настройках выставить:
Runtime Library: Multi-threaded Debug (/MTd)
а оно не выставляется при включенном (/clr)
возможен только вариант:
Runtime Library: Multi-threaded Debug Dll (/MDd)
Как это все обойти? Или менять запись в файл и использовать fstream?
Post #: 1
RE: FileStream в консоли - 2009-05-17 02:54:26.056666   
Lost_boy

Сообщений: 327
Оценки: 0
Присоединился: 2009-03-25 11:07:27.910000
Пока отправлял сообщение сразу возник и другой вопрос)
Как винформовское приложение скомпилировать, чтобы оно работало на всех Пк?
Post #: 2
RE: FileStream в консоли - 2009-05-17 03:04:12.450000   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
CLR (Common Language Runtime) - это рантайм, необходимый для выполнения .Net-приложений. как только ты начинаешь использовать .Net - становишься завязан на CLR. даже если ты воспользуешься нативным компилятором .Net (не в MSIL, а в машкоды x86, например), без рантайма приложение работать не будет

на то, что ты будешь тягать рантайм с собой, .Net, вообще говоря, не расчитан
Post #: 3
RE: FileStream в консоли - 2009-05-17 09:55:10.150000   
Lost_boy

Сообщений: 327
Оценки: 0
Присоединился: 2009-03-25 11:07:27.910000
Я правильно понял?Если что поправьте:
при использовании FileStream я начинаю использовать .Net, поэтому необходима компиляция с рантайм сапортом, иначе не пашет.

Но
quote:

на то, что ты будешь тягать рантайм с собой, .Net, вообще говоря, не расчитан

т.е. можно обойтись без него, как?

От геморроя в консоли я избавился, использовал fstream и все пошло на ура. Но один вопрос так и остался как сделать так, чтоб winforms аппликэйшн работал на всех ПК, без предустановленной студии, я сомневаюсь что все должны ставить студию чтоб заработал аппликэйшн.
Post #: 4
RE: FileStream в консоли - 2009-05-17 14:14:35.663333   
Genco

Сообщений: 1662
Оценки: 90
Присоединился: 2007-12-16 23:11:22.003333
Даа,голимая такая проблема. 1) На другом компе должен быть установлен .Net, всмысле дистрибутивный пакет или как там его…2) можно как то хитро выставить настройки компилятора, но у меня лично не вышло(да,то что ты пробовал) 3) вместе с экзешником надо тогда таскать с собой пару длл-ок и манифест(те что приложение и использует) : раз ;; два , там линков топиках куча, поцени их
Post #: 5
RE: FileStream в консоли - 2009-05-17 15:05:06.100000   
Lost_boy

Сообщений: 327
Оценки: 0
Присоединился: 2009-03-25 11:07:27.910000
голова уже кругом идет от этого…
ставил на другую машину .Net Framework 2.0 и компилил свою с указнием этого же .Net Framework 2.0
но как и раньше вылетает еррор:
"Приложение не было запущено, поскольку оно не корректно настроено. Повторная установка приложения может решить данную проблему."
Как мне найти все эти кишки которые нужны программе и будет ли достаточно закинуть их в папку с программой или надо будет в настройках подключать?
Genco, я так понял ты тоже сталкивался с этой проблемой, как ты у себя решил ее?
Post #: 6
RE: FileStream в консоли - 2009-05-18 00:19:00.803333   
Genco

Сообщений: 1662
Оценки: 90
Присоединился: 2007-12-16 23:11:22.003333
Нее,только в папку. Там в папке Windows где то отделно была дотнетовская директория,из неё надо тащить. В св-вах проекта вообще было написано dependencies, поискать токо. Они могут немного отличаться, ты примерно по сути названия смотри. Мои нужные такие: x86_Microsoft.VC90.DebugMFC_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_2a62a75b.manifest , x86_Microsoft.VC90.MFC_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_a173767a.manifest , x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456.manifest , mfc90.dll , mfcm90.dll (мб mfc90u.dll , mfcm90u.dll ) , msv**90.dll Кста, самый верный способ проверить что надо - создать проект - установочник (виндовский инсталлятор) и добавить это всё. Лишнее он сам выкинет, там 1 манифест и 2 дллки рельно нужны.
Post #: 7
RE: FileStream в консоли - 2009-05-18 13:49:22.883333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Если пишете с использованием .NET и нужно распространять - то уж извольте таскать с собой родной инсталлятор с .NET, который проще всего на йти на сайте майкрософта.
Post #: 8
RE: FileStream в консоли - 2009-05-18 20:49:50.686666   
Genco

Сообщений: 1662
Оценки: 90
Присоединился: 2007-12-16 23:11:22.003333
Да это само собой, просто этого мало почему то, манифест ещё проге нужен, если файлы добавить то пашет, а то даже с установленным .NETом какая то лажа.
Post #: 9
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> FileStream в консоли







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.