Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Пн июн 26, 2017 8:26 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 70 сообщений ]  На страницу Пред. 1 2 3 4 5 След.
Автор Сообщение
СообщениеДобавлено: Пт окт 04, 2013 2:09 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3927
Цитата:
Я так понимаю, что динамическая линковка будет большой проблемой для MSVC
Она и сейчас проблематична. Для MSVC надо выстраивать свою инфраструктуру. Пока её видно. Проприетарность компилятора создаёт много сложностей. Он не предназначен для создания приложений для других систем (интересно, есть ли в EULA прямой запрет), часто использует встроенные функции, которых нет в открытых исходниках. Их дизассемблирование из бинарников и конвертация в исходный код сомнительна по лицензионной чистоте (привет ac97wav!). Математическая библиотека закрыта полностью, её надо писать заново.


Вернуться к началу
СообщениеДобавлено: Пт окт 04, 2013 2:49 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
Serge
Что то я не понял. Раз мы купили (ну пусть арендовали, мелкософт нынче эту идею задвигает) инструмент, то как это так мы не имеем полных прав на производный продукт? О_о

Вот мы купили молоток (ну пусть арендовали, "дядядебил лимитед" нынче эту идею задвигает) и чо мы теперь имеем право забивать гвозди только фирмы "дядядебил лимитед" и только в материалы продаваемые фирмой "дядядебил лимитед"? Это же маразм полнейший! Раз так, то следующего человека, который будет настаивать, что компилятор MSVC лучший компилятор во всех отношениях я буду посылать далеко.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
СообщениеДобавлено: Пт окт 04, 2013 3:08 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4088
Mario_r4 писал(а):
Serge Это же маразм полнейший! Раз так, то следующего человека, который будет настаивать, что компилятор MSVC лучший компилятор во всех отношениях я буду посылать далеко.

Серж не утверждал. РеактОС, например, юзает их компилятор.

_________________
Через тернии к звездам


Вернуться к началу
СообщениеДобавлено: Пт окт 04, 2013 3:46 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Mario, частенько в инструкциях к фирменным инструментом пишут "гарантия распространяется только на отказы, связанные с использованием сертифицированных расходных материалов". Это я, к примеру, про обжимки говорю. Не удивлюсь, если с молотками точно так же.

Serge, MSVC EULA:
Цитата:
General License Grant. Microsoft grants to you as an individual, a personal, nonexclusive license to make and use copies of the SOFTWARE PRODUCT for the sole purposes of designing, developing, and testing your software product(s) that are designed to operate in conjunction with any Microsoft operating system product.

Так что использование MSVC для Колибри - прямое нарушение лицензии.


Вернуться к началу
СообщениеДобавлено: Пт окт 04, 2013 3:58 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Мх, в разных версиях EULA по-разному написано. Где-то просто:
Цитата:
Microsoft grants to you as an individual, a personal, nonexclusive license to make and use copies of the SOFTWARE PRODUCT for the purpose of designing, developing, and testing your software product(s).

И точка.


Вернуться к началу
СообщениеДобавлено: Пт окт 04, 2013 4:23 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3927
Reactos отдельная тема.
MSVC один из лучших оптимизирующих компиляторов, но всё это богатство только под Windows по естественной причине.
Компиляция программ для других систем обещает массу проблем. Для mingw приходится отменять встроенные defines _Win32 _WIN32 WIN32 _MSC_VER иначе условная компиляция подключает микрософтские инклюды и предназначенные для Windows куски кода. Кроссплатформенность превращается в кошмар. Многие вещи написаны только под gcc и с msvc не дружат.
Короче у меня большие сомнения в применимости msvc для сборки больших проектов в Колибри.


Вернуться к началу
СообщениеДобавлено: Пт окт 04, 2013 4:37 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1593
Serge писал(а):
Продолжение. TLS

Однопоточные приложения могут использовать библиотеки, которые будут создавать дополнительные потоки. Поэтому TLS предлагается создавать всегда, независимо от числа потоков в программе.
  • fs:0 хранит id текущего потока
  • fs:4 зарезервирован для id процесса/адресного пространства
  • fs:8 нижняя граница стека потока
  • fs:12 верхняя граница стека потока
  • fs:16-1020 доступны приложениям

Линейный адрес сегмента fs не предусмотрен? Указатель на fs:0 получить невозможно?

_________________
Сделаем мир лучше!


Вернуться к началу
СообщениеДобавлено: Пт окт 04, 2013 5:19 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3927
CleverMouse
Нет, я предполагал tls для хранения указателей, а не структур данных. Если необходимо, можно занять fs:0, сдвинув остальное.


Вернуться к началу
СообщениеДобавлено: Пт окт 04, 2013 7:19 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1593
Кодогенератор MSVC может выдавать обращения к fs:0 и fs:2Ch. Если их зарезервировать под что-нибудь, потом могут быть большие проблемы. Ядро Linux, если я правильно помню, не резервирует никаких данных в fs и вообще устанавливает fs только по просьбе программы, зато резервирует целых три TLS-селектора, один для glibc, один для Wine, один на всякий случай.

_________________
Сделаем мир лучше!


Вернуться к началу
СообщениеДобавлено: Пт окт 04, 2013 8:26 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3927
CleverMouse
Хорошо, тогда fs:0 и fs:2Ch будут оставлены для msvc/wine.
А адрес сегмента tls нужен ?


Вернуться к началу
СообщениеДобавлено: Пт окт 04, 2013 9:28 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1593
Я думаю, стоит адрес сегмента tls хранить.

_________________
Сделаем мир лучше!


Вернуться к началу
СообщениеДобавлено: Пт окт 04, 2013 9:34 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3927
CleverMouse
Хорошо, тогда
  • fs:0 зарезервировано
  • fs:4 линейный адрес tls
  • fs:8 pid
  • fs:12 зарезервировано
  • fs:16 нижняя граница стека
  • fs:20 верхняя граница стека
  • fs:2Ch зарезервировано
Ещё есть предложения / замечания ?


Вернуться к началу
СообщениеДобавлено: Пт окт 04, 2013 11:11 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
Еще у меня предложение/замечание написать потому EXAMPLE.ASM с пояснениями какие поля не понадобятся для типичной средней программы.
А то я от вашего "птичьего" языка уже запутался. :wink:

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
СообщениеДобавлено: Пт окт 04, 2013 11:22 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3927
Если не будет замечаний по заголовку, для простой программы не использующей PE DLL, не понадобятся поля import и eimport. Неиспользуемые поля заголовка должны быть нулевыми.


Вернуться к началу
СообщениеДобавлено: Сб окт 05, 2013 1:14 am 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пт авг 14, 2009 1:46 am
Сообщения: 1291
Serge писал(а):
Ещё есть предложения / замечания ?

Так как насчет указателя очереди GUI-запросов?


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 70 сообщений ]  На страницу Пред. 1 2 3 4 5 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB