Большой Воронежский Форум

Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел.
Вернуться   Большой Воронежский Форум » Компьютеры и все, что с ними связано » » Программирование
Философия, технологии, алгоритмы!

Ответ
 
Опции темы
Старый 14.03.2013, 14:51   #691   
Форумец
 
Аватар для manifest
 
Сообщений: 231
Регистрация: 26.02.2007

manifest вне форума Не в сети
Цитата:
Сообщение от MrDEE Посмотреть сообщение
ага, он самый
Тогда reg.ru не виноват Так исторически сложилось.
http://ru.wikipedia.org/wiki/Index.htm

MrDEE, интересно, для чего поднимаете форум? Мне казалось что они уже не в тренде Если не секрет. Можно в личку.
  Ответить с цитированием
Старый 08.04.2013, 13:14   #692   
Registered User
 
Сообщений: 92
Регистрация: 16.10.2008
Возраст: 34

CORE вне форума Не в сети
Нужна помощь в написании дипломной программы на с#, кто сможет помочь, пишите в лс. о цене договоримся.
  Ответить с цитированием
Старый 27.04.2013, 20:26   #693   
Форумец
 
Аватар для Motion Blur
 
Сообщений: 81
Регистрация: 01.07.2010

Motion Blur вне форума Не в сети
Help! Не открывается только один сайт. Только у меня.

Что бы это значило ? Связь через 3 джи - Мегафон. Два года все было нормально. Но сегодня один сайт не открывается . Ни хромом, ни файерфоксом, ни эксплорером. Открылся webwarper-ом и anonymous-ом. Расскажите что сделать, чтоб было как раньше. Только доступно, мы люди темные...
  Ответить с цитированием
Старый 27.04.2013, 20:36   #694   
Форумец
 
Аватар для Spectator
 
Сообщений: 41,045
Регистрация: 27.05.2003
Возраст: 46

Spectator вне форума Не в сети
Цитата:
Сообщение от Motion Blur Посмотреть сообщение
Что бы это значило ? Связь через 3 джи - Мегафон. Два года все было нормально. Но сегодня один сайт не открывается . Ни хромом, ни файерфоксом, ни эксплорером. Открылся webwarper-ом и anonymous-ом. Расскажите что сделать, чтоб было как раньше. Только доступно, мы люди темные...
Вы ошиблись разделом. Разместите вопрос тут:
http://bvf.ru/forum/forumdisplay.php?f=52
  Ответить с цитированием
Старый 23.05.2013, 13:14   #695   
Форумец
 
Сообщений: 4
Регистрация: 17.10.2010
Возраст: 33

Flinch вне форума Не в сети
Требуется в помощь для чайника, знающий человек по разработке air приложений в flash builder 4.6. Самое главное это знания компонента datagrid его свойств и работа с xml файлом как его открыть,сохранить перезаписать и т.д.Есть вопросы для знающего человека они очень просты.Цена договорная
  Ответить с цитированием
Старый 27.05.2013, 11:53   #696   
Registered User
 
Сообщений: 1
Регистрация: 16.05.2013

ds1 вне форума Не в сети
Нужна помощь в написании программы, основная задача - получение некоторых координат точек трехмерной модели по xyz.

О цене договоримся, связь в лс или почта : [email protected]
  Ответить с цитированием
Старый 10.06.2013, 08:20   #697   
Форумец
 
Аватар для MadFish
 
Сообщений: 340
Регистрация: 25.07.2002

MadFish вне форума Не в сети
Spectator, во бред... ни по каким правилам и ни по каким идеям инт не ДОЛЖЕН равняться разряд ности процессора. ты так часто пишешь глупости что по правилам и идее ДОЛЖЕН после каждого слова писать ИМХО. Стандарт языка определяет минимальный диапазон значений каждого типа и ничего больше. А если у контроллера длинна байта равна 5 бит и машинное слово 2 байта то что?
  Ответить с цитированием
Старый 10.06.2013, 12:43   #698   
Форумец
 
Аватар для Spectator
 
Сообщений: 41,045
Регистрация: 27.05.2003
Возраст: 46

