ver_c0 - отображение версий файлов в колонке C0

Место, где разработчики плагинов могут поделиться своим опытом.
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

ver_c0 - отображение версий файлов в колонке C0

Post by Maximus5 »

Отображение версии *.exe и *.dll в колонке C0. Только FAR2 1588.

Code: Select all

╔═ F:\...ugin\Col0host\ver_c0 ═14:27
║n     Name      │                 ║
║..              │                 ║
║far.exe         │[x32] 2.0.0.1591 ║
║ver_c0.dll      │[x32]            ║
║ver_c0_x64.dll  │[x64]            ║
Скачать
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

Re: ver_c0

Post by Maximus5 »

Оптимизировано
Игорь Юдинцев
Posts: 726
Joined: Sun 03 Apr, 2005 22:00
Location: Казань
Been thanked: 2 times

Re: ver_c0

Post by Игорь Юдинцев »

течёт память, лочатся файлы с VERSION_INFO.
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

Re: ver_c0

Post by Maximus5 »

исправил
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

Re: ver_c0

Post by Maximus5 »

пересобрано в VC, добален бинарник для x64
(собранный в gcc валился на 64битных dll)
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: ver_c0

Post by zg »

Maximus5 wrote:пересобрано в VC, добален бинарник для x64
(собранный в gcc валился на 64битных dll)
вот он гуманитарный подход во всей красе :(
User avatar
Kerberos464
Posts: 1239
Joined: Wed 29 Jul, 2009 20:24
Location: Saint-Petersburg
Has thanked: 19 times
Been thanked: 1 time

Re: ver_c0

Post by Kerberos464 »

скажите, а этим плагином уже можно пользоваться "обычным фароюзерам"?
если да, то где можно найти эту колонку C0?
16.09.2012 14:35:28 +0200 - build 2799 - все нативные плагины перестали работать.
30.09.2012 03:26:20 +0200 - build 2851 - все макросы перестали работать.
31.02.2029 25:61:61 +0200 - build 6666 - весь фар перестал работать.
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

Re: ver_c0

Post by Maximus5 »

Да, ты знаешь, почему-то проще (или быстрее) выложить рабочую сборку, чем разбираться в глюках gcc.
Наверное ты делаешь по другому?

Может в gcc какие-то хидеры неправильные, это я буду разбираться. А пока буду - люди уже смогут пользоваться не падающей версией.

Если ты это называешь гуманитарным подходом - то я скорее гуманным.
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: ver_c0

Post by zg »

Maximus5 wrote:Да, ты знаешь, почему-то проще (или быстрее) выложить рабочую сборку, чем разбираться в глюках gcc.
спешить увеличивать энтропию вселенной, это конечно очень важно.
Наверное ты делаешь по другому?
да.
Может в gcc какие-то хидеры неправильные, это я буду разбираться.
может. а может у тебя в коде баг. и сборка другим компилятором просто маскирует его?
Если ты это называешь гуманитарным подходом - то я скорее гуманным.
я называю этот подход несколько иначе. «гуманитарный» — гуманное обозначение для этого форума.
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

Re: ver_c0

Post by Maximus5 »

вежливо облить грязью - у некоторых это хорошо получается, да...

Вот объясни мне, как крупный специалист гуманитарию. Почему вот эта программа, собранная для x86,

Code: Select all

#include <windows.h>
#include <stdio.h>
int __cdecl main()
{
	printf("sizeof(IMAGE_NT_HEADERS64)=%i\n", sizeof(IMAGE_NT_HEADERS64));
	printf("sizeof(IMAGE_FILE_HEADER)=%i\n", sizeof(IMAGE_FILE_HEADER));
	printf("sizeof(IMAGE_OPTIONAL_HEADER64)=%i\n", sizeof(IMAGE_OPTIONAL_HEADER64));
	return 0;
}
выдает различные при сборке разными компиляторами?

Ошибку в коде я в упор не вижу. Допускаю, что я не умею мейки для gcc делать, но сомневаюсь, что дело в нем.
Attachments
test64.7z
исходник, мейки, бинарники
(26.21 KiB) Downloaded 389 times
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Re: ver_c0

Post by Shmuel »

Maximus5 wrote:Почему вот эта программа, собранная для x86,
[...]
выдает различные результаты
Потому что это - плохая программа. Для функций семейства printf компилятор не обязан проверять (и чаще всего - не проверяет) соответствие типов между шаблонами и аргументами - это ответственность программиста. Не проверяется и соответствие числа шаблонов числу аргументов.

Например, нижеследующий вызов может просто завалить программу:

Code: Select all

printf("%i %i %i %i", 5);
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Re: ver_c0

Post by HaRT »

Shmuel wrote:Потому что это - плохая программа. Для функций семейства printf компилятор не обязан
То, что Вы пишете про printf, правда; то, что про эту программку — нет.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
Andrey Budko
Posts: 1203
Joined: Fri 01 Apr, 2005 14:03
Contact:

Re: ver_c0

Post by Andrey Budko »

гнуси кривое?

мож обновить хидеры?
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Re: ver_c0

Post by Shmuel »

HaRT wrote:
Shmuel wrote:Потому что это - плохая программа. Для функций семейства printf компилятор не обязан
То, что Вы пишете про printf, правда; то, что про эту программку — нет.
К сожалению, Вы не аргументируете, придётся мне:
Whether the result of sizeof is unsigned int or unsigned long is implementation defined.
Некогда сейчас искать стандарт - вот первая попавшаяся ссылка.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Re: ver_c0

Post by HaRT »

Shmuel wrote:Некогда сейчас искать стандарт - вот первая попавшаяся ссылка.
Стандарт 2003-его года на C++ гласит “The result is a constant of type size_t.” (5.3.3.6). Т.е. результат действительно запросто может оказаться больше, чем int. Т.о. в продукт такой код и впрямь плох. А вот для быстрого эксперимента — что мы собственно тут и наблюдаем — вполне.
Если ещё учесть, на платформе какого семейства автор программку запускал, становится понятно, что к иллюстрируемому различию та огреха отношения не имеет, и Ваш вывод “Потому что это - плохая программа” ложен.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Post Reply

Return to “Разработка плагинов”