LINUX.ORG.RU

emacs + c++

 , ,


0

3

Что-то не пойму, а есть ли нормальные искаробочные настройки emacs для разработки на c++ с поддержкой 14-го стандарта, шаблонов, нормальных выравниваний в неймспейсах, лямбдах etc. Без шаманств?

★★
Ответ на: комментарий от f1u77y

пример валидного кода, который парсер clion'а красненьким подсветил

Бгг, у них там что, свой статический анализатор? Оно в шланг может?

Freyr69 ★★★
()
Ответ на: комментарий от Freyr69

Бгг, у них там что, свой статический анализатор? Оно в шланг может?

Там и есть шланг, скорее всего он хедер не заинклудил, или пути не указал, вот оно и обругало.

anonymous
()
Ответ на: комментарий от Freyr69

свой статический анализатор

емнип, да. кстати, хз, насколько оно работает сейчас, потому что вполне вероятно, что пофиксили

f1u77y ★★★★
()
Ответ на: комментарий от f1u77y

только почему у меня в эмаксе тот же шланг не обругал ничего?

Например, были разные файлы, хедеры или параметры для компилятора.

anonymous
()
Ответ на: комментарий от f1u77y

неуместно, ибо как раз с емаксом было всё в поряде

nano тоже бы тебе не подсветил ошибку, это не показатель, что «все в порядке».

anonymous
()
Ответ на: комментарий от anonymous

естественно, я говорил, что clion подсветил ошибку в коде, который g++ом и clang'ом вполне себе компилируется и работает

f1u77y ★★★★
()
Ответ на: комментарий от f1u77y

естественно, я говорил, что clion подсветил ошибку в коде, который g++ом и clang'ом вполне себе компилируется и работает

Такое вполне может быть. Например берем:

A.h

size_t foo();

A.cpp

#include <cstddef>

size_t foo() { return 0; }

int main() {
}

g++ и clang++ спокойно соберут A.cpp даже без дополнительных флагов. Но если взять отдельно A.h, то в нем есть ошибка - size_t не определен.

anonymous
()
Ответ на: комментарий от anonymous
A.h

size_t foo();
A.cpp

#include <cstddef>
#include "A.h"

size_t foo() { return 0; }

int main() {}
anonymous
()
Ответ на: комментарий от anonymous
#include <thread>

int main() {
    //std::thread t([](){}); // подчеркивает, компилирует
    //std::thread t([](){}, 0); // не подчеркивает, не компилирует
    std::thread t([](int){}, 0); // не подчеркивает, компилирует
}
deadNightTiger ★★★★★
()
Ответ на: комментарий от deadNightTiger

подчеркивает, компилирует

http://i.piccy.info/i9/49cd7abc531c04206f3f112d946589f4/1457514387/4295/10121...

УМВР, подчеркивает только, если в проекте выставить стандарт С++ ниже 11-го.

П.С. можно пустые круглые скобки не писать - std::thread t([]{});

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.