Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
knkd
37 / 36 / 2
Регистрация: 08.08.2010
Сообщений: 162
#1

Информация о исполняемом файле. - C++

16.09.2010, 21:16. Просмотров 616. Ответов 5
Метки нет (Все метки)

Как можно добавить в исполняемый файл (Win32) дополнительную информацию которую можно посмотреть в проводнике? Номер версии в часности.
Используемый компилятор - MinGW.

То что это возможно - гарантировано
Я компилировал исходники архиватора XZ и там эта информация есть.
Она там вводится в файлах с расширением *.rc, но там куча макросов и принцип действия мне непонятен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.09.2010, 21:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Информация о исполняемом файле. (C++):

Вызов функции в другом исполняемом файле - C++
Привет всем. Вопрос такой. Есть исполняемый файл.У которого есть некоторая полезная нагрузка. Тоесть несколько функций. Мне...

Сохранение информации в самом исполняемом файле - C++
Здравствуйте! Мучает вопрос, можно ли сохранить данные, допустим текст, значения, в самом исполняемом файле, например... #include...

Сохранение изменений в исполняемом файле, "самоизменяющийся" .exe файл - C++
Добрый день. В свое время был замечательный опыт программирования на ассемблере Z80 (ZX Spectrum), где можно было творить все, что...

Написать программу- вводная информация в файле in.txt, выходная информация в out.txt - C++
Написать программу- вводная информация в файле in.txt, выходная информация в out.txt. Срочнооо..

Информация о файле - C++
Помогите пожалуйста нужно написать программу Напишите программу, работающую под операционной системой из семейства Windows, которая для...

Информация о файле - C++
Выбрать произвольный формат файлов (avi, bmp, doc, exe, mp3, zip и т.п.) и написать программу, выводящую на экран общую информацию о...

5
niXman
Эксперт С++
3139 / 1451 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
16.09.2010, 23:26 #2
Цитата Сообщение от knkd Посмотреть сообщение
Она там вводится в файлах с расширением *.rc
так это и в мингве делается.

Цитата Сообщение от knkd Посмотреть сообщение
но там куча макросов и принцип действия мне непонятен.
и что, ты ожидаешь что кто-то это сделает за тебя?
0
knkd
37 / 36 / 2
Регистрация: 08.08.2010
Сообщений: 162
16.09.2010, 23:36  [ТС] #3
Цитата Сообщение от niXman Посмотреть сообщение
и что, ты ожидаешь что кто-то это сделает за тебя?
Я ожидаю чтоб мне хтонибуть сказал - в чём суть
То что определяем макросы с определёнными именами - понятно. Сделал только это - никаких изменений нет.
Что именно заставляет макросы превратиться в специальные поля файла?
Где копать хоть?

Поиском нашёл в MSDN, но там только: "Откройте VS2012, клацните на кнопку <Сделать Зашибись>..." и прочее
Так как ВижуалСтудии нет и не будет, то советы впрок не идут.
0
easybudda
Модератор
Эксперт CЭксперт С++
9695 / 5645 / 963
Регистрация: 25.07.2009
Сообщений: 10,850
16.09.2010, 23:40 #4
Цитата Сообщение от niXman Посмотреть сообщение
так это и в мингве делается.
Мало того - это фишка ОС, а не отдельно взятого работающего под ней компилятора.

knkd, ищите в MSDN... Первое, что на ум приходит - вот тут тег description заполнить...
0
niXman
Эксперт С++
3139 / 1451 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
16.09.2010, 23:44 #5
.rc файл - это просто текстовый файл, который можно написать в нотпаде, и скомпилировать(в твоем случае) так:
 Комментарий модератора 
Публикация ссылок на сторонние форумы запрещена правилами форума (п. 3.7).
0
knkd
37 / 36 / 2
Регистрация: 08.08.2010
Сообщений: 162
17.09.2010, 00:01  [ТС] #6
Цитата Сообщение от niXman Посмотреть сообщение
.rc файл - это просто текстовый файл, который можно написать в нотпаде, и скомпилировать(в твоем случае) так:
Что это текстовый файл, кагбе понятно.
Не понятна его структура и принцип образования.

Вот например файл из дистрибутива xz-4.999.9beta:
common_w32res.rc
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*
 * Author: Lasse Collin
 *
 * This file has been put into the public domain.
 * You can do whatever you want with this file.
 */
 
#include <winresrc.h>
#include "config.h"
#define LZMA_H_INTERNAL
#define LZMA_H_INTERNAL_RC
#include "lzma/version.h"
 
#ifndef MY_BUILD
# define MY_BUILD 0
#endif
#define MY_VERSION LZMA_VERSION_MAJOR,LZMA_VERSION_MINOR,LZMA_VERSION_PATCH,MY_BUILD
 
#define MY_FILENAME    MY_NAME MY_SUFFIX
#define MY_COMPANY     "Lasse Collin and Igor Pavlov"
#define MY_COPYRIGHT   "Public Domain by " MY_COMPANY
#define MY_COMMENTS    "http://tukaani.org/xz/"
 
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
VS_VERSION_INFO VERSIONINFO
  FILEVERSION MY_VERSION
  PRODUCTVERSION MY_VERSION
  FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
  FILEFLAGS 0
  FILEOS VOS_NT_WINDOWS32
  FILETYPE MY_TYPE
  FILESUBTYPE 0x0L
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904b0"
        BEGIN
            VALUE "Comments", MY_COMMENTS
            VALUE "CompanyName", MY_COMPANY
            VALUE "FileDescription", MY_DESC
            VALUE "FileVersion", LZMA_VERSION_STRING
            VALUE "InternalName", MY_NAME
            VALUE "LegalCopyright", MY_COPYRIGHT
            VALUE "OriginalFilename", MY_FILENAME
            VALUE "ProductName", PACKAGE_NAME
            VALUE "ProductVersion", LZMA_VERSION_STRING
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x409, 1200
    END
END


Проблема в том что он инклудится через несколько других файлов. И сам инклудит config.h в котором туева куча определений.

Если посмотреть в Makefile - получается что вся структура *.rc файлов скармливается GCC вместе с исходниками, без какой либо предварительной компиляции windres или чем-то ещё.

В общем вся структура с этими ихними BEGIN-END и магическими числами, нифига не вызывает понимания.
0
17.09.2010, 00:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.09.2010, 00:01
Привет! Вот еще темы с ответами:

Информация о файле - C++
Необходимо получить как можно больше информации о файле (который является аргументом) с использованием WinApi. Все функции с сайта...

В файле хранится информация о бытовых приборах - C++
В файле record хранится инф-ия о поступивших в ремонт бытовых приборах:тип прибора,год выпуска,наименование дефекта,наименование нужной...

Написать функцию, которая определяет, есть ли в файле информация - C++
помогите написать функцию,которая определяет,есть ли в файле информация? Аргументом является потоковое имя файла. Функция возвращает...

В текстовом файле структура – информация о компьютерах. Структура с полями: название, стоимость. - C++
Ребят, помогите пожалуйста, 29 июня экзамен по &quot;Основы программирования&quot;,кто сколько сможет сделать задач, тем всей группой поставим &quot;+&quot;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru