Page 1 of 3

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

Posted: Sun 13 Jun, 2010 02:38
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]            ║
Скачать

Re: ver_c0

Posted: Sun 13 Jun, 2010 14:37
by Maximus5
Оптимизировано

Re: ver_c0

Posted: Sun 13 Jun, 2010 14:47
by Игорь Юдинцев
течёт память, лочатся файлы с VERSION_INFO.

Re: ver_c0

Posted: Sun 13 Jun, 2010 14:59
by Maximus5
исправил

Re: ver_c0

Posted: Mon 14 Jun, 2010 12:20
by Maximus5
пересобрано в VC, добален бинарник для x64
(собранный в gcc валился на 64битных dll)

Re: ver_c0

Posted: Mon 14 Jun, 2010 12:23
by zg
Maximus5 wrote:пересобрано в VC, добален бинарник для x64
(собранный в gcc валился на 64битных dll)
вот он гуманитарный подход во всей красе :(

Re: ver_c0

Posted: Mon 14 Jun, 2010 12:31
by Kerberos464
скажите, а этим плагином уже можно пользоваться "обычным фароюзерам"?
если да, то где можно найти эту колонку C0?

Re: ver_c0

Posted: Mon 14 Jun, 2010 12:32
by Maximus5
Да, ты знаешь, почему-то проще (или быстрее) выложить рабочую сборку, чем разбираться в глюках gcc.
Наверное ты делаешь по другому?

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

Если ты это называешь гуманитарным подходом - то я скорее гуманным.

Re: ver_c0

Posted: Mon 14 Jun, 2010 12:48
by zg
Maximus5 wrote:Да, ты знаешь, почему-то проще (или быстрее) выложить рабочую сборку, чем разбираться в глюках gcc.
спешить увеличивать энтропию вселенной, это конечно очень важно.
Наверное ты делаешь по другому?
да.
Может в gcc какие-то хидеры неправильные, это я буду разбираться.
может. а может у тебя в коде баг. и сборка другим компилятором просто маскирует его?
Если ты это называешь гуманитарным подходом - то я скорее гуманным.
я называю этот подход несколько иначе. «гуманитарный» — гуманное обозначение для этого форума.

Re: ver_c0

Posted: Mon 14 Jun, 2010 16:31
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 делать, но сомневаюсь, что дело в нем.

Re: ver_c0

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

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

Code: Select all

printf("%i %i %i %i", 5);

Re: ver_c0

Posted: Mon 14 Jun, 2010 18:34
by HaRT
Shmuel wrote:Потому что это - плохая программа. Для функций семейства printf компилятор не обязан
То, что Вы пишете про printf, правда; то, что про эту программку — нет.

Re: ver_c0

Posted: Mon 14 Jun, 2010 18:40
by Andrey Budko
гнуси кривое?

мож обновить хидеры?

Re: ver_c0

Posted: Mon 14 Jun, 2010 18:46
by Shmuel
HaRT wrote:
Shmuel wrote:Потому что это - плохая программа. Для функций семейства printf компилятор не обязан
То, что Вы пишете про printf, правда; то, что про эту программку — нет.
К сожалению, Вы не аргументируете, придётся мне:
Whether the result of sizeof is unsigned int or unsigned long is implementation defined.
Некогда сейчас искать стандарт - вот первая попавшаяся ссылка.

Re: ver_c0

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