Jump to content

Как собрать файлы с разными расширениями и форматами в один файл, как в Star CCM и Ansys?


Recommended Posts

nikita_paul3

Здравствуйте. Помогите, пожалуйста, разобраться в вопросе.
У меня есть приложение (.exe), которое при запуске создает несколько файлов с разными расширениями и разными форматами данных. (.dll,. yaml  .mesh и т. д.)
Подскажите пожалуйста, как сделать так, чтобы все файлы содержались в ОДНОМ файле? В продуктах Star CCM + и Ansysв всё содержится в одном файле. Я хочу сделать также. Можете предложить варианты?

Link to post
Share on other sites


UnPinned posts
nikita_paul3
1 минуту назад, Борман сказал:

В zip архив затолкай.

А что делать, если все эти файлы будут весить более 30 гб?
Скорость и время для очень важны. Он долго будет архивировать

Link to post
Share on other sites
karachun
1 час назад, nikita_paul3 сказал:

и Ansysв

Обычно проект в ансисе, в воркбенче, это целая отдельная папка с ворохом подпапок и с запутанной структурой.

Link to post
Share on other sites
nikita_paul3
21 минуту назад, Борман сказал:

В zip архив без сжатия значит.

Я пробовал, всё равно архивирует долго

16 минут назад, karachun сказал:

Обычно проект в ансисе, в воркбенче, это целая отдельная папка с ворохом подпапок и с запутанной структурой.

А если в ССМ? Как сделать как у них? Или хотя бы наподобие?

Link to post
Share on other sites
karachun
14 минут назад, nikita_paul3 сказал:

Я пробовал, всё равно архивирует долго

Ну а какой еще есть выбор? Если нужно собрать несколько файлов в один то нужен архив. Вон, в играх все ресурсы запаковывают от любопытных глаз и ничего. Звуки, текстуры и модели (которые в современных играх уже перевалили за сотню гигабайт суммарного веса) грузятся мгновенно, так что пользователь не испытывает дискомфорта.

 

13 минут назад, nikita_paul3 сказал:

А если в ССМ? Как сделать как у них? Или хотя бы наподобие?

А кто же вам расскажет. Здесь разработчиков стара нет и вряд-ли кто-то подробно копался в его файлах.

 

Вообще, может вам на форум программистов обратится? Может там вам подскажут.

Мы же работаем в CAE а не создаем CAE. Вот если бы вам балку какую посчитать или течение жидкости в трубе то другое дело, а так...

 

Хотя может @ДОБРЯК что-то подскажет.

@nikita_paul3 Вон, в Линухе же есть команда tar которая сцепляет файлы в один архив без сжатия.

Тот же Ansys Fluent раньше работал с архивами .gz и особых тормозов не наблюдалось. А сейчас они завели собственный архивный формат и его тоже можно использовать как опцию по умолчанию и не испытывать проблем со скоростью.

Link to post
Share on other sites
ДОБРЯК
2 часа назад, nikita_paul3 сказал:

Подскажите пожалуйста, как сделать так, чтобы все файлы содержались в ОДНОМ файле?

Нужно всю информацию писать в один файл.

  • Нравится 1
Link to post
Share on other sites
karachun
11 минут назад, ДОБРЯК сказал:

Нужно всю информацию писать в один файл.

 

Link to post
Share on other sites
Maik812
2 часа назад, nikita_paul3 сказал:

Я пробовал, всё равно архивирует долго

Тотал командер выбирай архивы или типа архивов там моря плагинов архиваторных... в том числе tar,img  всякие без сжатия

НО я скажу что я измерял передачу на носитель и зип выигрывал при сжатии так как запись на носитель дольше чем сжатие.. размер меньше и по этому быстрей пишется..

Link to post
Share on other sites
ДОБРЯК
5 часов назад, karachun сказал:
сов назад, ДОБРЯК сказал:

Нужно всю информацию писать в один файл.

Проблема такая.

Цитата

long lseek(int handle, long offset, int origin)

Прототип: 
Описание: 

Функция lseek() является частью UNIX-подобной системы ввода/вывода и не определена в стан­дарте ANSI С.

Функция lseek() устанавливает указатель положения в файле, указанном дескриптором handle, в положение, указанное аргументами offset и origin.

Действия lseek() зависят от значений аргументов origin и offset. Аргумент origin может прини­мать значения 0, 1 или 2. В следующей таблице показано, как интерпретируется смещение offset для каждого значения origin:

Origin Результат обращения к lseek()
0 Смещение отсчитывается от начала файла
1 Смещение отсчитывается от текущей позиции
2 Смещение отсчитывается от конца файла

Если смещение от начала файла задать 100 Мб и записать всего 1 Б то размер файла будет = 100 Мб. Такая файловая система в Виндах. Это наследие ДОСа.

В UNIX это занимает ссылку + 1 б.

Нужно программисту самому провязывать файл.

Поэтому и режут один файл на много-много маленьких, потом собирают в один.:biggrin:

 

Edited by ДОБРЯК
  • Нравится 1
Link to post
Share on other sites
nikita_paul3
13.01.2021 в 23:39, karachun сказал:

Ну а какой еще есть выбор? Если нужно собрать несколько файлов в один то нужен архив. Вон, в играх все ресурсы запаковывают от любопытных глаз и ничего. Звуки, текстуры и модели (которые в современных играх уже перевалили за сотню гигабайт суммарного веса) грузятся мгновенно, так что пользователь не испытывает дискомфорта.

 

