Форум на PC Mania
https://forum.pcmania.bg/phpbb3/

Как да си направя С# програмата съвместима с по-стари машини
https://forum.pcmania.bg/phpbb3/viewtopic.php?f=2&t=53394
Страница 1 от 1

Автор:  Dumbaldor [ 21 Апр 2008 00:51 ]
Заглавие:  Re: Как да си направя С# програмата съвместима с по-стари машини

И мен ме интересува това как става и ще се радвам някой да отговори. Знам че има междинен език IL, който се подържа от всички .NET езици и примерно ако успеем някак си да я отворим сорса през C++ и компилираме, то едва ли ще иска NET Framework.

Автор:  Морт [ 21 Апр 2008 01:26 ]
Заглавие:  Re: Как да си направя С# програмата съвместима с по-стари машини

Dumbaldor, писал ли си някакъв код някога? Какво значи да "отворим сорса през С++ и компилираме"?

@High Contrast
Ако ти е толкова прост кода защо не го напишеш на С/С++?
Но явно трябва да е С#. На какво го компилираш? Visual Studio, най-вероятно? Оправи си building environment-a. Ако сам линкваш кода (силно се съмнявам) с конзолните инструменти ще трябва да се поровиш из параметрите (жалко, че няма man еквивалент в Windows).

Автор:  Dumbaldor [ 21 Апр 2008 12:38 ]
Заглавие:  Re: Как да си направя С# програмата съвместима с по-стари машини

Ми поне доколкото аз ги разбирам нещата. Нали пишеш код на C#. Той се превръща в IL ( код от по-ниско ниво ), който е съвместим със C++. Е не може ли да превърнем същия този IL от ниско ниво в код от по-високо примерно C++ код ??? ( говорим за NET езиците ). PLS поправи ме ако греша някъде.

Всъщност мисля че се сещам къде греша. Нямаме контрол върху IL кода ( не може да го отворим или да го променим, освен през C#, C++ и т.н. ) или/и пък не можем да превърнем този IL код обратно в код на даден език.

Автор:  Sentry [ 21 Апр 2008 14:31 ]
Заглавие:  Re: Как да си направя С# програмата съвместима с по-стари машини

High_voltage, можеш да опиташ да компилираш програмата на по-стар framework и я компилирай там. Така би трябвало да тръгва навсякъде.(просто решение, обикновено back support-a е по-добър от up support-a)

Dumbaldor, тъй като C# се компилира до байткод, който след това се докомпилира до машинен код, който след това не можеш да декомпилираш, или всъщност ако можеш ще получиш манджа с грозде от неща, които са ти непонятни(тъй като всичките библиотеки и дефиниции на променливи и класове ще бъдат написани на място на най-ниско ниво).

Автор:  Dumbaldor [ 21 Апр 2008 16:23 ]
Заглавие:  Re: Как да си направя С# програмата съвместима с по-стари машини

Ахам, мерси за разяснението Sentry.

Автор:  ivanatora [ 21 Апр 2008 20:33 ]
Заглавие:  Re: Как да си направя С# програмата съвместима с по-стари машини

Средата няма ли опция за статично свързване на библиотеките? :icq21:

Автор:  ivanatora [ 22 Апр 2008 15:53 ]
Заглавие:  Re: Как да си направя С# програмата съвместима с по-стари машини

В тази връзка и аз да се оплача - Visual Studio 6.0 Standart Edition не може да билдва рилийз версии със статично свързана MFC библиотека. Единствената опция е програмата да се разпространява със shared DLL за MFC-тата. Та, някой да има high-speed линк за някой нормален едишън на 6.0 който да може да билдва със статично свързване на MFC? ;)

@High-voltage: неее, как така без С? Не може без С! Спри се с графичните шарении и седни да отделиш ден-два-три-месец на С-то! Иначе ще се биеш по главата.

Автор:  ТРУПОНАРЕЗЕНинс [ 22 Апр 2008 17:46 ]
Заглавие:  Re: Как да си направя С# програмата съвместима с по-стари машини

РЕСПЕКТ! на всички писали в темата,
но особено на иванатора!

Респект,
карате ме да се пуяча, че пребивавам на местенце, с толко` ерудирани в IT готини копелета :!:

Автор:  Sentry [ 22 Апр 2008 18:00 ]
Заглавие:  Re: Как да си направя С# програмата съвместима с по-стари машини

Високоволтажен, това, което ти казах, всъщност е много просто - изтегли си примерно Visual Studio .net 2002 и го компилирай там. Така ще ти бачка и на по-стари и на по-нови версии на framework-a.

ivanatora, ако това не стане, нищо няма да стане.

Автор:  Морт [ 22 Апр 2008 19:26 ]
Заглавие:  Re: Как да си направя С# програмата съвместима с по-стари машини

Напуснах работа, така че вече не работя с Microsoft продукти, а и тогава винаги съм работил с последните налични stable (доколкото може да се каже такова нещо за М$ продукт) версии, така че не мога да ти кажа конкретно при Microsoft как е, но съм сигурен, че нейде из настройките на Project-а има конфигурация за коя версия на framework-a e. Виждал съм я когато мъчих да напиша един особено корав Windows service.
В app.config (след като си решил да пишеш С# е хубаво да видиш какво е това, ако не знаеш) можеш конкретно да упоменеш с коя версия на Framework-a се очаква да работи.

П.С. Не мога да се сдържа да ти предложа алтернатива на С#. А именно QT. Toolkit за писане на (графични) приложения с малко добавки, които го правят наистина атрактивен и удобен. Мултиплатформен е, тоест ако не ползваш силноспецифични за платформата (Win32/Linux/Mac OS/BSD) неща приложението ти ще върви навсякъде. С него се пишат много голяма част от линукс приложенията, гугъл го ползват за доста софтуер, skype и час от последния Photoshop също.

До голяма степен е по-удобно за писане на него, поне за мен де, а все пак съм Microsoft Certified Technology Specialist по .NET Framework 2.0, така че не е гол флейм.

Автор:  ivanatora [ 23 Апр 2008 00:08 ]
Заглавие:  Re: Как да си направя С# програмата съвместима с по-стари машини

ТРУПОНАРЕЗЕНинс написа:
РЕСПЕКТ! на всички писали в темата,
но особено на иванатора!

И аз се радвам да те видя :D
@Sentry, торента се сваля. Не знам как ми е убягнало, понеже оня кирлив стандарт едишън е свален баш от замундата... преди две седмици.

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ Лятно време ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/