Spectator вне форума Не в сети
Цитата:
Сообщение от MadFish Посмотреть сообщение
Spectator, во бред... ни по каким правилам и ни по каким идеям инт не ДОЛЖЕН равняться разряд ности процессора. ты так часто пишешь глупости что по правилам и идее ДОЛЖЕН после каждого слова писать ИМХО. Стандарт языка определяет минимальный диапазон значений каждого типа и ничего больше. А если у контроллера длинна байта равна 5 бит и машинное слово 2 байта то что?
это НЕ ИМХО.
Я повторяюсь уже не первый раз, я говорю не о виртуальном стандарте виртуального языка, а о конкретно типе int языка C/C++. Именно на этот тип наложено вот такое заклятье, быть равным разрядности процессора. Именно в этом типе по случайному совпадению, видимо, хранятся ссылки. Которые ОБЯЗАНЫ храниться в области памяти равному разрядности процессора. Иначе они там не поместятся.
ситуации с идиотскими контроллерами разбирайте без меня, пожалуйста. хотя я лично ничего даже странного в байте длинной 5 бит не вижу абсолютно.
  Ответить с цитированием
Старый 10.06.2013, 15:33   #699   
Форумец
 
Аватар для MadFish
 
Сообщений: 340
Регистрация: 25.07.2002

MadFish вне форума Не в сети
Цитата:
Сообщение от Spectator Посмотреть сообщение
это НЕ ИМХО.
Я повторяюсь уже не первый раз, я говорю не о виртуальном стандарте виртуального языка, а о конкретно типе int языка C/C++. Именно на этот тип наложено вот такое заклятье, быть равным разрядности процессора. Именно в этом типе по случайному совпадению, видимо, хранятся ссылки. Которые ОБЯЗАНЫ храниться в области памяти равному разрядности процессора. Иначе они там не поместятся.
Я тоби дурню, шо казав?(с) Гоблин "Братва и кольцо". Либо пиши ИМХО, либо не пиши глупости.
Во первых язык С\С++ не накладывает никаких ограничений на размеры типов данных, только на минимальный диапазон значений. ВСЕ!!! Все ограничения накладывает уже конкретный КОМПИЛЯТОР под конкретную ПЛАТФОРМУ, для конкретной ОПЕРАЦИОННОЙ СИСТЕМЫ. А компилятор ОБЯЗАН реализовывать этот, как ты назвал, "виртуальный стандарт виртуального языка". Так что нет никаких ограничений, кроме тех что заложены в стандарт языка, ты как програмист можешь заточить свой код под конкретный компилятор, и получить непереносимое, трудноотлаживаемое, глючное приложение, но тебя то никто не заставляет это делать насильно!!!!

Во вторых, да не обязан указатель быть адресом памяти вообще!!! Указатель может быть чем угодно, все зависит от компилятора. И при чем тут адрес памяти и какое он нафиг имеет отношение к разрядности процессора? Ты хоть одну спецификацию хоть какого-нибудь процессора читал?

Цитата:
Сообщение от Spectator Посмотреть сообщение
хотя я лично ничего даже странного в байте длинной 5 бит не вижу абсолютно.
Ну хоть это радует. Короче языка С\С++ ты не знаешь, что такое разрядность процессора не понимаешь, архитектуру процессоров не знаешь. Садись- 2. На будущее- пиши везде ИМХО, тогда не так сильно будет раздражать твое незнание (незнание само по себе нормальная вещь, но вот выпячивать его как неприрекаемую истину, это раздражает)
  Ответить с цитированием
Старый 10.06.2013, 16:24   #700   
Форумец
 
Аватар для Spectator
 
Сообщений: 41,045
Регистрация: 27.05.2003
Возраст: 46

Spectator вне форума Не в сети
Цитата:
Сообщение от MadFish Посмотреть сообщение
Я тоби дурню, шо казав?
за дурня в мой адрес или адрес другого форумца в следующий будет бан на две недели. я предупредил.

