Вопросы с тегом «c»

C - это язык программирования общего назначения, используемый для системного программирования (ОС и встраиваемых), библиотек, игр и кроссплатформенности. Этот тег следует использовать с общими вопросами, касающимися языка C, как это определено в стандарте ISO 9899 (последняя версия 9899: 2018, если не указано иное, а также для запросов, специфичных для версии, с c89, c99, c11 и т. Д.). C отличается от C ++ и не должен сочетаться с тэгом C ++ без разумной причины.

3
Есть ли машины, где sizeof (char)! = 1 или хотя бы CHAR_BIT> 8?
На этот вопрос есть ответы на Stack Overflow на русском : Кто-нибудь встречал в своей практике sizeof (char)! = 1? Есть машины (или компиляторы), где sizeof(char) != 1? В стандарте C99 сказано, что sizeof(char)при стандартной реализации соответствия ДОЛЖНО быть ровно 1? Если да, то дайте мне номер раздела и ссылку. …
93 c  char  standards  sizeof  c99 

3
Печать нулевых указателей с% p является неопределенным поведением?
Является ли неопределенное поведение печатью нулевых указателей с помощью %pспецификатора преобразования? #include <stdio.h> int main(void) { void *p = NULL; printf("%p", p); return 0; } Вопрос относится к стандарту C, а не к реализациям C.

13
преобразовать прямой порядок байтов в обратный порядок байтов в C [без использования предоставленной функции] [закрыто]
Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Stack Overflow. Закрыт 7 лет назад . Уточните этот вопрос Мне нужно написать функцию для преобразования прямого порядка байтов в обратный порядок байтов …
93 c  swap  endianness 

10
Значения по умолчанию в C Struct
У меня есть такая структура данных: struct foo { int id; int route; int backup_route; int current_route; } и функция с именем update (), которая используется для запроса изменений в нем. обновление (42, dont_care, dont_care, new_route); это действительно долго, и если я добавлю что-то в структуру, мне придется добавить 'dont_care' …
93 c  initialization 

3
Что такое CHAR_BIT?
Цитата из кода для вычисления целочисленного абсолютного значения (абс) без перехода из http://graphics.stanford.edu/~seander/bithacks.html : int v; // we want to find the absolute value of v unsigned int r; // the result goes here int const mask = v >> sizeof(int) * CHAR_BIT - 1; r = (v + mask) …

9
Когда вы выходите из приложения C, освобождается ли автоматически выделенная память?
Скажем, у меня есть следующий код C: int main () { int *p = malloc(10 * sizeof *p); *p = 42; return 0; //Exiting without freeing the allocated memory } Когда я компилирую и выполняю эту программу на C, то есть после выделения некоторого места в памяти, будет ли выделенная …

10
Как программно вызвать дамп ядра в C / C ++
Я хотел бы принудительно создать дамп ядра в определенном месте в моем приложении C ++. Я знаю, что могу сделать это, выполнив что-нибудь вроде: int * crash = NULL; *crash = 1; Но хотелось бы знать, есть ли способ чище? Кстати, я использую Linux.
93 c++  c  linux  coredump  abort 

7
Зачем определять макрос, только если он еще не определен?
Я вижу, что во всей нашей базе кода C каждый макрос определяется следующим образом: #ifndef BEEPTRIM_PITCH_RATE_DEGPS #define BEEPTRIM_PITCH_RATE_DEGPS 0.2f #endif #ifndef BEEPTRIM_ROLL_RATE_DEGPS #define BEEPTRIM_ROLL_RATE_DEGPS 0.2f #endif #ifndef FORCETRIMRELEASE_HOLD_TIME_MS #define FORCETRIMRELEASE_HOLD_TIME_MS 1000.0f #endif #ifndef TRIMSYSTEM_SHEARPIN_BREAKINGFORCE_LBS #define TRIMSYSTEM_SHEARPIN_BREAKINGFORCE_LBS 50.0f #endif В чем смысл выполнения этих проверок определения вместо простого определения макросов? #define …

8
Что такое батутная функция?
Во время недавних обсуждений на работе кто-то упомянул функцию батута. Я прочитал описание в Википедии . Достаточно дать общее представление о функционале, но хотелось бы более конкретного. У вас есть простой фрагмент кода, иллюстрирующий батут?

9
Почему в ANSI C нет пространств имен?
Для большинства языков наличие пространств имен кажется легкой задачей. Но насколько я могу судить, ANSI C его не поддерживает. Почему нет? Есть ли планы включить его в будущий стандарт?
93 c  namespaces  ansi-c 


5
gdb: «Таблица символов не загружена»
Я продолжаю получать это сообщение об ошибке при попытке добавить точку останова в gdb. Я использовал эти команды для компиляции: gcc -g main.c utmpib2.c -o main.o and: cc -g main.c utmpib2.c -o main.o and also: g++ -g main.c utmpib2.c -o main.o Я также пробовал «-ggdb» вместо «-g», но все равно …
93 c  gdb 

4
Вызов функции C из кода C ++
У меня есть функция C, которую я хотел бы вызвать из C ++. Я не мог использовать " extern "C" void foo()" подход, потому что функция C не могла быть скомпилирована с использованием g ++. Но он отлично компилируется с использованием gcc. Есть идеи, как вызвать функцию из C ++?
93 c++  c  linux  extern-c 

7
что такое беззнаковый тип данных?
Я видел, как этот unsigned«бестиповый» тип использовался пару раз, но никогда не видел ему объяснения. Полагаю, есть соответствующий signedтип. Вот пример: static unsigned long next = 1; /* RAND_MAX assumed to be 32767 */ int myrand(void) { next = next * 1103515245 + 12345; return((unsigned)(next/65536) % 32768); } void mysrand(unsigned …
93 c  types  unsigned 


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.