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

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

5
Присвойте одну структуру другой в C
Можете ли вы назначить один экземпляр структуры другому, например так: struct Test t1; struct Test t2; t2 = t1; Я видел, как это работает для простых структур, но это работает для сложных структур? Как компилятор знает, как копировать элементы данных в зависимости от их типа, т.е. различать intстроку и?
146 c  struct 

18
Где находится функция itoa в Linux?
itoa()- действительно удобная функция для преобразования числа в строку. В Linux, похоже, нет itoa(), есть ли эквивалентная функция или мне нужно ее использовать sprintf(str, "%d", num)?
146 c  linux 

3
Каково назначение одного знака фунта / хеша (#) на отдельной строке в препроцессоре C / C ++?
Я просматривал исходный код библиотек Boost и заметил, что часто встречаются знаки с одним фунтом без каких-либо прикрепленных к ним директив препроцессора. Я прочитал руководство по препроцессору GCC и руководство по спецификации и ничего не могу найти по этому поводу. (1) #ifndef BOOST_CONFIG_HPP (2) # include <boost/config.hpp> (3) #endif (4) …
145 c++  c  boost  c-preprocessor 


4
Почему pthread_cond_wait имеет ложные пробуждения?
Чтобы процитировать man страницу: При использовании условных переменных всегда существует логический предикат, включающий общие переменные, связанные с каждым условным ожиданием, которое истинно, если поток должен продолжить. Могут возникнуть ложные пробуждения от функций pthread_cond_timedwait () или pthread_cond_wait (). Поскольку возврат из pthread_cond_timedwait () или pthread_cond_wait () ничего не подразумевает в значении …
145 c  pthreads 

9
Как отобразить динамически размещенный массив в отладчике Visual Studio?
Если у вас статически размещенный массив, отладчик Visual Studio может легко отобразить все элементы массива. Однако, если у вас есть массив, выделенный динамически и на который указывает указатель, он будет отображать только первый элемент массива, когда вы нажмете +, чтобы развернуть его. Есть ли простой способ сказать отладчику, показать мне …

9
В чем разница между sigaction и signal?
Я собирался добавить дополнительный обработчик сигналов к приложению, которое у нас есть, и заметил, что автор использовал их sigaction()для настройки других обработчиков сигналов. Я собирался использовать signal(). Чтобы следовать соглашению, я должен использовать, sigaction()но если я писал с нуля, что мне выбрать?
144 c  signals  posix 

11
Как объединить две строки в C?
Как добавить две строки? Я попробовал name = "derp" + "herp";, но у меня ошибка: Выражение должно иметь целочисленный или перечисляемый тип
144 c  string 



21
Преобразование objective-c typedef в его строковый эквивалент
Предполагая, что у меня есть typedef, объявленный в моем .h файле как таковой: typedef enum { JSON, XML, Atom, RSS } FormatType; Я хотел бы создать функцию, которая преобразует числовое значение typedef в строку. Например, если сообщение [self toString:JSON]было отправлено; он вернет JSON. Функция будет выглядеть примерно так: -(NSString *) …
143 c  objective-c  enums  typedef 

7
Обязательны ли закорачивающие логические операторы? А порядок оценки?
Есть ли стандарт ANSI мандат логических операторов закоротить, в С или C ++? Я смущен, потому что я помню книгу K&R, в которой говорилось, что ваш код не должен зависеть от короткого замыкания этих операций, поскольку они могут и не быть. Может ли кто-нибудь указать, где в стандарте сказано, что …

2
Значение флага -pthread при компиляции
В различных многопоточных проектах C и C ++ я видел, как этот -pthreadфлаг применялся как на этапе компиляции, так и на этапе компоновки, в то время как другие не использовали его вообще и просто переходили -lpthreadна этап компоновки. Есть ли опасность не компилировать и не связываться с -pthreadфлагом - т.е. …
143 c++  c  linux  pthreads 

16
Указатель на уточнение указателя
Я следовал этому уроку о том, как работает указатель на указатель . Позвольте мне процитировать соответствующий отрывок: int i = 5, j = 6, k = 7; int *ip1 = &i, *ip2 = &j; Теперь мы можем установить int **ipp = &ip1; и ippуказывает, на ip1что указывает i. *ippесть ip1, …
142 c  pointers 

6
_DEBUG против NDEBUG
Какое определение препроцессора следует использовать для указания отладочных разделов кода? Используйте #ifdef _DEBUGили #ifndef NDEBUGили есть лучший способ сделать это, например #define MY_DEBUG? Я думаю, что _DEBUGVisual Studio специфичен, стандарт NDEBUG?
142 c++  c  debugging 

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