Цитата:
Сообщение от MadFish Посмотреть сообщение
Во вторых, да не обязан указатель быть адресом памяти вообще!!!
он не обязан, он им является по определению. на этом флуд в теме закрываем. разговаривать мне с Вами явно не о чем.
  Ответить с цитированием
Старый 10.06.2013, 16:30   #701   
Форумец
 
Аватар для MadFish
 
Сообщений: 340
Регистрация: 25.07.2002

MadFish вне форума Не в сети
Цитата:
Сообщение от Spectator Посмотреть сообщение
за дурня в мой адрес или адрес другого форумца в следующий будет бан на две недели. я предупредил.


он не обязан, он им является по определению. на этом флуд в теме закрываем. разговаривать мне с Вами явно не о чем.
это была цитата с указанием первоисточника, не более, то что ты воспринял ее на свой счет...
и на последок: указатель на область памяти совсем не обязан быть адресом ячейки памяти(обдумай) И таки да, разговарить нам с тобой не о чем.
  Ответить с цитированием
Старый 10.06.2013, 18:49   #702   
Форумец
 
Аватар для Spectator
 
Сообщений: 41,045
Регистрация: 27.05.2003
Возраст: 46

Spectator вне форума Не в сети
Цитата:
Сообщение от MadFish Посмотреть сообщение
это была цитата с указанием первоисточника, не более, то что ты воспринял ее на свой счет...
за попытку принять меня за идиота срок наказания меньше не станет.

Цитата:
Сообщение от MadFish Посмотреть сообщение
и на последок: указатель на область памяти совсем не обязан быть адресом ячейки памяти(обдумай) И таки да, разговарить нам с тобой не о чем.
обязан, поначитаетесь хлама по Java и пытаетесь пошатнуть основы, которые лежат ПОД виртуальной машиной.
это точно.
  Ответить с цитированием
Старый 10.06.2013, 19:00   #703   
Форумец
 
Аватар для MadFish
 
Сообщений: 340
Регистрация: 25.07.2002

MadFish вне форума Не в сети
Ну вот опять же глупость. Я на сях кодаю по профессии своей уже лет 15, а на явах ваших только балуюсь. И говорил я тебе русским языком ну почитай ты блин стандарт языка хотябы ISO/IEC 14882:2011 прежде чем глупости то писать.

Бан мне глубоко пофиг, не напрягайся, все равно на этом форуме лишь пара толковых людей, которых интересно почитать. Так что можешь банить.

Что ты такой неверующий то и не грамотный. Я запросто переопределю тебе на сях с крестами менеджер памяти и указателем станет текстовое описание вроде "третий ящик справа на север от дохлой утки" и это будет указывать на области в файле на флешке спутника шпиона северной кореи. И это будет правильно и законно с точки зрения ЯЗЫКА С\С++ а что компилятор понимает под указателем, вообще только Аллах знает.
  Ответить с цитированием
Старый 10.06.2013, 19:19   #704   
Пессимист
 
Аватар для dn2k4
 
Сообщений: 618
Регистрация: 22.07.2004

dn2k4 вне форума Не в сети
Цитата:
Сообщение от Spectator Посмотреть сообщение
а о конкретно типе int языка C/C++. Именно на этот тип наложено вот такое заклятье, быть равным разрядности процессора. Именно в этом типе по случайному совпадению, видимо, хранятся ссылки. Которые ОБЯЗАНЫ храниться в области памяти равному разрядности процессора. Иначе они там не поместятся. ситуации с идиотскими контроллерами разбирайте без меня, пожалуйста.
ES:DI =)
  Ответить с цитированием
Старый 10.06.2013, 19:20   #705   
Форумец
 
Аватар для Spectator
 
Сообщений: 41,045
Регистрация: 27.05.2003
Возраст: 46

Spectator вне форума Не в сети
Цитата:
Сообщение от MadFish Посмотреть сообщение
Ну вот опять же глупость. Я на сях кодаю по профессии своей уже лет 15, а на явах ваших только балуюсь. И говорил я тебе русским языком ну почитай ты блин стандарт языка хотябы ISO/IEC 14882:2011 прежде чем глупости то писать.
вот давай почитай и покажи место, в котором указатель (pointer) перестал быть ссылкой на область памяти.

