Форум программистов, компьютерный форум CyberForum.ru

По поводу исходников GNU Octave - C++

Восстановить пароль Регистрация
 
Kapex
15 / 15 / 4
Регистрация: 11.11.2014
Сообщений: 121
03.10.2015, 20:14     По поводу исходников GNU Octave #1
Всем добрый вечер.

Сижу я тут, ковыряюсь в исходниках этой самой программы и наткнулся на такое определение:

C++ (Qt)
1
2
3
4
5
DEFUN (__version_info__, args, ,
   "-*- texinfo -*-\n\
  @deftypefn {Built-in Function} {retval =} __version_info__ (@var{name}, @var{version}, @var{release}, @var{date})\n\
  Undocumented internal function.\n\
  @end deftypefn")
Пошёл выяснять, что это за зверь. В заголовочном файле defun.h нашел:

C++ (Qt)
1
2
#define DEFUN(name, args_name, nargout_name, doc) \
    DEFUN_INTERNAL (name, args_name, nargout_name, doc)
А в заголовочном defun-int.h:

C++ (Qt)
1
#define     DEFUN_INTERNAL(name, args_name, nargout_name, doc)   DECLARE_FUN (name, args_name, nargout_name)
И там ещё дальше в лес.

Вот и возник вопрос: зачем так сложно? Есть ли разумное объяснение всех этих миллионов переопределений?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2015, 20:14     По поводу исходников GNU Octave
Посмотрите здесь:

GNU C++ C++
GNU в Windows C++
C++ Gnu C++ и Cygwin
C++ GNU С++
GNU C Compiler C++
C++ GNU C++
Ошибка компиляции g++ GNU C++ 4.4.5 C++
C++ Linux GNU Readline
C++ GNU C++
GNU MP в Eclipse C++
Gnu Octave написана на C++, хочу изучить программирование для Octave, с чего начать C++
Где скачать GNU c++? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4382 / 3225 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
03.10.2015, 20:32     По поводу исходников GNU Octave #2
Цитата Сообщение от Kapex Посмотреть сообщение
Есть ли разумное объяснение всех этих миллионов переопределений?
Есть. Называется дополнительный уровень косвенности. Например, для возможности ветвления по каким-то условиям внутри каждого уровня.
Kapex
15 / 15 / 4
Регистрация: 11.11.2014
Сообщений: 121
04.10.2015, 11:18  [ТС]     По поводу исходников GNU Octave #3
Tulosba, хм... допустим. А где можно об этом тогда почитать? Или это берётся только с опытом работы в таких проектах?
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16935 / 5340 / 328
Регистрация: 30.03.2009
Сообщений: 14,353
Записей в блоге: 26
04.10.2015, 11:45     По поводу исходников GNU Octave #4
Цитата Сообщение от Kapex Посмотреть сообщение
Или это берётся только с опытом работы в таких проектах?
Скорее всего только так

Во многих случаях такие наслоения растут из того, что хочется изменить интерфейс, но не хочется ничего внутри переделывать (например, из-за нехватки времени). Может быть ещё и наследием от разработчиков: в процессе тестирования своего софта они перенастраивают макросы по другому. Может быть ещё миллион всяких причин. Пока у тебя нет работы в большие многолетних проектах с сотнями разработчиков, полноценно эти вещи ощущать всё равно не будешь
Yandex
Объявления
04.10.2015, 11:45     По поводу исходников GNU Octave
Ответ Создать тему
Опции темы

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