Мне нужно написать программное обеспечение для физического моделирования, и мне нужно использовать генератор псевдослучайных данных , написанный Д.Кнутом , потому что он лучше всего соответствует моим потребностям.
Хотя я знаю, как использовать его в жестком блоке кода (простой #include "rng-double.c"), я не совсем понимаю, как включить его в модульную программу, где это необходимо как в рамках основной и внутри некоторых библиотек, которые я затем связываю обратно с основной через заголовочные файлы.
Единственные функции, которые мне нужны - это ranf_start (seed) для заполнения генератора и ranf_arr_next () для генерации следующего числа.
Я получаю длинную серию
multiple definitions of 'foo'
в значительной степени для каждой функции, определенной в коде генератора случайных чисел.
Я не эксперт, поэтому нахожусь в тупике. Есть ли выход? В настоящее время я пытаюсь написать заголовочный файл для rng, хотя пока не добился успеха.
Большое спасибо всем.
~ J
EDIT:
Из того, что говорят первые ответы, мне нужно записать заголовочный файл. Я сделал это для большинства функций в генераторе, но мне не удалось написать это правильно для функции, которая фактически генерирует число. Как мне написать заголовок для функции, определенной следующим образом?
#define ranf_arr_next() (*ranf_arr_ptr>=0? *ranf_arr_ptr++: ranf_arr_cycle())