Вопросы
В чем разница между #include <filename> и #include "filename"?
В чем разница между использованием угловых скобок и кавычек в директиве include?
#include <filename> #include "filename"
Как изменить цвет вывода echo в Linux
Я пытаюсь вывести текст в терминале с помощью команды echo.
Я хочу, чтобы текст был напечатан красным цветом. Как мне это сделать?
Каково влияние extern "C" в C++?
Проблема заключается в том, что неясно, какую роль играет конструкция extern "C"
в коде на C++.
Например, я могу привести следующий фрагмент кода:
extern "C" { void foo(); }
Ожидается, что ответ на вопрос о том, что делает эта конструкция, поможет мне лучше понять, как интерфейсы C и C++...
Разница между const int*, const int * const и int * const?
Я всегда путаюсь, как правильно использовать const int *
, const int * const
и int * const
. Существенно ли их различие? Существуют ли какие-то правила, определяющие, что можно, а что нельзя делать с этими указателями?
Мне нужно знать все "можно" и "нельзя" в контексте присваивания, передачи...
Является ли < быстрее, чем <=?
Является ли выражение if (a < 901) быстрее, чем if (a <= 900)? Хотя в этом простом примере разница в производительности незначительна, но в более сложных циклах можно наблюдать небольшие изменения в производительности. Я предполагаю, что это может как-то влиять на сгенерированный машинный...
Как использовать extern для обмена переменными между исходными файлами?
Я знаю, что глобальные переменные в C иногда имеют ключевое слово extern. Что такое переменная extern? Каково её объявление? Каков её диапазон видимости?
Это связано с обменом переменными между исходными файлами, но как именно это работает? Где мне использовать extern?
Почему переменные нельзя объявлять в операторе switch?
У меня всегда возникал вопрос: почему нельзя объявлять переменные после метки case в операторе switch? В C++ можно объявлять переменные практически в любом месте (причём объявление их ближе к первому использованию, безусловно, является хорошей практикой), но следующий код всё равно не...
Почему в макросах используются, казалось бы, бессмысленные операторы 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. Почему нельзя просто написать это без...
Что такое "кэш-дружественный" код?
Какова разница между "кодом, не дружелюбным к кэшу" и "дружелюбным к кэшу" кодом?
Как я могу убедиться, что пишу эффективный с точки зрения кэширования код?
Что такое ошибка сегментации?
Что такое ошибка сегментации? Есть ли разница между языками C и C++ в этом контексте? Как ошибки сегментации связаны с висячими указателями?
Что должно возвращать main() в C и C++?
Как правильно (и наиболее эффективно) определить функцию main() в C и C++ — использовать int main() или void main() — и почему? А что насчет аргументов? Если использовать int main(), то следует ли возвращать return 1 или return 0?
Как получить список файлов в директории с помощью C или C++?
Заголовок: Как получить список файлов в директории из кода на C или C++?
Текст вопроса:
Я пытаюсь определить список файлов в директории из моего кода на C или C++, но не могу выполнить команду ls
и обработать результаты. Есть ли какой-то способ сделать это, используя только стандартные...
Почему sizeof структуры не равен сумме sizeof её членов?
Почему оператор sizeof возвращает размер структуры, который больше суммы размеров её членов?
Как определить потребление ЦП и памяти изнутри процесса
Описание проблемы: Получение параметров производительности в работающем приложении
У меня возникла задача определить следующие параметры производительности изнутри работающего приложения:
- Общая доступная виртуальная память
- Виртуальная память, в настоящее время используемая системой -...
Разница между статическими и динамическими (разделяемыми) библиотеками?
Разница между статическими и динамическими библиотеками
Я использую Eclipse и заметил, что в нем есть несколько типов проектов, включая статические библиотеки и динамические библиотеки (shared libraries). В чем заключается разница между ними? Есть ли у одного типа явные преимущества перед...
Может ли код, корректный как в C, так и в C++, вести себя по-разному при компиляции в каждом из языков?
Описание проблемы: Различия в поведении кода между C и C++
C и C++ имеют множество отличий, и не весь корректный код на C является корректным кодом на C++. Под "корректным" я имею в виду стандартный код с определенным поведением (т.е. не специфичный для реализации/неопределенный и...
Почему используются #ifndef и #define в заголовочных файлах C++?
Я заметил, что в начале заголовочных файлов часто встречается следующий код:
#ifndef HEADERFILE_H
#define HEADERFILE_H
А в конце файла находится:
#endif
Какова цель этого?
Самый быстрый способ проверить существование файла с использованием стандартного C++/C++11, C++14, C++17/C?
Тема: Как быстро проверить существование файла в C++11/14/17 или C?
Я ищу самый быстрый способ проверки существования файла в стандартном C++11, 14, 17 или C. У меня есть тысячи файлов, и перед выполнением операций с ними мне нужно проверить, существуют ли все эти файлы. Что я могу написать вместо...
Неопределенное, неуточненное и зависимое от реализации поведение
Каково определение неопределённого поведения (UB) в C и C++? Что можно сказать о неопределённом поведении и определённом реализацией поведении? Каково различие между этими концепциями?
Как вывести список символов из .so файла?
Как мне отобразить символы, экспортируемые из файла .so? Если возможно, я также хотел бы узнать, откуда они берутся (например, если они импортируются из статической библиотеки).
Я использую gcc 4.0.2, если это имеет значение.