Неуправляемые возможности
От: Ka3a4oK  
Дата: 05.05.11 06:08
Оценка:
Будет ли сабж в Nemerle. И насколько трудоемко его реализовать.
Re: Неуправляемые возможности
От: _nn_ www.nemerleweb.com
Дата: 05.05.11 08:20
Оценка:
Здравствуйте, Ka3a4oK, Вы писали:

KK>Будет ли сабж в Nemerle. И насколько трудоемко его реализовать.


Это про unsafe ?

Ну вот некоторый вещи как fixed можно реализовать макросом.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[2]: Неуправляемые возможности
От: Ka3a4oK  
Дата: 05.05.11 09:16
Оценка:
Здравствуйте, _nn_, Вы писали:

__>Здравствуйте, Ka3a4oK, Вы писали:


KK>>Будет ли сабж в Nemerle. И насколько трудоемко его реализовать.


__>Это про unsafe ?


__>Ну вот некоторый вещи как fixed можно реализовать макросом.


А указатели тоже можно?
Re[3]: Неуправляемые возможности
От: hardcase Пират http://nemerle.org
Дата: 05.05.11 09:19
Оценка:
Здравствуйте, Ka3a4oK, Вы писали:

KK>А указатели тоже можно?


Нет. Но если тебе действительно нужны указатели, видимо пора на C++/CLI переходить.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[4]: Неуправляемые возможности
От: Ka3a4oK  
Дата: 05.05.11 10:03
Оценка:
Здравствуйте, hardcase, Вы писали:

H>Здравствуйте, Ka3a4oK, Вы писали:


KK>>А указатели тоже можно?


H>Нет. Но если тебе действительно нужны указатели, видимо пора на C++/CLI переходить.


Они мне нужны сильно локально. Для поддержки старого кода. Можно конечно написать прослойку на C шарп, а потом подключить сборку к коду на Немерле, но это не камельфо.
Re[5]: Неуправляемые возможности
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.05.11 14:48
Оценка:
Здравствуйте, Ka3a4oK, Вы писали:

H>>Нет. Но если тебе действительно нужны указатели, видимо пора на C++/CLI переходить.


KK>Они мне нужны сильно локально. Для поддержки старого кода. Можно конечно написать прослойку на C шарп, а потом подключить сборку к коду на Немерле, но это не камельфо.


Лучше написать ее на C++/CLI.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Неуправляемые возможности
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.05.11 14:50
Оценка:
Здравствуйте, Ka3a4oK, Вы писали:

KK>Будет ли сабж в Nemerle. И насколько трудоемко его реализовать.


В языке ансэйфа не будет. В 2.0 планируется сделать более широкие возможности на уровне макросов. Скорее всего ансэйф можно будет получить в C#-коде расположеном в том же проекте.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Неуправляемые возможности
От: Ka3a4oK  
Дата: 05.05.11 19:41
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Ka3a4oK, Вы писали:


KK>>Будет ли сабж в Nemerle. И насколько трудоемко его реализовать.


VD>В языке ансэйфа не будет.

Не будет вообще? Это какая-то принципиальная позиция. Или ансейф будет реализован на макросах?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Re[6]: Неуправляемые возможности
От: BogdanMart Украина  
Дата: 05.05.11 19:43
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>Лучше написать ее на C++/CLI.


А чем шарп не нравиться? (С++ управляемый всеровно затачиваеться под архитектуру, а ансейф С# и под 32 и под 64 пашет одинаково)
Re[2]: Неуправляемые возможности
От: BogdanMart Украина  
Дата: 05.05.11 19:44
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>В языке ансэйфа не будет. В 2.0 планируется сделать более широкие возможности на уровне макросов. Скорее всего ансэйф можно будет получить в C#-коде расположеном в том же проекте.


Если бы запилить поддержку net-модулей...
Re[7]: Неуправляемые возможности
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.05.11 21:11
Оценка:
Здравствуйте, BogdanMart, Вы писали:

VD>>Лучше написать ее на C++/CLI.


BM>А чем шарп не нравиться?


Нравится, но не для массивного интеропа. Если пошли указатели, то шарп уже не лучший выбор. В общем, если прокатывает шарп без ансэйфа, то это неплохой выбор. Если нужен ансэф, то C++/CLI (скорее всего) подойдет лучше. А если нужно С++-ный проект к дотрету прикрутить, то C++/CLI лучший выбор.

BM>(С++ управляемый всеровно затачиваеться под архитектуру, а ансейф С# и под 32 и под 64 пашет одинаково)


Это не сравнимые вещи. C++/CLI предастовляет все возможности С/С++, а в С# ансэйф — это весьма ограниченное решение. Плюс при использовании ансэйфа весе преимущества шарпа резко нивелируются.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Неуправляемые возможности
От: BogdanMart Украина  
Дата: 05.05.11 21:25
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, BogdanMart, Вы писали:


BM>>(С++ управляемый всеровно затачиваеться под архитектуру, а ансейф С# и под 32 и под 64 пашет одинаково)


VD>Это не сравнимые вещи. C++/CLI предастовляет все возможности С/С++, а в С# ансэйф — это весьма ограниченное решение.


Использовали для ускорения чтения/записи в файл. Ансейф блок позволяет просто прикастовать казатель на масив байтов к другому типу (Мы кастовали к Структу котоый потом пеедавался дальше уже в виде массива), а если бы парсить это все через FileStream.ReadInt, ReadDouble то офигели бы и во время написания и не особо быстро.

Причем проект может запускаться как на х64 так и на х86 а в случаи использования Managed C++ пришлось бы создавть два проекта, с одними и теми же фалами и линнковать их под раные архитектуры.
(Именно что линковать, потому что код все ровно управляемый и архитектура зардеться флагом в метаданных сборки).

Хотя если речь идет о массивном интеропе и взаимодействию с АПИ то конечно тут С++ и ничто другое (но жизнь не доводила до такого )

В чем плюс Маnaged C++ -- в одном ЕХЕ могут быть и CLR инструкции и машынные коды, но передача управления из разых кусков, думаю, такая же по скорости как и работа с ДЛЛ из под дотнета, разве что спасает статическая линковка.. Ну и удобно обращаться к библиотекам.

Но если просто надо работу с Memory Maped фалом организовать, или просто конвертацию, или какоето пакеты в пайп сувать то и небезопасноо C# хватит.

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

З.Ы. глянь как то в рефлектотре коды сгенереные Manged C++ особенно там где используються неуправляемые классы в управляемом коде
Re[9]: Неуправляемые возможности
От: Ziaw Россия  
Дата: 06.05.11 17:36
Оценка: 1 (1)
Здравствуйте, BogdanMart, Вы писали:

BM>Использовали для ускорения чтения/записи в файл. Ансейф блок позволяет просто прикастовать казатель на масив байтов к другому типу (Мы кастовали к Структу котоый потом пеедавался дальше уже в виде массива), а если бы парсить это все через FileStream.ReadInt, ReadDouble то офигели бы и во время написания и не особо быстро.


Средствами маршалинга можно сделать почти то же самое. По сравнению с дисковым IO разницу в микроскоп не увидеть.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.