CMake: как использовать команду удара в CMakeLists.txt

Из http://docs.python.org/2/reference/datamodel.html#new-style-and-classic-classes :

Вверх для Python 2.1 были использованы только классы старого стиля.

Концепция (старомодный) класс не имеет отношения к понятию типа: если x является экземпляром старый класс, тогда x.__class__ обозначает класс x, но type(x) всегда .

Это отражает тот факт, что все экземпляры старого стиля, независимо от их класса, реализованы с помощью одного встроенного типа, называемого экземпляром.

Классы нового стиля были введены в Python 2.2 для унификации понятий класса и типа. Класс нового стиля - это просто определяемый пользователем тип, не более, не менее.

Если x является экземпляром класса нового стиля, тогда type(x) обычно совпадает с x.__class__ (хотя это не гарантировано - экземпляру класса нового стиля разрешено переопределять значение, возвращенное для x.__class__).

Основная мотивация для введения классов нового стиля заключается в предоставлении единой объектной модели с полная метамодель.

Он также имеет ряд непосредственных преимуществ, таких как возможность подкласса большинства встроенных типов или введение «дескрипторов», которые позволяют вычисленные свойства.

По соображениям совместимости , классы по-прежнему по-старому.

Классы нового стиля создаются путем указания другого класса нового стиля (например, типа) в качестве родительского класса или объекта «тип верхнего уровня», если никакой другой родитель не нужен.

Поведение классов нового стиля отличается от поведения классов старого стиля в ряде важных деталей в дополнение к тому, что возвращает тип.

Некоторые из этих изменений являются основополагающими для новой объектной модели, например, для вызова специальных методов. Другие - это «исправления», которые ранее не могли быть реализованы для проблем совместимости, таких как порядок разрешения метода в случае множественного наследования.

Python 3 имеет только классы нового стиля.

Независимо от того, являетесь ли вы подклассом из object или нет, классы являются новыми в Python 3.

blockquote>

22
задан claf 18 March 2009 в 11:24
поделиться

2 ответа

Это, кажется, добивается цели и сохраняет "набор" также.

execute_process(COMMAND getconf  _NPROCESSORS_ONLN
                OUTPUT_VARIABLE NB_PROCESSOR)
19
ответ дан richq 29 November 2019 в 05:26
поделиться

Используйте команду EXEC_PROGRAM и затем используйте опцию CACHE команды SET сохранить вывод к переменной как GTK_PKG_FLAGS. Затем используйте команду SET для добавления значения. Что-то вроде этого:

IF(NOT GTK_PKG_FLAGS)
   EXEC_PROGRAM(pkg-config ARGS --cflags --libs gtkmm
                OUTPUT_VARIABLE GTK_PKG_FLAGS)
   SET(GTK_PKG_FLAGS "${GTK_PKG_FLAGS}" CACHE STRING "GTK Flags")
ENDIF(NOT GTK_PKG_FLAGS)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GTK_PKG_FLAGS}")

Ссылки: http://www.cmake.org/pipermail/cmake/2005-January/006051.html

8
ответ дан 29 November 2019 в 05:26
поделиться
Другие вопросы по тегам:

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