2017-01-31 14 views
2

Я столкнулся с ключевым словом __loadds в качестве модификатора объявления функции в некотором старом коде для 16-битной Windows, который я искал из любопытства.Что такое/означает значение слова __loadds в компиляторах C для реального режима x86?

А Google search не принес ничего полезного, предположительно потому, что никто не использует компиляторы, которые больше поддерживали это ключевое слово. Я предполагаю, что это связано с регистром DS (сегмент данных) и сегментированной моделью памяти реального режима x86.

+2

Это устарело, если вы не пытаетесь построить 16-разрядные приложения Windows в некоторых средах. Ключевое слово '__loadds' описано как ___loadds Это ключевое слово помогает тем программам Microsoft Windows. __loadds заставляет компилятор загружать DS из DGROUP при входе в функцию и восстанавливать DS при выходе ._. Он применяется к функциям в качестве модификатора. –

ответ

1

The online documentation for the Digital Mars compiler говорит об этой функции модификатора декларации:

__loadds

Это ключевое слово помощи тех программ Microsoft Windows. __loadds заставляет компилятор загружать DS с DGROUP при входе в функцию и для восстановления DS при выходе.

Опция компилятора -mu применяется для всех функций __loadds.

Обратите внимание, что этот модификатор полностью устарел, так как применяется только к 16-битных сред Windows, как Windows 3.1.

+2

Это ответ только на ссылку. Пожалуйста, примите соответствующую часть с веб-сайта, который применяется и сделайте его частью вашего ответа. –

+2

Вместо нисходящего я превратил это в ответ, который должен был быть. Пожалуйста, обратите внимание на совет Майкла и этот пример в будущем, когда вы хотите обратиться к внешним ресурсам. –

+1

Спасибо за руководство парням, я стараюсь улучшить его! – Alex