2013-03-02 5 views
2

Я использую библиотеки glew и freeglut (оба из которых включают в себя огромное количество функций и деклараций констант) для написания программ opengl в Emacs. Сначала я использую CEDET по умолчанию semanticdb в качестве заднего конца auto-complete. Однако Emacs замерзает, и он стоит около 20 секунд, чтобы поместить кандидатов auto-complete, когда я печатаю gl (так как существует множество констант GL_XXX и glxxx в файлах заголовков glew и glut). всплывающее окно кандидата слишком медленно, есть ли способ ускорить его работу, используя CEDET? или есть другой способ обойти его? используя gtags? как?CEDET семантика слишком медленная, чтобы найти кандидатов в заголовках файлов библиотек

Поскольку в заголовочных файлах так много объявлений о функциях и константах, я в большой степени полагаюсь на автоматическое завершение. Я использую CEDET 1.1, разрешает ли новая версия CEDET проблема?

+0

Пожалуйста, разместите простой пример, показывающий проблему в списке рассылки CEDET. Я знаю эти GL-заголовки, и они сумасшедшие; не может быть решения вашей проблемы, но сначала мне нужно воспроизвести ее. – pokita

+0

Для c/C++ существуют пакеты завершения на основе клана. Вы можете проверить их: http://root42.blogspot.com/2012/07/nice-c-autocomplete-configuration-for.html – Tom

+0

@pokita Мне нужно проверить его в новой версии 'CEDET', если проблема все еще существует, я думаю, что поставил проблему в списке рассылки. – toolchainX

ответ

1

Использование gtags должно потенциально ускорить расчет альтернатив. Выполняется ли медленное завершение всегда или только при первом использовании? Это может быть вызвано разбором файлов заголовков и т. Д., А позже это должны быть кеши в semanticdb (если вы его включили)

+0

Я только что протестировал его, Да, вы правы, очень медленное завершение происходит только один раз, но последующее завершение тоже не быстро, на всплывающее окно требуется около 5 секунд. Я просто использовал gtags, и результат не очень хороший, я думаю, так как это стоило около 3 секунд, чтобы всплывать. есть ли какие-то лучшие решения? – toolchainX

+0

Я не уверен прямо сейчас, появилась идея переписать части cedet/semantic в скомпилированном языке ... –