Существует два возможных компилятора C/C++, доступные для Соляриса.
GNU C/C++. Это - компилятор, чаще всего используемый на Linux. Это часто упоминается как 'gcc'. Это - компилятор первого класса и доступно и для Соляриса на SPARC и для Соляриса на X86. После того, как установленный этот компилятор всегда выполняется с помощью gcc
команда.
Studio Соляриса. Это - собственный компилятор Oracle. Это ранее назвали Studio Sun. Некоторые говорят, что это произведет более быстрый код, чем gcc особенно на SPARC. Если Вы выбираете, этот компилятор готовятся к некоторым предупреждениям, когда Вы компилируете кого-то еще код. Это вызвано тем, что большая часть кода в эти дни была разработана с помощью gcc компилятора, и gcc компилятор позволяет разработчику C/C++ сойти с рук больше злых шуток, не отмечая их как таковой. Компилятор Studio Соляриса, с другой стороны, намного более болтлив о том, что, видит как плохой или даже нестандартный стиль кодирования. Просто проигнорируйте такие предупреждения из компилятора Studio Соляриса. Назад многие, много лет назад этот компилятор стоил бы Вам денег. Сегодня это - бесплатная загрузка от Oracle под "Studio Соляриса Oracle Лицензионное соглашение Разработчика OTN", которое - хотя не полностью "бесплатная" лицензия" - не будет ограничивать для 99,9% пользователей. После того, как установленный этот компилятор всегда выполняется с помощью cc
команда.
Для большинства случаев компилятор C/C++ GNU очень хорошо и является всем, в чем Вы нуждаетесь.
Это уже установлено, но это живет в /usr/sfw/bin
. Наиболее распространенные люди ошибки делают, должен предположить, что это не установлено, потому что они не могут найти его на своем ПУТИ. Сделать /usr/sfw/bin
часть Вашего ПУТИ после Ваших других элементов на Вашем ПУТИ.
Это не установлено по умолчанию. Следуйте инструкциям, найденным здесь. Вы не должны быть корнем для установки его.
GNU делает, также установлен по умолчанию в Солярисе 10. Это также живет в /usr/sfw/bin
и назван gmake
.
Это не установлено по умолчанию. Безусловно самое легкое должно использовать IPS для установки его с помощью команд ниже (будучи корнем или другим суперпользователем):
pkg install pkg://solaris/developer/build/gnu-make pkg install pkg://solaris/developer/build/make pkg install pkg://solaris/developer/gcc-45 pkg install pkg://solaris/system/header pkg install pkg://solaris/developer/build/autoconf pkg install pkg://solaris/developer/build/automake-110 pkg install pkg://solaris/developer/build/libtool # GNU libtool
Это даст Вам все инструменты, обычно необходимо создавать различные пакеты программного обеспечения с открытым исходным кодом.
Обратите внимание, что некоторые пакеты имеют номер версии на само имя пакета, например. gcc-45
. Вы можете находить еще более поздние версии в хранилище пакетов, например, для Соляриса 11.2 Бет Вы найдете, что у Вас есть выбор GCC 4.5, 4.7 или 4.8. То же применяется, чтобы автосделать, который теперь также доступен в v1.11.
Это не установлено по умолчанию. Следуйте инструкциям, найденным здесь. Можно принять решение для установки через IPS (самое легкое, я думаю, хотя он действительно требует, чтобы Вы добавили другой репозиторий IPS, а также сертификат..., весь из которого документируется на ссылке). Можно также установить через tarball, в этом случае, Вы не должны быть суперпользователем.
Таким образом, Вы захватили пакет программного обеспечения из Интернета, и теперь хотят создать его на Солярисе? Вот некоторые общие рекомендации:
Всегда используйте GNU tar
для распаковки не используйте собственного Solaris tar
. Сделайте gtar xf foo.tar
вместо tar xf foo.tar
или что бы то ни было. Да в 99,99% tar Solaris случаев будет работать просто великолепно для Вас, но существуют некоторые тонкие различия между двумя, например, если файл tar содержит гибкие ссылки.
Использовать GNU make
вместо Solaris make
Например, когда Вам говорят сделать это: make all
затем вместо этого сделайте MAKE=gmake gmake all
.
Вы будете обычно испытывать меньше затруднений с помощью GNU C/C++ для создания, а не Studio Соляриса, потому что возможности состоят в том, что make-файлы и опции компиляции и т.д. были только протестированы с GNU компилятор C/C++.
Вероятно, больше добавить к этому списку. Сохраните те комментарии прибытием.
Есть три типа вещей, которые можно назвать параметрами ядра.
Ядро Параметры ядра - это параметры, передаваемые в командной строке ядра. Их можно передать только во время загрузки. Они задокументированы в kernel-parameters.txt
(в этом файле также перечислены параметры модуля; параметры ядра - те, которые не имеют .
). Некоторые из этих параметров имеют значение только во время загрузки (например, root
). Для тех, которые используются на протяжении всего жизненного цикла системы, может быть или не быть механизма для их изменения во время выполнения, общего правила нет.
Параметры модуля похожи на параметры ядра, но они определяют конкретный компонент ядра, обычно конкретный драйвер. Несмотря на название, эти параметры применяются независимо от того, скомпилирован ли соответствующий драйвер непосредственно в ядре или как модуль. Когда компонент включен в основной образ ядра, вам необходимо передать COMPONENT_NAME.PARAMETER_NAME = VALUE
в командной строке ядра. Когда компонент загружается как модуль, вам необходимо передать PARAMETER_NAME = VALUE
в insmod
.
Некоторые параметры модуля видны через sysfs . Каталог / sys / module / MODULE_NAME / parameters
содержит по одному файлу для каждого параметра; чтение этого файла дает вам текущее значение параметра. Запись в этот файл устанавливает параметр, если он может быть изменен; большинство параметров не могут быть изменены (поэтому файл доступен только для чтения). В каталоге / sys / module / kernel / parameters
перечислены некоторые параметры ядра ядра.
Параметры модуля задокументированы бессистемно; некоторые из них перечислены в kernel-parameters.txt
, и этот файл содержит ссылки на некоторые модули. Если вы не можете найти документацию, выполните поиск в источнике . Параметры модуля объявляются макросом module_param
или одним из его сопутствующих module_param_ named
, module_param_cb
и т. Д. Последний параметр этих макросов определяет права доступа к файлу (например, 0600
или S_IRUSR | S_IWUSR
будет rw -------
т. Е. Доступным для чтения и записи root и недоступным для кого-либо еще). Когда разрешение равно 0, запись в sysfs вообще не отображается.
i8042.nomux
и i8042.reset
являются параметрами драйвера i8042
. Если посмотреть на исходный код, у обоих есть разрешение 0, поэтому эти два параметра нельзя изменить или даже запросить во время выполнения.
Вы можете установить параметры только при запуске драйвера.Если драйвер скомпилирован как модуль, то выгрузка модуля и его повторная загрузка позволяет вам указать другие параметры при его перезагрузке. Если драйвер находится непосредственно в ядре или конфигурация вашей системы делает невозможным выгрузку модуля, вам необходимо перезагрузить компьютер.
Наконец,другой тип параметров в ядре - это sysctl . Эти настройки можно просмотреть и изменить с помощью команды sysctl
или через / proc / sys
. Я думаю, что разделение параметров sysctl и ядра в основном историческое; Параметры, относящиеся к оборудованию, традиционно являются параметрами ядра, в то время как программными настройками традиционно являются sysctl, но иногда различия могут быть нечеткими.
Я думаю, что список параметров, которые могут быть изменены во время выполнения, можно найти с помощью команды " sudo sysctl -a ". Я не видел i8042.nomux в своей системе. Не уверен почему. Возможно, вы можете проверить его в своей системе, если вы видите параметр, то вы можете изменить его во время выполнения.