netch80: (Default)
[personal profile] netch80
Продолжая тему этого...

#include <stdio.h>
#include <fcntl.h>

int main()
{
  printf("%llx\n", (off_t)(-sizeof(int)));
  return 0;
}


в 32-битке выводит 0xffffffffc. Ура, товарищи.

Исходный код, по которому увидена проблема, содержал

lseek(fd, -sizeof(buf), SEEK_END)

Date: 2010-12-30 04:19 pm (UTC)
From: [identity profile] netch80.livejournal.com
На всех рассматриваемых юниксах off_t и long long совпадают (и равны int64_t)

Date: 2010-12-30 04:28 pm (UTC)
From: [identity profile] netch80.livejournal.com
Смотрю, не вижу ничего противоречащего.
Если речь про _FILE_OFFSET_BITS, меня те места, где он не 64, не интересуют по причине их безнадёжной отсталости.

Date: 2010-12-30 04:40 pm (UTC)
ext_605364: geg MOPO4 (Default)
From: [identity profile] gegmopo4.livejournal.com
А места, где size_t 32-битный, -- не столь отсталы?

Date: 2010-12-30 04:44 pm (UTC)
From: [identity profile] netch80.livejournal.com
Нет, 32-битные системы будут жить ещё лет 20 минимум, пусть и не на серверах/десктопах.

Profile

netch80: (Default)
netch80

January 2026

S M T W T F S
    1 23
45678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 3rd, 2026 09:39 am
Powered by Dreamwidth Studios