в бредовых спорах типа этого

http://objectmix.com/c/703168-pointers-c.html

где пытаются провести разницу между переменной и значением, которое она хранит, я, сразу говорю, участвовать даже не подумаю.
указатель - это адрес. хранится он в переменной. ссылочного типа либо int. все компиляторы, у которых при настройках по умолчанию sizeof(int)!=sizeof(int*) подлежат немедленной утилизации. прецеденты УЖЕ были.
  Ответить с цитированием
Старый 10.06.2013, 19:26   #706   
Форумец
 
Аватар для MadFish
 
Сообщений: 340
Регистрация: 25.07.2002

MadFish вне форума Не в сети
Ну е мае... Ну нет в стандарте языка определения что указатель на области памяти это последовательно стоящие 32 бита, ссылка на область памяти это абстракция которая реализуется компилятором по разному на разных платформах. Че ты к железу приколебался? Оно работает как умеет. Язык не зависит от платформы и реализации. Да приятель, блогодаря таким как ты хорошие программеры всегда будут цениться:-) и по поводу sizeof( int) != блаблабла любой 8 битный проц у него инт не равен сайз оф указатель на инт. и не равен разрядности проца. Начинаем дружно на свалку х86 z80 и прочие весёлые процы и контроллеры.
  Ответить с цитированием
Старый 10.06.2013, 21:12   #707   
Форумец
 
Аватар для Spectator
 
Сообщений: 41,045
Регистрация: 27.05.2003
Возраст: 46

Spectator вне форума Не в сети
Цитата:
Сообщение от MadFish Посмотреть сообщение
блогодаря
это от слова "блог"?

Цитата:
Сообщение от MadFish Посмотреть сообщение
таким как ты хорошие программеры всегда будут цениться:-)
безусловно.

Цитата:
Сообщение от MadFish Посмотреть сообщение
и по поводу sizeof( int) != блаблабла любой 8 битный проц у него инт не равен сайз оф указатель на инт. и не равен разрядности проца. Начинаем дружно на свалку х86 z80 и прочие весёлые процы и контроллеры.
нет, мы сейчас дружно разберем модель памяти процессора z80, и выясним, сколько занимает указатель в нём. ты готов?
  Ответить с цитированием
Старый 10.06.2013, 22:38   #708   
Форумец
 
Аватар для MadFish
 
Сообщений: 340
Регистрация: 25.07.2002

MadFish вне форума Не в сети
Пишу с планшета, ещё вопросы по орфографии будут?
Я то готов а ты? Система z80 8Kb. Компилятор использует для данных индексную адресацию относительно ix. Итог инт 16 бит ссылка на инт 8 бит и че? Обратная ситуация твоя любимая видеокарточка и компилятор шейдеров glsl. Инт ты видишь как 32 бита а в железе он может быть как 64 бит, а указатель на него вообще не документирован. Разрядность видеокарты ну положим 24 пиксельных процессора * 4 *8=768 бит, а инт теже 32 бита- профит!!! Что очередной раз доказывает что нет в языке ограничений на размер типов данных, и то ,что нужно учить матчасть, а не писать ерунду.
  Ответить с цитированием
Старый 10.06.2013, 23:46   #709   
Форумец
 
Сообщений: 1
Регистрация: 10.06.2013
Возраст: 31

Anderson931 вне форума Не в сети
Доброго времени суток. Ищу человека, который сможет написать многооконку (для отрытия одной программы множество раз). Сразу скажу, что стандартная песочница не работает (sandboxie).
Добавляемся в скайп Mr.Anderson931 всё обсудим там.
  Ответить с цитированием
Старый 11.06.2013, 00:04   #710   
бибизьян
 
Аватар для aerin
 
Сообщений: 3,026
Регистрация: 17.02.2004

aerin вне форума Не в сети
Вот вам не лень

