![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
marcusmae |
|
|||
![]() stravaganza ![]() ![]() Профиль Группа: Участник Сообщений: 874 Регистрация: 26.3.2006 Репутация: 22 Всего: 39 |
Всем привет
![]() Допустим, у меня есть код некоторой библиотеки классов, потенциально способный компилироваться как в последовательный вариант, так и в параллельный - на кластере. В чём это выражается? = Код написан на C#, но с некоторыми расширениями языка, например, для методов введено ключевое слово movable :
В связи с этим вопрос : как заставить стандартный C#-овый компилятор не обращать внимания на такие нововведения? = Понятно, что это можно сделать с помощью макросов, каких-нить ConditionalAttribute и тп. Но, всё же, какой наиболее гибкий способ Вы бы предложили? -------------------- ἀπὸ μηχανῆς θεός |
|||
|
||||
Djuffin |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 18.3.2005 Репутация: 1 Всего: 2 |
Стандартный думаю никак. НО! Можно взять исходники какого-нибудь из не совсем стандартных компиляторов и немного поправить.
Исходники можно взять здесь 1. MS Shared Source (тут реализация компилятора на C++) http://www.microsoft.com/downloads/details...;displaylang=en 2. Mono (а тут на C#) http://www.mono-project.com/Downloads |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
-------------------- ![]() |
|||
|
||||
marcusmae |
|
|||
![]() stravaganza ![]() ![]() Профиль Группа: Участник Сообщений: 874 Регистрация: 26.3.2006 Репутация: 22 Всего: 39 |
Хм, спасибо за любопытные статьи, но менять компилятор не хотелось бы. Как раз наоборот : код должен остаться совместимым со стандартным C#. Ведь никакой дополнительной функциональности от компилятора не требуется, кроме как не видеть некоторые модификаторы.
Видимо, придётся изобретать хитрые макросы. Это сообщение отредактировал(а) marcusmae - 25.1.2007, 19:19 -------------------- ἀπὸ μηχανῆς θεός |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
А вот макросов в шарпе и нету, в обычном понимании этого слова. То есть имеются, конечно, директивы прекомпиляции. Но они ограничиваются простым типа #define и проверить #if; подстановочных макросов же нет.
-------------------- ![]() |
|||
|
||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 25 Всего: 173 |
Если стоял вопрос об обеспечении совместимости со стандартным компилятором, то такие вещи, наверное, лучше было бы сделать с помощью атрибутов.
В таком виде без сторонних средств препроцессинга никак. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |