Здесь можно обсудить ваш любимый плагин.
Kirillony
Posts: 211 Joined: Tue 24 Jan, 2006 18:49
Has thanked: 5 times
Been thanked: 1 time
Post
by Kirillony » Wed 25 Jan, 2012 21:29
Latest post of the previous page:
5.4.2 - полёт нормальный.
Спасибо!
Kirillony
zg
zero-gravity
Posts: 5651 Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 114 times
Contact:
Post
by zg » Tue 07 Feb, 2012 19:37
а сложно подсчёт crc16 добавить?
zg
chupakabra
Posts: 1024 Joined: Wed 27 Jul, 2005 19:36
Contact:
Post
by chupakabra » Tue 07 Feb, 2012 19:58
Не сложно. Есть на примете какая-нибудь реализация?
chupakabra
2useven10
Posts: 3982 Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 173 times
Post
by 2useven10 » Tue 07 Feb, 2012 20:28
Если не гнаться за скоростью...
Code: Select all
class MakeTableCRC16
{
public:
static CO_U16* table; //[256];
MakeTableCRC16()
{
if ( table )
return;
table = new CO_U16[256];
CO_U16 d, i, k, fcs;
for( i = 0; i < 256; i++)
{
fcs = 0;
for( d = (CO_U16)(i << (k = 8)); k--; d <<= 1 )
{
if ((fcs ^ d) & 0x8000)
fcs = (CO_U16)((fcs << 1) ^ 0x1021); // x16 + x12 + x5 + 1 generator polynomial
else
fcs = (CO_U16)((fcs << 1));
}
table[i] = fcs;
}
}
~MakeTableCRC16()
{
delete[] table;
}
};
CO_U16* MakeTableCRC16::table = 0;
CO_U16 xCrypt::CRC16( const void *data, size_t len )
{
static MakeTableCRC16 s_init_CRC16;
CO_U16 fcs = 0xffff;
const CO_U8* pd = (const CO_U8 *)data;
while ( len-- )
fcs = (CO_U16)((fcs << 8) ^ MakeTableCRC16::table[(fcs >> 8) ^ *pd++]);
return fcs;
}
компилиться не будет - выдрано из проекта, но правки нужны минимальные...
2useven10
zg
zero-gravity
Posts: 5651 Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 114 times
Contact:
Post
by zg » Tue 07 Feb, 2012 20:44
chupakabra wrote: Не сложно. Есть на примете какая-нибудь реализация?
например .
zg
chupakabra
Posts: 1024 Joined: Wed 27 Jul, 2005 19:36
Contact:
Post
by chupakabra » Tue 07 Feb, 2012 21:21
Нужен такой вариант?
universal_crc -b 16 -p 0x1021
chupakabra
zg
zero-gravity
Posts: 5651 Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 114 times
Contact:
Post
by zg » Tue 07 Feb, 2012 21:45
chupakabra wrote: Нужен такой вариант?
universal_crc -b 16 -p 0x1021
такой:
universal_crc -b 16 -p 0x8005 -i 0xffff -r -a tab
updated: ну вообще tabiw самое быстрое.
zg
2useven10
Posts: 3982 Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 173 times
Post
by 2useven10 » Tue 07 Feb, 2012 21:49
standatd CRC-16 (imho) будет
universal_crc -b 16 -p 0x8005 -r -x 0xffff
тот же результат должен быть, если в моём коде взять:
начальное значение 0x0000, полином 0xA001 (зеркало от 0x8005), по окончании ^= 0xffff
пожалуй был неправ. по окончании нужно отражение, а не инверсия, как это будет в universal_crc - не знаю...
universal_crc -b 16 -p 0x8005 -r / universal_crc -b 16 -p 0xA001
2useven10
chupakabra
Posts: 1024 Joined: Wed 27 Jul, 2005 19:36
Contact:
Post
by chupakabra » Wed 08 Feb, 2012 11:05
zg, эта версия называется CRC-16 (Modbus)?
chupakabra
zg
zero-gravity
Posts: 5651 Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 114 times
Contact:
Post
by zg » Wed 08 Feb, 2012 11:24
chupakabra wrote: zg, эта версия называется CRC-16 (Modbus)?
в том числе. из википедии:
Code: Select all
CRC-16-IBM x16 + x15 + x2 + 1 (Bisync, Modbus, USB, ANSI X3.28, many others; also known as CRC-16 and CRC-16-ANSI)
zg
zg
zero-gravity
Posts: 5651 Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 114 times
Contact:
Post
by zg » Wed 08 Feb, 2012 19:34
у меня считает, то что мне было нужно. спасибо.
zg
ShadowNev
Posts: 86 Joined: Fri 06 Feb, 2009 12:54
Has thanked: 1 time
Post
by ShadowNev » Thu 09 Feb, 2012 08:13
Last edited by
ShadowNev on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Спрятана картинка
Только глупцы могут быть непоколебимы в своей уверенности. (c) Монтень.
ShadowNev
Denis
Posts: 1420 Joined: Tue 05 Apr, 2005 18:12
Has thanked: 7 times
Been thanked: 2 times
Post
by Denis » Thu 09 Feb, 2012 08:38
В диалогах не хватает shortcuts для CRC16.
Denis
Anax
Posts: 5 Joined: Fri 04 Dec, 2009 11:39
Post
by Anax » Tue 21 Feb, 2012 14:53
Каким образом можно получить "Link time"? В структуре VS_FIXEDFILEINFO, элементы dwFileDateMS и dwFileDateLS это оно или нет?
У меня всегда dwFileDateMS==0 и dwFileDateLS==0
А как в плагине это сделано?
Anax
chupakabra
Posts: 1024 Joined: Wed 27 Jul, 2005 19:36
Contact:
Post
by chupakabra » Tue 21 Feb, 2012 16:14
LOADED_IMAGE* image = ImageLoad();
image->FileHeader->FileHeader.TimeDateStamp
Исходники открыты кстати.
chupakabra
Anax
Posts: 5 Joined: Fri 04 Dec, 2009 11:39
Post
by Anax » Tue 21 Feb, 2012 18:19
Спасибо большое!
Anax
cmd.exe
Posts: 375 Joined: Fri 16 Apr, 2010 18:26
Location: Нижний Новгород
Has thanked: 180 times
Been thanked: 8 times
Contact:
Post
by cmd.exe » Fri 30 Mar, 2012 13:00
Far.3.0.2579 x86 + NTFSFile 5,5,0 падает...
I've been using Vim for about 2 years now, mostly because I can't figure out how to exit it. (c) I Am Devloper
I know nothing except the fact of my ignorance. (с) Socrates
cmd.exe