Spectator, если лень читать стандарт посмотри хотя бы limits.h и stdint.h, там определяются размеры.
А в стандарте(5.3.3 Sizeof) кроме
Цитата:
... sizeof(char), sizeof(signed char) and sizeof(unsigned char) are 1. The result of sizeof applied to any other fundamental type (3.9.1) is implementation-defined.
и нет ничего. Реально 1 == sizeof( char ) <= sizeof( short ) <= sizeof( int )<= sizeof( long ), а там хоть 100500 байт на int
  Ответить с цитированием
Старый 11.06.2013, 00:27   #711   
Пессимист
 
Аватар для dn2k4
 
Сообщений: 618
Регистрация: 22.07.2004

dn2k4 вне форума Не в сети
Цитата:
Сообщение от Spectator Посмотреть сообщение
нет, мы сейчас дружно разберем модель памяти процессора z80, и выясним, сколько занимает указатель в нём. ты готов?
Эх, ну зачем, зачем тебя туда понесло…
Код:
  #define FARDATA 1
  #include <stdlib.h>
  void main(void) {
                  far int *p, *q;
                  p = malloc(sizeof(int));
                  q = p;                        // Чисто для иллюстрации
                  *p = 123;
                  free(p);
  }
Собираем под твой z80
Код:
zcc +zx -a -c -cc test.c
Получаем:
Код:
._main
                  LINE        4
  ;far int *p, *q;
                  LINE        5
  ;p = malloc_far(sizeof(int));
                  LINE        7
                  push       bc
                  push       bc
                  push       bc
                  ld            hl,3         ;const
                  add         hl,sp
                  push       hl
                  ld            hl,2         ;const
                  call          l_int2long_s
                  push       de
                  push       hl
                  call          malloc_far
                  pop         bc
                  pop         bc
                  pop         bc
                  call          l_putptr
  ;q = p;
                  LINE        8
                  ld            hl,0         ;const
                  add         hl,sp
                  push       hl
                  ld            hl,5         ;const
                  add         hl,sp
                  call          l_getptr
                  pop         bc
                  call          l_putptr
  ;*p = 123;
                  LINE        10
                  ld            hl,3         ;const
                  add         hl,sp
                  call          l_getptr
                  push       de
                  push       hl
                  ld            hl,123    ;const
                  exx
                  pop         hl
                  pop         de
                  exx
                  call          lp_pint
  ;free_far(p);
                  LINE        12
                  ld            hl,3         ;const
                  add         hl,sp
                  call          l_getptr
                  push       de
                  push       hl
                  call          free_far
                  pop         bc
                  pop         bc
  ;}
                  pop         bc
                  pop         bc
                  pop         bc
                  ret
   
  …
   
  ;       Z88 Small C+ Run Time Library 
  ;
  ;       Get Long Pointer from Near Memory
   
                  XLIB    l_getptr
   
  ;Fetch long from (hl)
   
  .l_getptr
   
     ld e,(hl)
     inc hl
     ld d,(hl)
     inc hl
     ld l,(hl)
     ld h,0
     ex de,hl
     ret
   
  ;       Z88 Small C+ Run Time Library 
  ;       Long functions
  ;
   
                  XLIB    l_putptr
   
  .l_putptr
          ld      a,l
          ld      (bc),a
          inc     bc
          ld      a,h
          ld      (bc),a
          inc     bc
          ld      a,e
          ld      (bc),a
          ret
   
  ; Internal routine to write int at far pointer
  ; 31/3/00 GWL
   
  ; Entry: E'H'L'=far pointer
  ;        HL=word
   
  ;
  ; $Id: lp_pint.asm,v 1.2 2001/04/18 14:59:40 stefano Exp $
  ;
   
          XLIB    lp_pint
   
          LIB     farseg1,incfar
   
  .lp_pint
          ld      a,($04d1)
          ex           af,af'
          push    hl
          pop     ix
          exx
          ld      b,h
          ld      c,l
          call    farseg1
          ld      a,ixl
          ld      (hl),a
          call    incfar
          ld      a,ixh
          ld      (hl),a
          ex   af,af'
          ld      ($04d1),a
          out     ($d1),a
          ret


