Форум: "Потрепаться";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];
ВнизПо C++ вопрос будет, не бейте сильно :о) Найти похожие ветки
← →
Ega23 © (2004-03-25 10:42) [0]В перечисляемом типе (enum) каждому значению присваивается некий номер.
Вопрос: какого типа это целое число, short или long?
← →
Dmitriy O. © (2004-03-25 10:44) [1]LONG
← →
Verg © (2004-03-25 10:44) [2]Это поле - типа enum
← →
Ega23 © (2004-03-25 10:45) [3]т.е. 4 байта...
Ясно, спасибо.
← →
Игорь Шевченко © (2004-03-25 10:48) [4]Зависит от настроек компилятора. Либо 2 байта, либо 4
← →
Verg © (2004-03-25 10:48) [5]
> [3] Ega23 © (25.03.04 10:45)
> т.е. 4 байта...
> Ясно, спасибо.
Счастливого пути до первого же "залета"
← →
Ega23 © (2004-03-25 10:56) [6]Счастливого пути до первого же "залета"
А поумнее чего-нибудь сказать не судьба?
← →
gek © (2004-03-25 11:11) [7]Игорь Шевченко © (25.03.04 10:48) [4]
Тебе правильно объяснил
← →
Verg © (2004-03-25 11:13) [8]
> [6] Ega23 © (25.03.04 10:56)
> А поумнее чего-нибудь сказать не судьба?
"Умнее", чем ты можешь сказать, уже невозможно.
← →
Ega23 © (2004-03-25 11:24) [9]"Умнее", чем ты можешь сказать, уже невозможно.
Объясню. Мне требовалось узнать длину индекса, присваиваемого элементу в перечисляемом типе (Игорь Шевченко © (25.03.04 10:48) [4], Спасибо).
Вы мне выдали "Это поле - типа enum". Замечательный ответ, а если учесть, что с С++ я знаком неделю (и когда-то очень давно в универе что-то читали), то получается вовсе содержательный.
Дальше шло "Счастливого пути до первого же "залета"" - вообще не понял фразу. Если Вы действительно так хорошо знаете С++, то можно было бы отписать сколько это байт. На крайняк дать ссылку в MSDN.
← →
Verg © (2004-03-25 11:30) [10]
> было бы отписать сколько это байт. На крайняк дать ссылку
> в MSDN.
Не надо ничего объяснять!!!
Есть такая фишка - sizeof()
Неужели не понятно - чего вас, программирующих на языках высокого уровня, все тянет узнать "канкретное чиселко - 2, 4, 6 или 1"?
← →
Ega23 © (2004-03-25 11:36) [11]Есть такая фишка - sizeof()
Замечательный ответ! Так и надо отвечать: "Напиши тестовую программку и посмотри sizeof()".
А сразу так нельзя было, а?
← →
Ega23 © (2004-03-25 11:37) [12]Игорь Шевченко © (25.03.04 10:48) [4]
Зависит от настроек компилятора. Либо 2 байта, либо 4
А где это посмотреть можно?
← →
Verg © (2004-03-25 11:38) [13]
> [11] Ega23 © (25.03.04 11:36)
Жизни будешь учить?
Как надо отвечать - как не надо отвечать: тебе ли решать?
← →
Игорь Шевченко © (2004-03-25 11:44) [14]Ega23 © (25.03.04 11:37)
> Зависит от настроек компилятора. Либо 2 байта, либо 4
>
> А где это посмотреть можно?
Обычно в help"е по компилятору.
← →
Ega23 © (2004-03-25 11:46) [15]Это к вопросу об ответах "мастеров". Было тут несколько веток на эту тему, можете поискать, если хочется.
← →
Verg © (2004-03-25 11:56) [16]
> [15] Ega23 © (25.03.04 11:46)
Не, ну надо же - он так нихрена и не понял...
← →
Думкин © (2004-03-25 11:59) [17]> Verg © (25.03.04 11:30) [10]
> Неужели не понятно - чего вас, программирующих на языках
> высокого уровня, все тянет узнать "канкретное чиселко -
> 2, 4, 6 или 1"?
Вас - это кого? А сам чиста на АСМе только сидишь?
← →
Ega23 © (2004-03-25 12:04) [18]Не, ну надо же - он так нихрена и не понял...
Нет. Не понял. Вразумительного Вы пока ничего не сказали (кроме sizeof()). Объяснитесь.
← →
Polevi © (2004-03-25 12:07) [19]>Ega23 © (25.03.04 12:04) [18]
вместо спасибо требуешь объяснений, вот и помогай после этого
Это к вопросу об ответах "мастеров"
← →
Ega23 © (2004-03-25 12:08) [20]2 Игорь Шевченко ©
Насколько я понял, это что-то типа /MTd /W3 /Gm /GX /ZI /Od должно быть? Вроде пробежал по всем директивам проекта, но ничего не нашёл. Из какого хоть раздела директив смотреть?
← →
DiamondShark © (2004-03-25 12:12) [21]
> Verg © (25.03.04 11:30) [10]
>
> > было бы отписать сколько это байт. На крайняк дать ссылку
>
> > в MSDN.
>
>
> Не надо ничего объяснять!!!
>
> Есть такая фишка - sizeof()
>
> Неужели не понятно - чего вас, программирующих на языках
> высокого уровня, все тянет узнать "канкретное чиселко -
> 2, 4, 6 или 1"?
Ну, например, для того чтобы перевести с одного языка на другой.
В паскале, например, нет енумов с произвольно назначаемыми значениями. Зато есть числовые типы разных размеров.
А это может оказаться хедер к какой-то библиотеке, которой вообще нет дела до языков, из которых её вызывают, но она ожидает структуры определённой длины.
Иногда, прежде чем пальцевать, желательно подумать.
← →
Ega23 © (2004-03-25 12:19) [22]Polevi © (25.03.04 12:07) [19]
Спасибо было. Посты №3, 9 и 11. И, чувствую, ещё будет.
Просто обидно. Да, я не знаю С++. Только осваиваю. Я не знаю синтаксиса функций, я пока ещё плохо разбираюсь в структуре проекта, я постоянно забываю про Case Sensitive у переменных и т.п. (короче весь набор того, что может возникнуть у человека за 5 лет привыкшего к Delphi). На форум с вопросом полез не сразу, сначала поискал в MSDN, не нашёл, спроси здесь. И пожалуйста....
← →
Игорь Шевченко © (2004-03-25 12:22) [23]Ega23 © (25.03.04 12:08)
Для Borland C++, например, -b
Смотрится в разделе "Code Generation"
← →
Ega23 © (2004-03-25 12:22) [24]Ну, например, для того чтобы перевести с одного языка на другой.
В паскале, например, нет енумов с произвольно назначаемыми значениями. Зато есть числовые типы разных размеров.
А это может оказаться хедер к какой-то библиотеке, которой вообще нет дела до языков, из которых её вызывают, но она ожидает структуры определённой длины.
Иногда, прежде чем пальцевать, желательно подумать.
Совершенно правильно! Элемент этого перечисляемого типа будет входить одним из параметров в функцию DLL, которую я как раз и пишу на С++. А вызывается эта DLL из проекта Delphi. вот я и хотел убедиться, что размер индекса перечисляемого типа в Delphi и C++ совпадают (или не совпадают).
← →
Игорь Шевченко © (2004-03-25 12:30) [25]
> Элемент этого перечисляемого типа будет входить одним из
> параметров в функцию DLL, которую я как раз и пишу на С++.
> А вызывается эта DLL из проекта Delphi. вот я и хотел убедиться,
> что размер индекса перечисляемого типа в Delphi и C++ совпадают
> (или не совпадают).
Integer (4 байта)
← →
Игорь Шевченко © (2004-03-25 12:33) [26]Ega23 © (25.03.04 12:22)
> Элемент этого перечисляемого типа будет входить одним из
> параметров в функцию DLL, которую я как раз и пишу на С++.
> А вызывается эта DLL из проекта Delphi
Это военная тайна, которую нельзя было сказать с самого начала ?
Тогда бы и ответ был бы в первых постах, и флейма бы никакого не было.
Учитесь задавать вопросы, уважаемый.
← →
Ega23 © (2004-03-25 12:38) [27]Это военная тайна, которую нельзя было сказать с самого начала ?
Тогда бы и ответ был бы в первых постах, и флейма бы никакого не было.
Нет, не военная тайна. А что, если элемент из enum идёт "вовне" его размер при этом может измениться? :о)
← →
Verg © (2004-03-25 12:40) [28]
> Ну, например, для того чтобы перевести с одного языка на
> другой.
> В паскале, например, нет енумов с произвольно назначаемыми
> значениями. Зато есть числовые типы разных размеров.
> А это может оказаться хедер к какой-то библиотеке, которой
> вообще нет дела до языков, из которых её вызывают, но она
> ожидает структуры определённой длины.
>
> Иногда, прежде чем пальцевать, желательно подумать.
Именно - подумать.
и/или просто вспомнить:
Шла речь конечно же именно про паскаль :))))
type
A = (fA, fB, fC);
type
tA = (fA = 45, fB, fC, fD); - это уже Дельфи 6 :) 45 - это конечно пальцовка или "ошибка компилятора"?
Ага, значит при
Z : tA;
будем getMem(Z, 4*<сколько надо tA-тов>) (4 - взялось от "написания тестовой прграммки с sizeof" :)) ), а не
getMem(Z, sizeof(Z)*<сколько надо tA-tов>)
Так что ли?
Ну так тогда "пальцуйтесь" сами, господа.
Как говорит Игорь - LMD
← →
Игорь Шевченко © (2004-03-25 12:43) [29]Ega23 © (25.03.04 12:38)
Размер параметра перечислимого типа - 4 байта. Я не думаю, что число перечислений в Enum будет слишком большим, чтобы возникли какие-то проблемы.
← →
Ega23 © (2004-03-25 12:44) [30]type
A = (fA, fB, fC);
type
tA = (fA = 45, fB, fC, fD); - это уже Дельфи 6 :) 45 - это конечно пальцовка или "ошибка компилятора"?
Ага, значит при
Z : tA;
будем getMem(Z, 4*<сколько надо tA-тов>) (4 - взялось от "написания тестовой прграммки с sizeof" :)) ), а не
getMem(Z, sizeof(Z)*<сколько надо tA-tов>)
Пардон, а это на каком языке написано?
← →
Ega23 © (2004-03-25 12:45) [31]Размер параметра перечислимого типа - 4 байта. Я не думаю, что число перечислений в Enum будет слишком большим, чтобы возникли какие-то проблемы.
Спасибо. Число перечислений в Enum действительно будет порядка 20.
Но, блин, я же теперь не успокоюсь, пока описание этой директивы компилятору не найду! :о)
← →
DiamondShark © (2004-03-25 13:11) [32]
> Verg © (25.03.04 12:40) [28]
А где было про дельфи 6? Я что-то пропустил, не прочитал?
А что касательно выделенного жирным... Дык, эта... Кто-то утвеждал, что знать размер типов вообще нафиг не надо.
ЗЫ
Кстати, а sizeof(tA) -- это сикока будет?
← →
Verg © (2004-03-25 13:13) [33]
> Кстати, а sizeof(tA) -- это сикока будет?
Дэсять
← →
Ega23 © (2004-03-25 13:18) [34]2 Verg ©
Так на каком языке был написан пост [28]?
← →
Verg © (2004-03-25 13:25) [35]
> [34] Ega23 © (25.03.04 13:18)
> 2 Verg ©
>
> Так на каком языке был написан пост [28]?
Зачем тебе? - Ты все равно его не знаешь.
Продолжайте подставлять циферки, друг мой...
← →
Ega23 © (2004-03-25 13:30) [36]Зачем тебе? - Ты все равно его не знаешь.
Уходим от ответа? Я самый умный, а вы все дураки?
Воистину LMD.
← →
Verg © (2004-03-25 13:36) [37]
> [36] Ega23 © (25.03.04 13:30)
> Зачем тебе? - Ты все равно его не знаешь.
>
> Уходим от ответа?
Воистину так.
Мне - не надо, как тебе - не знаю.
Я все сказал: кому очень надо, тот все поймет.
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.031 c