ресурсы в gcc

Тема в разделе "LANGS.C", создана пользователем cupuyc, 15 дек 2009.

  1. cupuyc

    cupuyc New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2009
    Сообщения:
    763
    табличка типа double arr[20][20]. элементы тыблицы - множество значений функции двух переменных. я нахожу значения этой фуцнкции численно и забиваю в табличку.

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

    я вот думаю - можно ли генерировать табличку на этапе компиляции и добавлять её в ресурсы?
     
  2. cupuyc

    cupuyc New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2009
    Сообщения:
    763
    что подключить?
     
  3. cupuyc

    cupuyc New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2009
    Сообщения:
    763
    так я про это и спрашиваю.
    1. писать 2 программки. одна генерирует текстовый файл (*.h *.res *.cpp или ...). другая юзает этот файл.
    2. есть одна прога. нужна написать какой-нибудь скрипт, чтобы он при компиляции проги рассчитывал значения элементов массива и генерировал файл ресурсов... что-то типа препроцессора.
     
  4. Voodoo

    Voodoo New Member

    Публикаций:
    0
    Регистрация:
    9 апр 2003
    Сообщения:
    297
    Адрес:
    Новосибирск
    cupuyc
    есть куча вариантов.
    ресурсы - самый неудобный, надо сказать. не кроссплатформенно, не совсем прямой доступ.
    самый простой - написать программу-генератор исходника с таблицей, потом его скомпилить и слинковать с остальными.
    самый "интересный" - написать compile-time генератор таблицы на шаблонах цпп. очень дзенно и вполне реально, я читал статью про генерацию таблиц для crc таким методом. очень занятно.

    выбирай любой.
     
  5. cupuyc

    cupuyc New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2009
    Сообщения:
    763
    да в принципе пох - что ресурсы, что хидер. вопрос в том, как сгенерировать табличку. я х.з., может попробовать написать скриптик для shell'а, его закинуть в мейкфайл. т.е. при сборке сначала будет вызываться скрипт, тот создаст файлик, добавит его в проект, а затем запустится gcc и соберёт проект... как-то так нужно...
     
  6. Voodoo

    Voodoo New Member

    Публикаций:
    0
    Регистрация:
    9 апр 2003
    Сообщения:
    297
    Адрес:
    Новосибирск
    cupuyc
    необязательно на шелле. проще взять что-либо поудобнее, типа питона.
    да, прописываешь в мэйкфайл и всего делов.
     
  7. maksim_

    maksim_ New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2009
    Сообщения:
    263
    ну да. собственно в этом и проблемма. плохо представляю как на шелле написать процедуру решения системы уравнений. тем более, нескоько стремает, что всё это будет работать только под линью и, в лучшем случае, под MinGW.
     
  8. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    питон, перл, пхп
     
  9. maksim_

    maksim_ New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2009
    Сообщения:
    263
    вобщем, всё сводится к тому, что нужно писать отдельную прогу (или скрипт), которую прописывать в мейкфайл..
    а препроцессор не позволяет решать подобных задач? ну.. или как-нибудь средствами языка Cи или Си++? так было бы лучше всего..
     
  10. Voodoo

    Voodoo New Member

    Публикаций:
    0
    Регистрация:
    9 апр 2003
    Сообщения:
    297
    Адрес:
    Новосибирск
    maksim_
    препроцессор - точно нет. средствами с++ - повторяю для невнимательных:
    собственно статья, хотя она довольно поверхностная.
     
  11. cupuyc

    cupuyc New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2009
    Сообщения:
    763
    извращенцы :)))))
     
  12. reversecode

    reversecode Guest

    Публикаций:
    0
    если под линух то можно еще awk, bash.

    вот токо делать скрипт для генерации таблиц имеет смысл когда алгоритм генерации в процессе разработки может быть изменен
    если же это готовые таблицы AES, G711, CRC и так далее
    то смысла нет
     
  13. maksim_

    maksim_ New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2009
    Сообщения:
    263
    хех.. :)) прикольно получается.

    Код (Text):
    1. template <unsigned int i>
    2. struct t_factorial
    3. {
    4.     static const unsigned int val = i * t_factorial<i - 1>.val;
    5. };
    6.  
    7. template <>
    8. struct t_factorial<0>
    9. {
    10.     static const unsigned int val = 1;
    11. };
    12.  
    13. void main()
    14. {
    15.     unsigned int k = t_factorial<4>.val;
    16. }
    ща разберусь как массив заполнить :)))))