Как разработать проекты SCons с Eclipse CDT?

(Безымянный) кортежи - это зло

  • Если вы используете кортежи в качестве контейнера для нескольких объектов с уникальным значением, используйте вместо этого класс.
  • Если вы используете их для хранения нескольких объектов, которые должны быть доступны по индексу, используйте список.
  • Если вы используете их для возврата нескольких значений из метода, используйте вместо этого параметры Out (для этого требуется, чтобы ваш язык поддерживал передачу по ссылке)

  • Если это часть стратегии обфускации кода, продолжайте использовать их!

Я вижу людей, использующих кортежи только потому, что они слишком ленивы, чтобы беспокоиться о присвоении NAMES своим объектам. Пользователи API затем вынуждены обращаться к элементам в кортеже на основе бессмысленного индекса вместо полезного имени.

21
задан Ciro Santilli 新疆改造中心法轮功六四事件 6 May 2017 в 11:04
поделиться

2 ответа

Я пробовал Waf в Eclipse CDT раньше, SCons были бы действительно похожи. Решением было создать пустой проект Makefile, а затем просто изменить «make» на «scons» в параметрах. В Windows вам, вероятно, понадобится файл scons.bat в вашем пути. Это не намного лучше, чем создание фиктивного файла Makefile с шаблоном типа all: \ n \ tscons , но это наименее трудоемко.

Плагин SConsBuilder не работает. хорошая идея. В нем есть целая куча жестко запрограммированного кода Python, который он передает в SConstruct. Он не обновлялся уже много лет, и большая часть кода, вероятно, уже устарела в SCons. Я думаю, что лучший подход - сделать то, что SCons делает для Visual Studio или то, что CMake делает для Eclipse CDT. Это означает создание файла. cproject на лету на основе вашей конфигурации сборки.

Я написал генератор проекта Eclipse для Waf в один момент, который просматривает узлы сборки, собирая исходные файлы и выплевывает файлы .project и .cproject . Подобно тому, как это делает CMake, но поведение Waf по умолчанию при создании варианта каталога означает, что вам не нужно иметь дело с проблемами сборки вне исходного кода. С тех пор он был добавлен в качестве дополнения в сам waf . Он использует только часть Waf API, поэтому его можно было бы преобразовать в SCons с небольшим объемом работы. Другими словами, там ничего особенного. Формат .cproject на самом деле нигде не документирован и действительно уродлив по сравнению с версией Java.

Я не знал '

11
ответ дан 29 November 2019 в 20:17
поделиться

Вы можете использовать Makefile, который просто делегирует важные цели scons

.PHONY: all clean install
default:    all
all:    
    scons
clean:
    scons -c
install:
    scons install

Затем можно использовать «Стандартный проект Make C» из коробки.

14
ответ дан 29 November 2019 в 20:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: