Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Что означает char FAR *szStr?
|
|||
|---|---|---|---|
|
#18+
В чем разница между char *szStr и char FAR *szStr на Windows 32, 64 ? На Маке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2018, 19:11 |
|
||
|
Что означает char FAR *szStr?
|
|||
|---|---|---|---|
|
#18+
Думаю это наследие прошлого, очень далекого прошлого. Нынче никакой разницы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2018, 19:32 |
|
||
|
Что означает char FAR *szStr?
|
|||
|---|---|---|---|
|
#18+
Ролг ХупинВ чем разница между char *szStr и char FAR *szStr на Windows 32, 64 ? На Маке?Может быть ни в чем. Может быть в чем-то... Когда-то, было нужно указывать как вызывается функция (или идет доступ к переменным) - через ближние или дальние адреса. Это очень сильно зависит от используемого компилятора, операционной системы, процессора, режима памяти и тд и тп... Поэтому там где заранее знали что делают библиотечную функцию (или такого было требование платформы) могли принудительно затребовать от компилятора использовать ближние или дальние адреса (NEAR / FAR). Подробнее читай учебники по ОС и системам с сегментирвоанной памятью (например Таненбаум хорошо все рассказывает). Так что с формальной точки зрения, в твоем случае ты либо оставляешь тип адреса переменной на волю компилятора, либо требуешь чтобы к переменной обращались по полному адресу. А насколько это все работает в твоем случае... Запусти компилятор с нужным ключом чтобы оно остановилось после препроцессора (для gcc/g++ это -E , для cl это /E , что для твоего компилятора сам ищи). Тогда компилятор сделает тебе один большой файл со включением всех include файлов, расшифровкой всех define. И там увидишь во что FAR превращается в реальности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2018, 20:08 |
|
||
|
Что означает char FAR *szStr?
|
|||
|---|---|---|---|
|
#18+
White OwlРолг ХупинВ чем разница между char *szStr и char FAR *szStr на Windows 32, 64 ? На Маке?Может быть ни в чем. Может быть в чем-то... Когда-то, было нужно указывать как вызывается функция (или идет доступ к переменным) - через ближние или дальние адреса. Это очень сильно зависит от используемого компилятора, операционной системы, процессора, режима памяти и тд и тп... Поэтому там где заранее знали что делают библиотечную функцию (или такого было требование платформы) могли принудительно затребовать от компилятора использовать ближние или дальние адреса (NEAR / FAR). Подробнее читай учебники по ОС и системам с сегментирвоанной памятью (например Таненбаум хорошо все рассказывает). Так что с формальной точки зрения, в твоем случае ты либо оставляешь тип адреса переменной на волю компилятора, либо требуешь чтобы к переменной обращались по полному адресу. А насколько это все работает в твоем случае... Запусти компилятор с нужным ключом чтобы оно остановилось после препроцессора (для gcc/g++ это -E , для cl это /E , что для твоего компилятора сам ищи). Тогда компилятор сделает тебе один большой файл со включением всех include файлов, расшифровкой всех define. И там увидишь во что FAR превращается в реальности. Похоже, что на Windows он определен как #define far ... #define FAR far Непонятно, что на Маке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2018, 20:18 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=21&tid=2017959]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
49ms |
get topic data: |
15ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 12ms |
| total: | 171ms |

| 0 / 0 |
