|
64-я разрядная UDF
|
|||
---|---|---|---|
#18+
Искал в гугле про перевод UDF с 32 на 64 бита. Путного ничего не нашел. Поэтому вопросы форумчанам: 1. Какие у вас были проблемы при перекомпиляции dll на 64 бита? 2. Как вы тестировали 64-битную dll? 3. Сейчас декларация ib_util_malloc выглядит следующим образом: Код: pascal 1.
В 64-битной версии параметр Size остался прежним или стал 64-битным? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2017, 09:05 |
|
64-я разрядная UDF
|
|||
---|---|---|---|
#18+
CyberMax, 1. Обход глюков компилятора. В особенности - этого http://www.sql.ru/forum/1263501/arifmetika-v-fpc-cast-integer-to-int64 https://bugs.freepascal.org/view.php?id=32046 2. На глаз + тесткейсы; 3. Остался прежним. sizeof(int)=4 на 64бит. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2017, 14:31 |
|
64-я разрядная UDF
|
|||
---|---|---|---|
#18+
YuRock3. Остался прежним. sizeof(int)=4 на 64бит.Ничего не путаешь? На x86_64, тип int - 64 бита (8 октетов). ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2017, 15:28 |
|
64-я разрядная UDF
|
|||
---|---|---|---|
#18+
CyberMaxИскал в гугле про перевод UDF с 32 на 64 бита. Путного ничего не нашел. Поэтому вопросы форумчанам: 1. Какие у вас были проблемы при перекомпиляции dll на 64 бита? 2. Как вы тестировали 64-битную dll? 3. Сейчас декларация ib_util_malloc выглядит следующим образом: Код: pascal 1.
В 64-битной версии параметр Size остался прежним или стал 64-битным?Собирая на GCC (MSYS2) одни и те же исходники UDF под 32 и 64, никаких проблем, особо, не наблюдал. При написании исходников надо лишь учесть, что int, указатели и, естественно, size_t - 64 битные, а размерность int больше не равна размерности long. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2017, 15:31 |
|
64-я разрядная UDF
|
|||
---|---|---|---|
#18+
rdb_dev, судя по некоторым признакам, речь идёт о компиляторе с Паскаля. В котором умудрились тип Integer оставить 32 битным. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2017, 16:37 |
|
64-я разрядная UDF
|
|||
---|---|---|---|
#18+
чччДВ котором умудрились тип Integer оставить 32 битным. Ты не поверишь, но в С int тоже 32 бита. Это с long int возможны варианты. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2017, 18:01 |
|
64-я разрядная UDF
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovчччДВ котором умудрились тип Integer оставить 32 битным. Ты не поверишь, но в С int тоже 32 бита. Это с long int возможны варианты. С точностью до "наоборот", если речь идет о нативном x86_64 (где разрядность int, а также указателей и size_t, всегда соответствует разрядности платформы), а не о Cygwin. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2017, 19:20 |
|
64-я разрядная UDF
|
|||
---|---|---|---|
#18+
rdb_devС точностью до "наоборот", если речь идет о нативном x86_64 Парень, я собираю свою софтину под четыре платформы обоих разрядностей. Без тесткейса не поверю. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2017, 19:52 |
|
64-я разрядная UDF
|
|||
---|---|---|---|
#18+
rdb_devYuRock3. Остался прежним. sizeof(int)=4 на 64бит.Ничего не путаешь? На x86_64, тип int - 64 бита (8 октетов).Я - нет. Это ты путаешь. Я уже своё отпутал. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2017, 20:18 |
|
64-я разрядная UDF
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovчччДВ котором умудрились тип Integer оставить 32 битным. Ты не поверишь, но в С int тоже 32 бита. Это с long int возможны варианты.В описании вроде просто long, значит 4 байта. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2017, 20:29 |
|
64-я разрядная UDF
|
|||
---|---|---|---|
#18+
YuRockВ описании вроде просто long, значит 4 байта. Да нет, это как раз тот long с которым есть варианты. На каких-то платформах он 32 бита, а на каких-то 64. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2017, 22:04 |
|
64-я разрядная UDF
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovПарень, я собираю свою софтину под четыре платформы обоих разрядностей. Без тесткейса не поверю.Мда... Пардон муа! Меня заклинило на typedef unsigned int size_t Видимо, при переходе с 16 на 32. Не знаю, почему в память врезалось, что int на x64 имеет такую же разрядность. Как-будто об этом даже где-то читал. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2017, 23:14 |
|
64-я разрядная UDF
|
|||
---|---|---|---|
#18+
YuRockDimitry Sibiryakovпропущено... Ты не поверишь, но в С int тоже 32 бита. Это с long int возможны варианты.В описании вроде просто long, значит 4 байта.Из "_mingw.h": Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2017, 23:27 |
|
64-я разрядная UDF
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovДа нет, это как раз тот long с которым есть варианты. На каких-то платформах он 32 бита, а на каких-то 64.Нашел то, о чем регулярно забываю: 64-bit data models Data model short (integer) int long (integer) long long pointers, size_t Sample operating systemsLLP64, IL32P64 16 32 32 64 64 Microsoft Windows (x86-64 and IA-64) using Visual C++; and MinGWLP64, I32LP64 16 32 64 64 64 Most Unix and Unix-like systems, e.g., Solaris, Linux, BSD, macOS. Windows when using Cygwin; z/OSILP64 16 64 64 64 64 HAL Computer Systems port of Solaris to the SPARC64SILP64 64 64 64 64 64 Classic UNICOS[41] (versus UNICOS/mp, etc.) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2017, 00:03 |
|
64-я разрядная UDF
|
|||
---|---|---|---|
#18+
YuRockНичего не путаешь? На x86_64, тип int - 64 бита (8 октетов).Я - нет. Это ты путаешь. Я уже своё отпутал.[/quot]Да, это я путаю. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2017, 00:05 |
|
64-я разрядная UDF
|
|||
---|---|---|---|
#18+
Коллеги, вопрос по ib_util_malloc был не в части, сколько бит у Integer - 32 или 64, а размерность этого параметра в этой dll у 64-х битного Firebird - 4 байта или 8. Если 8, то к чему приведет передача туда 4 байт - к спонтанным сбоям в работе сервера или это сразу отразится на нем? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2017, 08:13 |
|
64-я разрядная UDF
|
|||
---|---|---|---|
#18+
CyberMax, размерность long - 32 бита. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2017, 09:39 |
|
64-я разрядная UDF
|
|||
---|---|---|---|
#18+
rdb_devCyberMax, размерность long - 32 бита на винде 32, на линуксе 64 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2017, 11:24 |
|
|
start [/forum/topic.php?fid=40&fpage=38&tid=1561308]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
others: | 307ms |
total: | 458ms |
0 / 0 |