И какой, говоришь, размер указателя?
  Ответить с цитированием
Старый 11.06.2013, 08:59   #712   
Форумец
 
Аватар для Spectator
 
Сообщений: 41,045
Регистрация: 27.05.2003
Возраст: 46

Spectator вне форума Не в сети
Цитата:
Сообщение от MadFish Посмотреть сообщение
Пишу с планшета, ещё вопросы по орфографии будут?
Я то готов а ты? Система z80 8Kb. Компилятор использует для данных индексную адресацию относительно ix. Итог инт 16 бит ссылка на инт 8 бит и че?
всё верно, именно это я и ждал. это НЕ ссылка 16 бит, это ссылка 8 бит в сегменте. 8 битная ссылка на 8 битный инт. я прекрасно знаю о существовании сегментов в Z80, но это не делает ссылки 16 битными, в том то и дело.

dn2k4, всё верно, спасибо за код.
меня туда не "понесло", процессор z80 мне прекрасно знаком, я провел в дизассемблере не один и не два года, и знаю о чем говорю.
  Ответить с цитированием
Старый 11.06.2013, 11:50   #713   
Форумец
 
Аватар для MadFish
 
Сообщений: 340
Регистрация: 25.07.2002

MadFish вне форума Не в сети
Цитата:
Сообщение от Spectator Посмотреть сообщение
я прекрасно знаю о существовании сегментов в Z80, но это не делает ссылки 16 битными, в том то и дело.
Ну а я тебе о чем толкую?
ИТОГО: в С/С++
1 размер int не обязан быть равен разрядности процессора.
2 размер указателя int * не обязан быть равным размеру int
3 указатель(ссылка) не обязан быть адресом ячейки памяти
что и требовалось доказать.
  Ответить с цитированием
Старый 11.06.2013, 12:14   #714   
Форумец
 
Аватар для manifest
 
Сообщений: 231
Регистрация: 26.02.2007

manifest вне форума Не в сети
Не ссорьтесь, господа, не тратьте зря время, читайте википедию

"In 32-bit programs, pointers and data types such as integers generally have the same length; this is not necessarily true on 64-bit machines.Mixing data types in programming languages such as C and its descendants such as C++ and Objective-C may thus function on 32-bit implementations but not on 64-bit implementations.

In many programming environments for C and C-derived languages on 64-bit machines, "int" variables are still 32 bits wide, but long integers and pointers are 64 bits wide. These are described as having an LP64 data model. Another alternative is the ILP64 data model in which all three data types are 64 bits wide, and even SILP64 where "short" integers are also 64 bits wide. However, in most cases the modifications required are relatively minor and straightforward, and many well-written programs can simply be recompiled for the new environment without changes. Another alternative is the LLP64 model, which maintains compatibility with 32-bit code by leaving both int and long as 32-bit. "LL" refers to the "long long integer" type, which is at least 64 bits on all platforms, including 32-bit environments."

И, будьте добры, не усложняйте жизнь себе и коллегам, домыслами и предположениями, единственное на что может себе позволить ориентироваться программист, это стандарт языка, только в этом случае не будет никаких "заклятий" и магии в коде. Стандарт же языка С++, как уже упоминал, aerin, никаких ограничений на тип int не предусматривает.
  Ответить с цитированием
Старый 11.06.2013, 16:30   #715   
Пессимист
 
Аватар для dn2k4
 
Сообщений: 618
Регистрация: 22.07.2004

dn2k4 вне форума Не в сети
Цитата:
Сообщение от Spectator Посмотреть сообщение
процессор z80 мне прекрасно знаком, я провел в дизассемблере не один и не два года, и знаю о чем говорю.
Число-то назови. Размер указателя которое.
  Ответить с цитированием
Старый 11.06.2013, 18:36   #716   
Форумец
 
Аватар для Spectator
 
Сообщений: 41,045
Регистрация: 27.05.2003
Возраст: 46

Spectator вне форума Не в сети
Цитата:
Сообщение от dn2k4 Посмотреть сообщение
Число-то назови. Размер указателя которое.
8 бит, конечно. байт.
байт сегмента + байт указателя в сегменте давали 64К памяти без страниц (которые использовались в 128К и выше режимах). Те самые 48К ОЗУ + 16 ПЗУ.
Z80 как бы 8 битный компьютер. вариантов немного.
  Ответить с цитированием
Старый 11.06.2013, 18:43   #717   
Форумец
 
Аватар для Spectator
 
Сообщений: 41,045
Регистрация: 27.05.2003
Возраст: 46

Spectator вне форума Не в сети
Цитата:
Сообщение от MadFish Посмотреть сообщение
Ну а я тебе о чем толкую?
ИТОГО: в С/С++
1 размер int не обязан быть равен разрядности процессора.
2 размер указателя int * не обязан быть равным размеру int
3 указатель(ссылка) не обязан быть адресом ячейки памяти
что и требовалось доказать.
1. обязан
2. обязан
3. как Вы их вообще разделяете???? в 32 битных процессорах, чтобы не усложнять вопрос. указатель - pointer, это переменная, которая хранит адрес ячейки памяти.
ССЫЛКА может быть чем то иным и зависеть от модели памяти. но указатель, pointer, и не просто pointer, а memory pointer чем вообще МОЖЕТ быть? какие есть варианты? в принципе?
  Ответить с цитированием
Старый 11.06.2013, 19:00   #718   
бибизьян
 
Аватар для aerin
 
Сообщений: 3,026
Регистрация: 17.02.2004

aerin вне форума Не в сети
Spectator
Код:
#include <stdio.h> 

void main()
{
    printf( "sizeof(int) = %d sizeof(int*) = %d\n", sizeof(int), sizeof(int*) );
}
Вывод, внезапно:
Цитата:
Сообщение от x64
sizeof(int) = 4 sizeof(int*) = 8
Цитата:
Сообщение от x32
sizeof(int) = 4 sizeof(int*) = 4
ЗЫ. Домашнее задание, узнать чему равен sizeof(int&)
  Ответить с цитированием
Старый 11.06.2013, 19:05   #719   
Форумец
 
Аватар для manifest
 
Сообщений: 231
Регистрация: 26.02.2007

manifest вне форума Не в сети
Ну и мой пример для кучи раз википедия не авторитет.

Цитата:
Сообщение от MadFish Посмотреть сообщение
Ну а я тебе о чем толкую?
ИТОГО: в С/С++
1 размер int не обязан быть равен разрядности процессора.
2 размер указателя int * не обязан быть равным размеру int
Цитата:
Сообщение от Spectator Посмотреть сообщение
1. обязан
2. обязан
Код:
#include <iostream>

int main() {
  using namespace std;

  cout
    << "size of int  : " << sizeof(int)   << " bytes\n"
    << "size of int *: " << sizeof(int *) << " bytes\n"
    << "size of 'int' and 'int *' are " << (sizeof(int) == sizeof(int *) ? "" : "not ") << "equal\n"
    <<  flush;
}
Код:
size of int  : 4 bytes
size of int *: 8 bytes
size of 'int' and 'int *' are not equal
Код:
$ c++ -v
Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
Target: x86_64-apple-darwin12.4.0
Thread model: posix
  Ответить с цитированием
Старый 11.06.2013, 19:08   #720   
Форумец
 
Аватар для Spectator
 
Сообщений: 41,045
Регистрация: 27.05.2003
Возраст: 46

Spectator вне форума Не в сети
Цитата:
Сообщение от aerin Посмотреть сообщение
Вывод, внезапно:
MS VC?
Там не внезапно. Там был долгий МНОГОЛЕТНИЙ СПОР, каким по умолчанию будет int.
и из соображений совместимости и во избежание того что хрен одна программа вообще заработает при переносе оставили 4 байта.
Для кого то это внезапно. Для кого то не очень.
Я уже молчу что это внезапно вполне регулируется настройками, по умолчанию оставили вот так. Почему - см. выше.
  Ответить с цитированием
Поиск в теме: 



Быстрый переход:

  Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Support by DrIQ & Netwind