Некоторые средства разработки |
B распоряжении пользователей на linux-фермах имеются
следующие средства разработки: |
Компиляторы |
RedHat:
1. Программы компиляции и создания объектных, загрузочных, перемещаемых модулей из исходных файлов
.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 в список поиска библиотек |
|
2. Программа компиляциии создания объектных, загрузочных модулей из исходных
файлов .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++.
|
|
|
Программа архивации |
1. Программа создания, модификации, извлечения данных архива, в том числе и библиотек:
/usr/bin/ar
Обращение :
ar [-]{dmpqrtx}[abcfilNoPsSuvV] [membername] [count] archive files...
Значение некоторых опций:
c - Создать архив
a - добавить новые файлы перед существующими
d - уничтожить файл в архиве
q - добавить новые файлы в конец архива
r - вставить новый файл с замещением существующего
t - вывести таблицу содержимого архива
x - извлечь файл из архива
2. Программа генерации индексов содержимого архива:
- /usr/bin/ranlib
Список индесов хранится в этом же архиве.
Обращение :
ranlib [-v|-V] archive
3. Получить список символов в архиве объектных файлов:
- /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.
|