Новости
  Техническое оснащение
  Linux кластер
  Статистика использования ресурсов
  Регистрация на Linux кластере
  Регистрация на SPP-2000
  Файловая система AFS
  Вопросы безопасности в сети
  Библиотеки
  Программное обеспечение SPP 2000
  Вопросы распараллеливания
  Руководство для пользователей
  Практические рекомендации
  Контакт
  Ссылки
  Главная

Некоторые средства разработки


B распоряжении пользователей на linux-фермах имеются следующие средства разработки:

Компиляторы

     RedHat:

  Программы компиляции и создания объектных, загрузочных, перемещаемых модулей из исходных файлов .c для gcc, .Cдля g++ соответственно :

     -  /usr/bin/gcc (version egcs-2.91.66)
     -  /usr/bin/g++ (version egcs-2.91.66)

Обращение :
      gcc [ option | filename ]...
      g++ [ option | filename ]...

Значение некоторых опций:
-c - исходный файл только транслировать (создать объектный файл .o)
-o file - создать загрузочный файл file.o
-llibrary- при редактировании связей использовать библиотеку liblibrary.a
-shared - cоздать share-объект
-Wl,option - передать опции option редактору связей
-Idir - добавить директорию dir в список поиска директорий include файлов
-Ldir- добавить директорию dir в список поиска библиотек

  Программа компиляциии создания объектных, загрузочных модулей из исходных файлов .f:

     - /usr/bin/f77 -> /usr/bin/g77 (version egcs-2.91.66)

Обращение :
      g77 [option | filename ]...

Значение некоторых опций:
-c - создать только объектный файл .o из исходного файла
-llib- использовать библиотеку lib при редактировании связей
-Idir - добавить директорию dir в список поиска директорий include файлов
-Ldir - добавить директорию dir в список поиска библиотек
-O- включить оптимизацию

     Рекомендованный CERN:

     - /usr/local/gcc-alt-2.95.2/bin/gcc (version 2.95.2)
     - /usr/local/gcc-alt-2.95.2/bin/g++ (version 2.95.2)
     - /usr/local/gcc-alt-2.95.2/bin/g77 (version 2.95.2)

Синтаксис компиляторов такой же, как и к компиляторам RedHat. В CERNе рекомендовано использовать компиляторы gcc-alt-2.95.2 и они вызываются по умолчанию как gcc, f77, g++.

Программа архивации

  Программа создания, модификации, извлечения данных архива, в том числе и библиотек:

     /usr/bin/ar

Обращение :
      ar [-]{dmpqrtx}[abcfilNoPsSuvV] [membername] [count] archive files...

Значение некоторых опций:
c- Создать архив
a - добавить новые файлы перед существующими
d - уничтожить файл в архиве
q- добавить новые файлы в конец архива
r- вставить новый файл с замещением существующего
t- вывести таблицу содержимого архива
x - извлечь файл из архива

 Программа генерации индексов содержимого архива:

     - /usr/bin/ranlib

Список индесов хранится в этом же архиве.

Обращение :
      ranlib [-v|-V] archive

 Получить список символов в архиве объектных файлов:

     - /usr/bin/nm

Обращение :
      nm       [options] [objfile...]

Пример :
Получить список, сортированный по адресам :
nm -n libgcc.a

__dummy.o:
00000000 T __dummy
00000007 t Letext

__gcc_bcmp.o:
00000000 T __gcc_bcmp
00000033 t Letext

__main.o:
00000000 t Letext

_ashldi3.o:
00000000 T __ashldi3
00000055 t Letext

_ashrdi3.o:
00000000 T __ashrdi3
00000056 t Letext

..........
..........

      Редактор связей

Программа создания выполняемых модулей (из объектных модулей, библиотек, перемещаемых данных);
динамических библиотек (из перемещаемых данных):

      - /usr/bin/ld

Обращение :
      ld      [options] objfile...

Значение некоторых опций:
-Lsearchdir- добавляет путь searchdir поиска библиотек
-Olevel- уровень оптимизации выходного файла
-r- создать перемещаемый модуль
-shared- создать shared-библиотеку

Пример:
ld -o output /lib/crt0.o hello.o -lc

ld создает выполнимый файл output . Для его создания подключаются библиотека libc.a и объектные модули /lib/crt0.o hello.o

Подробное описания синтаксиса программ можно получить, используя команду man.