Форум: "Прочее";
Текущий архив: 2009.04.26;
Скачать: [xml.tar.bz2];
ВнизTTimeVal Найти похожие ветки
← →
Naturlih (2009-02-25 16:36) [0]А почему в Delphi (по крайней мере, в D7) структура TTimeVal объявлена как
record
, а не какpacked record
, хотя она используется для вызова WinSock функции select ?
← →
Palladin © (2009-02-25 16:44) [1]Проведи изыскания на тему - что значит packed - и поймешь.
← →
Palladin © (2009-02-25 16:45) [2]Приведи здесь ее описание, нету ее в D6.
← →
Palladin © (2009-02-25 16:47) [3]Хотя нашел. Ну я так и знал. Читай про packed. Если не поймешь, то вопрос, а накой он должен packed?
← →
Сергей М. © (2009-02-25 16:49) [4]
> Palladin
Как это нет ?
Куда делась ?)
WinSock.pas вроде бы практически в неизменном виде тащат аж со времен D3 ..
← →
Сергей М. © (2009-02-25 16:50) [5]
> а накой он должен packed?
А накой она тогда упакована в WinSock2.pas ?
Автор, наверно, об этом и хотел спросить ..
← →
Palladin © (2009-02-25 16:50) [6]
> Сергей М. © (25.02.09 16:49) [4]
та нашел нашел... в справке просто не нашел :) у меня ж безусловный рефлекс - сначала в index лезти по незнакомому слову...
← →
Palladin © (2009-02-25 16:51) [7]
> Сергей М. © (25.02.09 16:50) [5]
Подозреваю, шо там она не настолько простая как просто в WinSock. Мож там уже байтики или вордики присутствуют :)
← →
Сергей М. © (2009-02-25 16:52) [8]
> у меня ж безусловный рефлекс
И правильный рефлекс !)
← →
Сергей М. © (2009-02-25 16:53) [9]
> Palladin © (25.02.09 16:51) [7]
Ну сравни сам (цитата из winsock2.pas):
const
FD_SETSIZE = 64;
type
PFDSet = ^TFDSet;
TFDSet = packed record
fd_count: u_int;
fd_array: array[0..FD_SETSIZE-1] of TSocket;
end;
PTimeVal = ^TTimeVal;
TTimeVal = packed record
tv_sec: Longint;
tv_usec: Longint;
end;
← →
Palladin © (2009-02-25 17:01) [10]Тогда и у меня вопрос, а на кой она упакована в WinSock2.pas ? :) В любом случае, даже при поддержке компилятором x64, оба поля войдут в один box. Не будет между ними дырок.
← →
Palladin © (2009-02-25 17:04) [11]Хотя разве что защита от всяких экскриметаторов с директивой $A ... )
← →
Сергей М. © (2009-02-25 17:11) [12]
> Palladin © (25.02.09 17:04) [11]
Именно !
← →
Naturlih (2009-02-25 18:48) [13]и как по вашему, уважаемые мастера, экспериментирование с директивой $A может повлиять?
$A имет по-умолчанию значение $A+. Единственное экспериментирование может заключатсья в том, чтобы выставить $A-. И уж если с $A+ структура будет сформирована правильно, то при отключении выравнивания дырок не будет тем более.
Поэтому фразы:
> Хотя разве что защита от всяких экскриметаторов с директивой
> $A ... )
и
> Именно !
бред.
← →
Palladin © (2009-02-25 18:52) [14]
> Naturlih (25.02.09 18:48) [13]
Да в общем то никак. Согласен, эти два поля при любом раскладе попадают в box. И дырок не намечается... так уж компилятор работает с полями в записи...
← →
Naturlih (2009-02-25 19:07) [15]
> Да в общем то никак. Согласен
тогда можно вернуться к твоему вопросу:
> а на кой она упакована в WinSock2.pas ?
сам то как думаешь? ws2 вроде Коншин писал? Мне кажется правильно написал.
P.S. Оказывается в справке по дельфи есть и вариант $A8 (он и стоит по-умолчанию). Это что за фигня?! Это задел на 64-ех битные версии что ли?! А в текущих версиях $A8 эквивалентно $A4?! Хрень какая-то получается...
← →
Palladin © (2009-02-25 19:34) [16]
> сам то как думаешь? ws2 вроде Коншин писал? Мне кажется
> правильно написал.
А сам то как думаешь? Эта запись, два четырехбайтника, всегда(!) будет 8 байт без всяких дырок. И с пакед и без пакед! Чего ты еще хочешь узнать? А если тебе просто кажется - то просто крестить.
← →
Palladin © (2009-02-25 19:35) [17]А по вопросу на кой имено Коншин туда написал пакед у него и спроси. Он тут бывает. Я говорю, что это лишнее. Именно в этом случае.
← →
Сергей М. © (2009-02-25 19:46) [18]
> Naturlih (25.02.09 19:07) [15]
> Хрень какая-то получается
Я, я, кругом цветет сплошной цурюк)
Тебя столь озаботило это ?
Тогда не трогай Коншина, копай глубже и ширше - в IdWinSock2 тоже packed !
Вопрос интересный и достоен отдельного трындежа: кто у кого упер "бред" - Коншин у индейцев или индейцы у Коншина ?)
← →
Palladin © (2009-02-25 19:48) [19]А вот у JEDI написано без пакед. О чем и речь. В этой ситуации пофик. О чем я и толкую.
← →
Сергей М. © (2009-02-25 19:56) [20]
> Palladin © (25.02.09 19:48) [19]
Да никто ж и не против кроме топикстартера)
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2009.04.26;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.005 c