Как добавить поддержку заголовочного файла bits / stdC++. H в YouCompleteMe

Я использовал neovim в качестве основной среды разработки для соревновательного программирования с YouCompleteMe в WSL. Но недавно я решил переключиться с WSL на Windows, так как WSL изначально вызывал абсурдную задержку при открытии.

Когда я использовал bits / stdC++. H в качестве заголовочного файла в WSL, все работало нормально, но в Windows YouCompleteMe показывает «Слишком много фатальных ошибок». Однако MinGW может скомпилировать его без каких-либо проблем.

Есть ли способ добавить поддержку бит / stdC++. H в YCM?

PS. Ошибка вызвана YCM, а не компилятором.

Для конкурентного программирования биты / stdC++. H подходят, вы пишете программы, над которыми вам не нужно работать или поддерживать в будущем, и вы можете писать меньше шаблонного кода

Dario Petrillo 31.03.2021 17:13

Шаг первый: выясните, какие на самом деле заголовки стандартной библиотеки вы используете. Вероятно, их не так много, если вы просто выполняли небольшие упражнения по соревновательному программированию. <iostream>, <string>, <algorithm>, <vector> - одни из наиболее вероятных, но вы можете найти другие, проверив, какие имена вы используете из пространства имен std::, и проверив источник, такой как cppreference, чтобы узнать, откуда они на самом деле. Шаг второй: на самом деле используйте их вместо <bits/stdc++.h>.

Nathan Pierson 31.03.2021 17:14

@DarioPetrillo Это явно не подходит для этого конкретного спрашивающего, иначе бы этот вопрос не возник.

Nathan Pierson 31.03.2021 17:15

@Yksisarvinen medium.com/dsc-dypcoe/….

shivanshu 31.03.2021 17:33

@NathanPierson В соревнованиях по программированию не хватает времени, чтобы увидеть, какой файл заголовка требуется вашей программе. bits / stdC++. h включает в себя весь необходимый файл заголовка, который требуется программе.

shivanshu 31.03.2021 17:36

@shivanshu "Это не стандартный файл заголовка библиотеки GNU C++, поэтому другие компиляторы, кроме GCC, могут не справиться с его компиляцией." Даже эта статья дает ответ на ваш вопрос. Он не будет работать с компиляторами Microsoft.

Yksisarvinen 31.03.2021 17:38

@shivanshu - я думаю, что большинство респондентов здесь понимают, что bits/stdc++.h - это специфичный для компилятора заголовок, который выполняет то, что хотят некоторые люди. Как ясно видно из вопроса, он не переносится. Комментарии здесь относятся к непереносимости.

Pete Becker 31.03.2021 17:39

«До C++ 11 типы данных были обязательными для определения во время компиляции, но позже было введено ключевое слово auto, которое дало нам свободу объявлять переменную во время выполнения». Это не то, что делает ключевое слово auto. Будьте осторожны, следуя советам из источников, которые В самом деле не знают, о чем они говорят.

Nathan Pierson 31.03.2021 17:40

@Yksisarvinen Я знаю, что это не стандартный файл заголовка, а только для gcc / g ++, но MinGW основан на gcc, а компилятор даже не вызывает никаких проблем (упомянутых в описании). YCM показывает "Слишком много фатальных ошибок"

shivanshu 31.03.2021 17:46

@NathanPierson Этот вопрос не требует от вас предложения о том, какие файлы заголовков использовать в соревновательном программировании. Если вы не знаете bits / stdC++. H используется почти для каждого вопроса (кроме вопросов, связанных с временной сложностью) в конкурентном программировании. Также я спрашиваю, как предотвратить отображение ошибки YCM в neovim, поскольку MinGW прекрасно компилирует программу.

shivanshu 04.04.2021 13:54
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
11
54
0

Другие вопросы по теме