2015-11-17 4 views
1

Есть ли способ использования опции -wrap для всех функций, определенных в исходном файле, без указания их вручную?GNU linker wildcard для опции -wrap

Я думал о некоторых подстановочных знаках для этого варианта, но мое исследование ни к чему не привело. Я также рассмотрел возможность изучения способа извлечения исходных файловых функций с помощью make, также безуспешно.

Есть ли другой способ сделать это?

ответ

1

Вы можете использовать ctags как предложено here, sed, чтобы добавить -wrap перед каждым и ввести результат в командной строке.

--- Edit ---

Например, что-то вроде:

a=`ctags -o- --fields=-fkst --c-kinds=f myprint.c | cut -f1 | sed -e 's/^\(.*\)/-wrap \1/g'` 
echo $a 

даст вам:

-wrap main -wrap myprint 

Вы также можете объединить все в одной строке:

ld ... `ctags -o- --fields=-fkst --c-kinds=f myprint.c | cut -f1 | sed -e 's/^/-wrap /'` 
+0

Хорошо, с помощью этой команды: 'ctags -o- --f ields = -fkst --c-species = f ../file.c'I удалось напечатать на стандартный вывод список строк, каждый из которых содержит следующие значения с разделителями в виде вкладок: имя тега, путь и команда EX. Это, как говорят, стандартный формат _ctags_. Однако мне нужен список единственных имен тегов, разделенных запятой. Я не мог найти ничего в документах и ​​других источниках. Есть ли способ достичь этого с помощью опций _ctags_ или мне нужно использовать внешние инструменты? (Кстати, мы работаем над окнами, поэтому 'sed' не вариант). – jalooc

+0

используйте 'cut' (для извлечения первого поля' sed' для добавления запятых, 'xargs' для получения списка и т. Д. Любой другой инструмент, такой как' awk', может быть вашим другом, чтобы разобрать список и преобразовать его. –

+0

I должен был добавить только: | tr '\ n' '' в конце, чтобы он отображался в одной строке и работал как шарм :) Теперь моя последняя команда _makefile_ выглядит так: 'CTAGS_WRAP = ./ctags.exe -o- --fields = -fkst --c-species = f myFile.c | cut -f1 | sed -e 's/^/- wrap /' | tr '\ n' '' ', который печатает' -wall f1 -wall f2 -wall f3 ... ' – jalooc

Смежные вопросы