А кто же вам расскажет. Здесь разработчиков стара нет и вряд-ли кто-то подробно копался в его файлах.

 

Вообще, может вам на форум программистов обратится? Может там вам подскажут.

Мы же работаем в CAE а не создаем CAE. Вот если бы вам балку какую посчитать или течение жидкости в трубе то другое дело, а так...

 

Хотя может @ДОБРЯК что-то подскажет.

@nikita_paul3 Вон, в Линухе же есть команда tar которая сцепляет файлы в один архив без сжатия.

Тот же Ansys Fluent раньше работал с архивами .gz и особых тормозов не наблюдалось. А сейчас они завели собственный архивный формат и его тоже можно использовать как опцию по умолчанию и не испытывать проблем со скоростью.


Хорошо, буду пробовать, а, может, подскажите популярные форумы?
а то, мне кажется я на всех уже спрашивал

Link to post
Share on other sites
Maik812
13.01.2021 в 23:39, karachun сказал:

Тот же Ansys Fluent раньше работал с архивами .gz и особых тормозов не наблюдалось.

Этот форум самый топовый :) 

А чем тебе gz не нравится архив ?

GZ arh_0001.jpg

Link to post
Share on other sites
nikita_paul3
29 минут назад, Maik812 сказал:

Этот форум самый топовый :) 

А чем тебе gz не нравится архив ?

GZ arh_0001.jpg


Д не, можно. Я вот пытаюсь что-то сделать.
У меня просто проект написан на С++ и мне нужно, чтобы сама программа заархивировала эти файлы.
И еще желательно со своим расширением, например project.123

 

Link to post
Share on other sites
ДОБРЯК
15.01.2021 в 21:08, nikita_paul3 сказал:

У меня просто проект написан на С++ и мне нужно, чтобы сама программа заархивировала эти файлы.

Если вам нужно собрать все файлы в один файл, то эта функция пишется максимум за 1 час. С помощью функций read и write.

Если нужно архивировать, то найдите в Интернете исходные коды zip архиватора.

Но для 30 Гб это будет долго.

 

Link to post
Share on other sites
nikita_paul3
12 минут назад, ДОБРЯК сказал:

Если вам нужно собрать все файлы в один файл, то эта функция пишется максимум за 1 час. С помощью функций read и write.

Если нужно архивировать, то найдите в Интернете исходные коды zip архиватора.

Но для 30 Гб это будет долго.

 

А что вы посоветуете, если мне надо заархивировать и потом работать с информацией в этих файлах?
тоесть я хочу потом не разархивировать обратно, а как-нибудь открыть для чтения и работать с файлами.

По поводу записи в один файл-понял, попробую.

Link to post
Share on other sites
ДОБРЯК
5 часов назад, nikita_paul3 сказал:

я хочу потом не разархивировать обратно, а как-нибудь открыть для чтения и работать с файлами.

Не получится.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.



  • Сообщения

    • kfmut
      Имелось ввиду, что ресурсные показатели даны для номинальной нагрузки, а об максималках можно предполагать только то, что контакты будут размыкаться и тепловыделение не превратит релейку в угли.
    • co11ins
      предлагаю отправить деда в составе нашей команды на специальную олимпиаду  а хотя, какая команда? зачем ему конкуренты? он один во всех видах возьмет золото и славу. это и будет долгожданное мировое величие и признание правила как раз подходят для нашего гения     
    • Viktor2004
      Раскрывать заказчика не имею права. Это металлообработка, при чем достаточно точная.
    • AlexKaz
      Это же простая штука. Я такую на ассемблере для KolibriOS написал за пару недель. А тут высокоуровневый апдл... Ещё один тезис в копилку, мол писать хоть на брейнфаке - лишь бы писать.
    • gudstartup
      Интересно что какую продукцию может производить станок с таким износом суппорта наверное это деревообработка Даташит обещает 2А на индуктивной нагрузке.  
    • Крутой инвестор из ЕС
      Я считаю, что Турта вполне заслуживает Шнобелевскую премию. Все-таки разработать за 39 лет никому ненужный сервис автоматизации создания УП для несуществующего станка 80-х годов - это вполне себе серьезная претензия на получения Премии и 1 триллиона долларов! (как Турта и мечтает)   Кстати, доллары настоящие, и это реально триллион, а саму премию вручаю реальные лауреаты Нобелевки. Так что все серьезно!   И как Турта мечтает, после смерти еще известность получить - так это тогда уже к Премии Дарвина. Так как Турта к счастью потомства не оставил, то и на эту премию он претендовать тоже может.
    • Моль
      Точно! Спасибо Огромнейшее!! Перед носом как говорится весит и смотрит на меня, а я в упор его не вижу. Все таки 2е головы лучше чем 1 хотя не с бодуна
    • Forest_Man
      Явно отсюда. Разберитесь с циклом - что за К, для чего, и зачем ему своя подача!? Если она там не нужна, то просто убрать с кода. Типа так {' K' depth ' D' down_step}
    • ANT0N1DZE
      Я предполагал между людьми, но мериться у кого ИИ круче тоже можно
    • Plumber
      Вот как правительство страны заботится о своих гражданах   
×
×
  • Create New...