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

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

1
Используете roxygen2 и doxygen в одном пакете? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы на него можно было ответить с помощью фактов и цитат, отредактировав этот пост . Закрыт 2 года назад . Уточните этот вопрос У меня есть Rпакет, который использует …

12
Объявления переменных в файлах заголовков - статические или нет?
При рефакторинге некоторых #definesя натолкнулся на объявления, похожие на следующие в заголовочном файле C ++: static const unsigned int VAL = 42; const unsigned int ANOTHER_VAL = 37; Вопрос в том, какая разница, если таковая будет, от статики? Обратите внимание, что многократное включение заголовков невозможно из-за классического #ifndef HEADER #define …
91 c++  c  static 

5
Правильный способ объявления переменных-указателей в C / C ++ [закрыто]
В настоящее время этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, потребует дебатов, аргументов, опросов или расширенного обсуждения. Если вы считаете, что этот вопрос можно улучшить и, возможно, снова открыть, обратитесь за помощью …
91 c++  c  pointers  coding-style 

2
Разница между <string.h> и <strings.h>
Я заметил, что есть (по крайней мере, в Mac OS X) и &lt;string.h&gt;заголовок, и &lt;strings.h&gt;заголовок. man 3 stringпоказывает, что они содержат разные функции. Есть ли этому повод?
91 c  string  header 

10
Библиотека PDF с открытым исходным кодом для приложения C / C ++? [закрыто]
Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Stack Overflow. Закрыт 6 лет назад . Уточните этот вопрос Я хочу иметь возможность генерировать вывод PDF из моего (собственного) приложения Windows на …
91 c++  c  pdf  open-source 

17
Оператор переключения с возвратами - корректность кода
Скажем, у меня есть код на C примерно с такой структурой: switch (something) { case 0: return "blah"; break; case 1: case 4: return "foo"; break; case 2: case 3: return "bar"; break; default: return "foobar"; break; } Очевидно, что breaks не нужны для правильной работы кода, но это выглядит …

8
Получение ширины терминала в C?
Я искал способ получить ширину терминала из моей программы C. Я продолжаю придумывать что-то вроде: #include &lt;sys/ioctl.h&gt; #include &lt;stdio.h&gt; int main (void) { struct ttysize ts; ioctl(0, TIOCGSIZE, &amp;ts); printf ("lines %d\n", ts.ts_lines); printf ("columns %d\n", ts.ts_cols); } Но каждый раз, когда я пытаюсь это сделать, я получаю austin@:~$ gcc …
91 c  linux  terminal  width 

29
Указатели проверки на валидность (C / C ++)
Есть ли способ определить (конечно, программно), является ли данный указатель «действительным»? Проверить значение NULL просто, но как насчет таких вещей, как 0x00001234? При попытке разыменовать указатель такого типа возникает исключение / сбой. Кроссплатформенный метод предпочтительнее, но подойдет и платформенный (для Windows и Linux). Обновление для пояснения: проблема не в устаревших …
91 c++  c  validation  pointers  null 

1
Преобразование шестнадцатеричной информации в двоичную с помощью команды Linux
У меня есть этот двоичный файл в моей системе Linux ... udit@udit-Dabba ~ $ cat file.enc Salted__s�bO��&lt;0�F���Jw!���]�:`C�LKȆ�l Используя команду hexdump, я вижу такую ​​информацию: udit@udit-Dabba ~ $ hexdump -C file.enc 00000000 53 61 6c 74 65 64 5f 5f 1b 73 a1 62 4f 15 be f6 |Salted__.s.bO...| 00000010 3c …

4
PTHREAD_MUTEX_INITIALIZER против pthread_mutex_init (& мьютекс, параметр)
Есть ли разница между pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER; Или pthread_mutex_t lock; pthread_mutex_init ( &amp;lock, NULL); Достаточно ли я в безопасности, если использую только первый метод? ПРИМЕЧАНИЕ. Мой вопрос в основном относится к очень маленьким программам, где самое большее, что я буду делать, - это подключать несколько клиентов к серверу и …
91 c  ubuntu  pthreads  mutex 

5
Как заставить backtrace () / backtrace_symbols () печатать имена функций?
Специфична для Linux backtrace()и backtrace_symbols()позволяет производить трассировку вызовов программы. Однако он печатает только адреса функций, а не их имена для моей программы. Как я могу заставить их печатать и имена функций? Я попытался компиляции программы с -g, а также -ggdb. В приведенном ниже тестовом примере это просто напечатано: BACKTRACE ------------ …
91 c  linux  debugging  backtrace 

3
Объединить int в строку с помощью препроцессора C
Я пытаюсь понять, как я могу объединить #define'd int в #define' d строку с помощью препроцессора C. Мой компилятор - GCC 4.1 для CentOS 5. Решение также должно работать для MinGW. Я хотел бы добавить номер версии к строке, но единственный способ заставить его работать - это сделать копию номера …

8
Можно ли инициализировать указатель C значением NULL?
Я писал такие вещи, как char *x=NULL; в предположении, что char *x=2; создаст charуказатель на адрес 2. Но в The GNU C Programming Tutorial говорится, что int *my_int_ptr = 2;целочисленное значение сохраняется 2по любому случайному адресу, по которому my_int_ptrоно выделяется. Это может означать, что я char *x=NULLприсваиваю любое значение NULLcast …

13
Каких функций из стандартной библиотеки следует (следует) избегать?
Я читал в Stack Overflow, что некоторые функции C «устарели» или «их следует избегать». Не могли бы вы привести мне несколько примеров такой функции и причину почему? Какие существуют альтернативы этим функциям? Можем ли мы использовать их безопасно - какие хорошие практики?

2
Что это (( ))?
Просматривая исходный код компилятора gcc (gcc / c-family / c-pragma.c), я вижу: typedef struct GTY(()) align_stack { int alignment; tree id; struct align_stack * prev; } align_stack; и, несмотря на то, что у меня за плечами много лет программирования на C, эти биты: (())мне еще полностью неизвестны. Может кто-нибудь объяснить, …
90 c++  c 

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