c ×28
Создан 05.01.2025
31
голоса
5
ответов
33
просмотров
В чем разница между #include <filename> и #include "filename"?

В чем разница между использованием угловых скобок и кавычек в директиве include?

#include <filename> #include "filename"

28
голоса
5
ответов
57
просмотров
Как изменить цвет вывода echo в Linux

Я пытаюсь вывести текст в терминале с помощью команды echo.

Я хочу, чтобы текст был напечатан красным цветом. Как мне это сделать?

21
голоса
5
ответов
32
просмотров
Каково влияние extern "C" в C++?

Проблема заключается в том, что неясно, какую роль играет конструкция extern "C" в коде на C++.

Например, я могу привести следующий фрагмент кода:

extern "C" { void foo(); }

Ожидается, что ответ на вопрос о том, что делает эта конструкция, поможет мне лучше понять, как интерфейсы C и C++...

18
голоса
5
ответов
44
просмотров
Разница между const int*, const int * const и int * const?

Я всегда путаюсь, как правильно использовать const int *, const int * const и int * const. Существенно ли их различие? Существуют ли какие-то правила, определяющие, что можно, а что нельзя делать с этими указателями?

Мне нужно знать все "можно" и "нельзя" в контексте присваивания, передачи...

17
голоса
5
ответов
40
просмотров
Является ли < быстрее, чем <=?

Является ли выражение if (a < 901) быстрее, чем if (a <= 900)? Хотя в этом простом примере разница в производительности незначительна, но в более сложных циклах можно наблюдать небольшие изменения в производительности. Я предполагаю, что это может как-то влиять на сгенерированный машинный...

12
голоса
5
ответов
34
просмотров
Как использовать extern для обмена переменными между исходными файлами?

Я знаю, что глобальные переменные в C иногда имеют ключевое слово extern. Что такое переменная extern? Каково её объявление? Каков её диапазон видимости?

Это связано с обменом переменными между исходными файлами, но как именно это работает? Где мне использовать extern?

11
голоса
5
ответов
37
просмотров
Почему переменные нельзя объявлять в операторе switch?

У меня всегда возникал вопрос: почему нельзя объявлять переменные после метки case в операторе switch? В C++ можно объявлять переменные практически в любом месте (причём объявление их ближе к первому использованию, безусловно, является хорошей практикой), но следующий код всё равно не...

9
голоса
5
ответов
25
просмотров
Почему в макросах используются, казалось бы, бессмысленные операторы do-while и if-else?

В многих макросах на C/C++ я замечаю, что код макроса обернут в циклы do while, которые, по сути, кажутся бессмысленными. Вот примеры: #define FOO(X) do { f(X); g(X); } while (0) #define FOO(X) if (1) { f(X); g(X); } else

Я не понимаю, зачем нужен do while. Почему нельзя просто написать это без...

8
голоса
5
ответов
32
просмотров
Что такое "кэш-дружественный" код?

Какова разница между "кодом, не дружелюбным к кэшу" и "дружелюбным к кэшу" кодом?

Как я могу убедиться, что пишу эффективный с точки зрения кэширования код?

8
голоса
5
ответов
30
просмотров
Что такое ошибка сегментации?

Что такое ошибка сегментации? Есть ли разница между языками C и C++ в этом контексте? Как ошибки сегментации связаны с висячими указателями?

8
голоса
5
ответов
25
просмотров
Что должно возвращать main() в C и C++?

Как правильно (и наиболее эффективно) определить функцию main() в C и C++ — использовать int main() или void main() — и почему? А что насчет аргументов? Если использовать int main(), то следует ли возвращать return 1 или return 0?

8
голоса
5
ответов
26
просмотров
Как получить список файлов в директории с помощью C или C++?

Заголовок: Как получить список файлов в директории из кода на C или C++?

Текст вопроса: Я пытаюсь определить список файлов в директории из моего кода на C или C++, но не могу выполнить команду ls и обработать результаты. Есть ли какой-то способ сделать это, используя только стандартные...

8
голоса
5
ответов
30
просмотров
Почему sizeof структуры не равен сумме sizeof её членов?

Почему оператор sizeof возвращает размер структуры, который больше суммы размеров её членов?

7
голоса
5
ответов
32
просмотров
Как определить потребление ЦП и памяти изнутри процесса

Описание проблемы: Получение параметров производительности в работающем приложении

У меня возникла задача определить следующие параметры производительности изнутри работающего приложения:

  • Общая доступная виртуальная память
  • Виртуальная память, в настоящее время используемая системой -...
7
голоса
5
ответов
31
просмотров
Разница между статическими и динамическими (разделяемыми) библиотеками?

Разница между статическими и динамическими библиотеками

Я использую Eclipse и заметил, что в нем есть несколько типов проектов, включая статические библиотеки и динамические библиотеки (shared libraries). В чем заключается разница между ними? Есть ли у одного типа явные преимущества перед...

7
голоса
5
ответов
17
просмотров
Может ли код, корректный как в C, так и в C++, вести себя по-разному при компиляции в каждом из языков?

Описание проблемы: Различия в поведении кода между C и C++

C и C++ имеют множество отличий, и не весь корректный код на C является корректным кодом на C++. Под "корректным" я имею в виду стандартный код с определенным поведением (т.е. не специфичный для реализации/неопределенный и...

7
голоса
4
ответов
25
просмотров
Почему используются #ifndef и #define в заголовочных файлах C++?

Я заметил, что в начале заголовочных файлов часто встречается следующий код:

#ifndef HEADERFILE_H
#define HEADERFILE_H

А в конце файла находится:

#endif

Какова цель этого?

6
голоса
5
ответов
28
просмотров
Самый быстрый способ проверить существование файла с использованием стандартного C++/C++11, C++14, C++17/C?

Тема: Как быстро проверить существование файла в C++11/14/17 или C?

Я ищу самый быстрый способ проверки существования файла в стандартном C++11, 14, 17 или C. У меня есть тысячи файлов, и перед выполнением операций с ними мне нужно проверить, существуют ли все эти файлы. Что я могу написать вместо...

6
голоса
5
ответов
23
просмотров
Неопределенное, неуточненное и зависимое от реализации поведение

Каково определение неопределённого поведения (UB) в C и C++? Что можно сказать о неопределённом поведении и определённом реализацией поведении? Каково различие между этими концепциями?

6
голоса
5
ответов
25
просмотров
Как вывести список символов из .so файла?

Как мне отобразить символы, экспортируемые из файла .so? Если возможно, я также хотел бы узнать, откуда они берутся (например, если они импортируются из статической библиотеки).

Я использую gcc 4.0.2, если это имеет значение.