Поиск по этому блогу

пятница, 19 октября 2012 г.

Важные параметры gcc


Важные параметры gcc
                          
             -E           
                          
                            
прерывание компиляции после обработки  
препроцессором (необходимо указать 
выходной файл, иначе в терминал все
выведет)                 
                          
             -S           
                          
                            
Прерывание по завершению  компиляции. Выходным файлом по умолчанию будет файл с кодом на ассемблере с расширением .s
                          
             -o           
                          
                            
Назначение имени выходному файлу.  
                                       
                                       
                                         
                          
             -с           
                          
                            
Прерывание по завершению ассемблирования.
                                       
                                       
                                         
                          
           -Wall          
                          
                            
 Выводить все предупреждения!     
                                       
                                       
                                         
                          
          -Werror         
                          
                            
 Все предупреждения сделать ошибками! 
                                       
                                       
                                         
                          
             -I           
                          
                            
Указать дополнительный путь к поиску 
заголовочных файлов. Просматривается в первую очередь.          
                                         
                          
             -g           
                          
                            
Помещает в объектный код инструкции для отладки с помощью gdb.        
                                       
                                         
                          
        -O1,-O2,-O3       
                          
                            
Уровень оптимизации компилятором.  
                                       
                                       
                                         
                          
            -O0           
                          
                            
Отмена оптимизации. Для отладки рекомендуется.            
                                       
                                         
                          
    -march=architecture   
                          
                            
Задает целевую архитектуру.     
                                       
                                       
                                         
                          
             -s           
                          
                            
Убрать из исполняемого файла таблицу символов для сокращения размера.  
                                       
                                         
                          
             -l           
                          
                            
Подключить к исполняемому файлу  библотеку, указать необходимо без  префикса lib            
                                         
                          
             -L           
                          
                            
 Указание пути с библиотеками Обратить
 внимание на порядок: gcc -o main main.o -L. -lhello            
                                         
                          
           -fPIC          
                          
                            
Компилирование Position Independent Code
                                       
                                       
                                         
                          
          -shared         
                          
                            
Указывает компилятору о сборке не исполняемого файла, а динамической  библиотеки!            
                                         
                          
-Wl,-option,value1,value2...
                          
                            
Перать линковщику опцию с параметрами.
                                       
                                       
                                         
                          
        -Wl,-rpath,.      
                          
                            
Назначение директории, необходимой  загрузчику динамических библиотек для их подгрузки. (необходимо указать при компиляции)               
                          
 -Wl,-soname,libhello.so.2
                          
                            
Назначить soname библиотеки.     
                                       
                                       
                                         

Универсальные групповые операции Unix shell

* - любое (в том числе нулевое!!!) количество любых символов;
? - ОДИН произвольный символ;
[xyz] - один символ из набора (x или y или z);
[x-y] - один символ из диапазона (от x до y включительно).

Не следует путать групповые символы с регулярными!
Также необходимо учесть, что групповой символ * не учитывает символы '/' и '.' в начале имени файла(невидимый файл). 

Интересная статья по этому поводу: linux-mag

четверг, 18 октября 2012 г.

Переменная окружения CDPATH

Введение
Пользователям Unix хорошо известна полезная переменная окружения PATH. Существует аналогичная по своему назначению переменная CDPATH. Она нужна для более удобного использования команды cd. По-умолчанию команда cd и автодополнение работают в непосредственно указанной директории. Например, если вы хотите набрать cd mydir/, то автодополнение будет работать только по файлам текущей директории. Переменная  CDPATH помогает добавить ещё ряд директорий, в которых будет производится поиск набираемой вами директории.
Как настроить:
В ~/.zshrc написать следующее:
zstyle ':completion:*:complete:(cd|pushd):*' tag-order 'local-directories named-directories'
#отображает, группу директорий в которых произошло автодополнение
zstyle ':completion:*' group-name ''
zstyle ':completion:*:descriptions' format %d
CDPATH=".:..:$HOME"
export CDPATH
Перезапустить zsh.
Пример работы:
Если, например, ваша текущая директория /home/us1/downloads/firefox/ и вам надо перейти в директорию  /home/us1/desktop/. То набрав cd de <TAB> произойдет автодополнение.