Всем привет. Есть на винте некий файл, скажем tmp.txt расположенный в корне проекта(но не обезательно), в программе есть константа, как можно сделать чтобы при компиляции в эту константу заносилсся размер этого файла ?
alexander55
Nov 2 2007, 10:10
Цитата(MALLOY2 @ Nov 2 2007, 12:34)
Всем привет. Есть на винте некий файл, скажем tmp.txt расположенный в корне проекта(но не обезательно), в программе есть константа, как можно сделать чтобы при компиляции в эту константу заносилсся размер этого файла ?
Вариант 1. Лучше не tmp.txt, а tmp.h. Написать программу, которая вычисляет, а затем пишет в файл константу в виде #define CONT (число, которое вычмслили). Подключите файл tmp.h.
zltigo
Nov 2 2007, 13:57
Постановка задачи какая-то совсем неправильная. Ну лежит где-то файл. Если он потом будет лежать на файловой системе, то у системы и спрашивайте, если его потом куда-то унутрь прошивки упихали, то sizeof() объекта кто мешает использовать.
MALLOY2
Nov 5 2007, 07:02
Целые выходные ковырялся, вывод нормально не получится сделать, получается только прикрепить файл как бинарник к проекту, и взять резмер секции... но мне надо только его размер сам файл мне ненужен.
Вобщем буду ручками вписывать.
zltigo
Nov 5 2007, 09:27
Цитата(MALLOY2 @ Nov 5 2007, 10:02)
Целые выходные ковырялся..
Один из платформенно независимых вариантов - файл сконветировать в текстовый ("тема" поднимается не реже раза в месяц - найдете), полученный файл через include включить в обьявление массива. Получить размер массива.
alexander55
Nov 6 2007, 07:19
Цитата(MALLOY2 @ Nov 5 2007, 10:02)
Вобщем буду ручками вписывать.
Это вариант 2.
Непомнящий Евгений
Nov 11 2007, 08:28
Цитата(MALLOY2 @ Nov 5 2007, 10:02)
Вобщем буду ручками вписывать.
А чем не устраивает вариант сторонней программкой получить размер файла и записать в tmp.h что-то типа #define TMP_FILE_SIZE 12345? И прописать эту программку в секцию выполняемых до build-а...
MALLOY2
Nov 12 2007, 07:15
Ее писать надо на это нету времени.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.