Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
Срочная помощь программистов и тема для флуда по тематике раздела |
Философия, технологии, алгоритмы! |
|
Опции темы |
14.03.2013, 14:51 | #691 |
Форумец
Сообщений: 231
Регистрация: 26.02.2007
Не в сети |
Тогда reg.ru не виноват Так исторически сложилось.
http://ru.wikipedia.org/wiki/Index.htm MrDEE, интересно, для чего поднимаете форум? Мне казалось что они уже не в тренде Если не секрет. Можно в личку. |
27.04.2013, 20:26 | #693 |
Форумец
Сообщений: 81
Регистрация: 01.07.2010
Не в сети |
Help! Не открывается только один сайт. Только у меня.
Что бы это значило ? Связь через 3 джи - Мегафон. Два года все было нормально. Но сегодня один сайт не открывается . Ни хромом, ни файерфоксом, ни эксплорером. Открылся webwarper-ом и anonymous-ом. Расскажите что сделать, чтоб было как раньше. Только доступно, мы люди темные...
|
27.04.2013, 20:36 | #694 | |
Форумец
Сообщений: 41,045
Регистрация: 27.05.2003
Возраст: 46
Не в сети |
Цитата:
http://bvf.ru/forum/forumdisplay.php?f=52 |
|
23.05.2013, 13:14 | #695 |
Форумец
Сообщений: 4
Регистрация: 17.10.2010
Возраст: 33
Не в сети |
Требуется в помощь для чайника, знающий человек по разработке air приложений в flash builder 4.6. Самое главное это знания компонента datagrid его свойств и работа с xml файлом как его открыть,сохранить перезаписать и т.д.Есть вопросы для знающего человека они очень просты.Цена договорная
|
27.05.2013, 11:53 | #696 |
Registered User
Сообщений: 1
Регистрация: 16.05.2013
Не в сети |
Нужна помощь в написании программы, основная задача - получение некоторых координат точек трехмерной модели по xyz.
О цене договоримся, связь в лс или почта : [email protected] |
10.06.2013, 08:20 | #697 |
Форумец
Сообщений: 340
Регистрация: 25.07.2002
Не в сети |
Spectator, во бред... ни по каким правилам и ни по каким идеям инт не ДОЛЖЕН равняться разряд ности процессора. ты так часто пишешь глупости что по правилам и идее ДОЛЖЕН после каждого слова писать ИМХО. Стандарт языка определяет минимальный диапазон значений каждого типа и ничего больше. А если у контроллера длинна байта равна 5 бит и машинное слово 2 байта то что?
|
10.06.2013, 12:43 | #698 | |
Форумец
Сообщений: 41,045
Регистрация: 27.05.2003
Возраст: 46
Не в сети |
Цитата:
Я повторяюсь уже не первый раз, я говорю не о виртуальном стандарте виртуального языка, а о конкретно типе int языка C/C++. Именно на этот тип наложено вот такое заклятье, быть равным разрядности процессора. Именно в этом типе по случайному совпадению, видимо, хранятся ссылки. Которые ОБЯЗАНЫ храниться в области памяти равному разрядности процессора. Иначе они там не поместятся. ситуации с идиотскими контроллерами разбирайте без меня, пожалуйста. хотя я лично ничего даже странного в байте длинной 5 бит не вижу абсолютно. |
|
10.06.2013, 15:33 | #699 | |
Форумец
Сообщений: 340
Регистрация: 25.07.2002
Не в сети |
Цитата:
Во первых язык С\С++ не накладывает никаких ограничений на размеры типов данных, только на минимальный диапазон значений. ВСЕ!!! Все ограничения накладывает уже конкретный КОМПИЛЯТОР под конкретную ПЛАТФОРМУ, для конкретной ОПЕРАЦИОННОЙ СИСТЕМЫ. А компилятор ОБЯЗАН реализовывать этот, как ты назвал, "виртуальный стандарт виртуального языка". Так что нет никаких ограничений, кроме тех что заложены в стандарт языка, ты как програмист можешь заточить свой код под конкретный компилятор, и получить непереносимое, трудноотлаживаемое, глючное приложение, но тебя то никто не заставляет это делать насильно!!!! Во вторых, да не обязан указатель быть адресом памяти вообще!!! Указатель может быть чем угодно, все зависит от компилятора. И при чем тут адрес памяти и какое он нафиг имеет отношение к разрядности процессора? Ты хоть одну спецификацию хоть какого-нибудь процессора читал? Ну хоть это радует. Короче языка С\С++ ты не знаешь, что такое разрядность процессора не понимаешь, архитектуру процессоров не знаешь. Садись- 2. На будущее- пиши везде ИМХО, тогда не так сильно будет раздражать твое незнание (незнание само по себе нормальная вещь, но вот выпячивать его как неприрекаемую истину, это раздражает) |
|
10.06.2013, 16:24 | #700 |
Форумец
Сообщений: 41,045
Регистрация: 27.05.2003
Возраст: 46
Не в сети |
за дурня в мой адрес или адрес другого форумца в следующий будет бан на две недели. я предупредил.
он не обязан, он им является по определению. на этом флуд в теме закрываем. разговаривать мне с Вами явно не о чем. |
10.06.2013, 16:30 | #701 | |
Форумец
Сообщений: 340
Регистрация: 25.07.2002
Не в сети |
Цитата:
и на последок: указатель на область памяти совсем не обязан быть адресом ячейки памяти(обдумай) И таки да, разговарить нам с тобой не о чем. |
|
10.06.2013, 18:49 | #702 | ||
Форумец
Сообщений: 41,045
Регистрация: 27.05.2003
Возраст: 46
Не в сети |
Цитата:
Цитата:
это точно. |
||
10.06.2013, 19:00 | #703 |
Форумец
Сообщений: 340
Регистрация: 25.07.2002
Не в сети |
Ну вот опять же глупость. Я на сях кодаю по профессии своей уже лет 15, а на явах ваших только балуюсь. И говорил я тебе русским языком ну почитай ты блин стандарт языка хотябы ISO/IEC 14882:2011 прежде чем глупости то писать.
Бан мне глубоко пофиг, не напрягайся, все равно на этом форуме лишь пара толковых людей, которых интересно почитать. Так что можешь банить. Что ты такой неверующий то и не грамотный. Я запросто переопределю тебе на сях с крестами менеджер памяти и указателем станет текстовое описание вроде "третий ящик справа на север от дохлой утки" и это будет указывать на области в файле на флешке спутника шпиона северной кореи. И это будет правильно и законно с точки зрения ЯЗЫКА С\С++ а что компилятор понимает под указателем, вообще только Аллах знает. |
10.06.2013, 19:19 | #704 | |
Пессимист
Сообщений: 618
Регистрация: 22.07.2004
Не в сети |
Цитата:
|
|
10.06.2013, 19:20 | #705 | |
Форумец
Сообщений: 41,045
Регистрация: 27.05.2003
Возраст: 46
Не в сети |
Цитата:
в бредовых спорах типа этого http://objectmix.com/c/703168-pointers-c.html где пытаются провести разницу между переменной и значением, которое она хранит, я, сразу говорю, участвовать даже не подумаю. указатель - это адрес. хранится он в переменной. ссылочного типа либо int. все компиляторы, у которых при настройках по умолчанию sizeof(int)!=sizeof(int*) подлежат немедленной утилизации. прецеденты УЖЕ были. |
|
10.06.2013, 19:26 | #706 |
Форумец
Сообщений: 340
Регистрация: 25.07.2002
Не в сети |
Ну е мае... Ну нет в стандарте языка определения что указатель на области памяти это последовательно стоящие 32 бита, ссылка на область памяти это абстракция которая реализуется компилятором по разному на разных платформах. Че ты к железу приколебался? Оно работает как умеет. Язык не зависит от платформы и реализации. Да приятель, блогодаря таким как ты хорошие программеры всегда будут цениться:-) и по поводу sizeof( int) != блаблабла любой 8 битный проц у него инт не равен сайз оф указатель на инт. и не равен разрядности проца. Начинаем дружно на свалку х86 z80 и прочие весёлые процы и контроллеры.
|
10.06.2013, 21:12 | #707 |
Форумец
Сообщений: 41,045
Регистрация: 27.05.2003
Возраст: 46
Не в сети |
это от слова "блог"?
безусловно. нет, мы сейчас дружно разберем модель памяти процессора z80, и выясним, сколько занимает указатель в нём. ты готов? |
10.06.2013, 22:38 | #708 |
Форумец
Сообщений: 340
Регистрация: 25.07.2002
Не в сети |
Пишу с планшета, ещё вопросы по орфографии будут?
Я то готов а ты? Система z80 8Kb. Компилятор использует для данных индексную адресацию относительно ix. Итог инт 16 бит ссылка на инт 8 бит и че? Обратная ситуация твоя любимая видеокарточка и компилятор шейдеров glsl. Инт ты видишь как 32 бита а в железе он может быть как 64 бит, а указатель на него вообще не документирован. Разрядность видеокарты ну положим 24 пиксельных процессора * 4 *8=768 бит, а инт теже 32 бита- профит!!! Что очередной раз доказывает что нет в языке ограничений на размер типов данных, и то ,что нужно учить матчасть, а не писать ерунду. |
10.06.2013, 23:46 | #709 |
Форумец
Сообщений: 1
Регистрация: 10.06.2013
Возраст: 31
Не в сети |
Доброго времени суток. Ищу человека, который сможет написать многооконку (для отрытия одной программы множество раз). Сразу скажу, что стандартная песочница не работает (sandboxie).
Добавляемся в скайп Mr.Anderson931 всё обсудим там. |
11.06.2013, 00:04 | #710 | |
бибизьян
Сообщений: 3,026
Регистрация: 17.02.2004
Не в сети |
Вот вам не лень
Spectator, если лень читать стандарт посмотри хотя бы limits.h и stdint.h, там определяются размеры. А в стандарте(5.3.3 Sizeof) кроме Цитата:
|
|
11.06.2013, 00:27 | #711 | |
Пессимист
Сообщений: 618
Регистрация: 22.07.2004
Не в сети |
Цитата:
Код:
#define FARDATA 1 #include <stdlib.h> void main(void) { far int *p, *q; p = malloc(sizeof(int)); q = p; // Чисто для иллюстрации *p = 123; free(p); } Код:
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 | |
Форумец
Сообщений: 41,045
Регистрация: 27.05.2003
Возраст: 46
Не в сети |
Цитата:
dn2k4, всё верно, спасибо за код. меня туда не "понесло", процессор z80 мне прекрасно знаком, я провел в дизассемблере не один и не два года, и знаю о чем говорю. |
|
11.06.2013, 11:50 | #713 | |
Форумец
Сообщений: 340
Регистрация: 25.07.2002
Не в сети |
Цитата:
ИТОГО: в С/С++ 1 размер int не обязан быть равен разрядности процессора. 2 размер указателя int * не обязан быть равным размеру int 3 указатель(ссылка) не обязан быть адресом ячейки памяти что и требовалось доказать. |
|
11.06.2013, 12:14 | #714 |
Форумец
Сообщений: 231
Регистрация: 26.02.2007
Не в сети |
Не ссорьтесь, господа, не тратьте зря время, читайте википедию
"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, 18:36 | #716 |
Форумец
Сообщений: 41,045
Регистрация: 27.05.2003
Возраст: 46
Не в сети |
|
11.06.2013, 18:43 | #717 | |
Форумец
Сообщений: 41,045
Регистрация: 27.05.2003
Возраст: 46
Не в сети |
Цитата:
2. обязан 3. как Вы их вообще разделяете???? в 32 битных процессорах, чтобы не усложнять вопрос. указатель - pointer, это переменная, которая хранит адрес ячейки памяти. ССЫЛКА может быть чем то иным и зависеть от модели памяти. но указатель, pointer, и не просто pointer, а memory pointer чем вообще МОЖЕТ быть? какие есть варианты? в принципе? |
|
11.06.2013, 19:00 | #718 | ||
бибизьян
Сообщений: 3,026
Регистрация: 17.02.2004
Не в сети |
Spectator
Код:
#include <stdio.h> void main() { printf( "sizeof(int) = %d sizeof(int*) = %d\n", sizeof(int), sizeof(int*) ); } Цитата:
Цитата:
|
||
11.06.2013, 19:05 | #719 | |
Форумец
Сообщений: 231
Регистрация: 26.02.2007
Не в сети |
Ну и мой пример для кучи раз википедия не авторитет.
Цитата:
Код:
#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 |
Форумец
Сообщений: 41,045
Регистрация: 27.05.2003
Возраст: 46
Не в сети |
MS VC?
Там не внезапно. Там был долгий МНОГОЛЕТНИЙ СПОР, каким по умолчанию будет int. и из соображений совместимости и во избежание того что хрен одна программа вообще заработает при переносе оставили 4 байта. Для кого то это внезапно. Для кого то не очень. Я уже молчу что это внезапно вполне регулируется настройками, по умолчанию оставили вот так. Почему - см. выше. |