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

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

25
Почему использование alloca () не считается хорошей практикой?
alloca()выделяет память в стеке, а не в куче, как в случае malloc(). Итак, когда я возвращаюсь из рутины, память освобождается. На самом деле это решает мою проблему освобождения динамически выделяемой памяти. Освобождение памяти, выделенной через malloc()это, является большой головной болью и, если что-то пропущено, приводит к всевозможным проблемам с памятью. …
401 c  stack  malloc  allocation  alloca 

1
The Definitive C Книга Руководство и список
Ответы на этот вопрос - работа сообщества . Отредактируйте существующие ответы, чтобы улучшить этот пост. В настоящее время он не принимает новые ответы или взаимодействия. Этот вопрос пытается собрать поддерживаемый сообществом список качественных книг ос язык программирования, ориентированный на различные уровни квалификации. C - это сложный язык программирования, который сложно …
400 c 

16
Статическое связывание против динамического связывания
Существуют ли какие-либо веские причины для выбора статического соединения вместо динамического или наоборот в определенных ситуациях? Я слышал или читал следующее, но я не знаю достаточно по этому вопросу, чтобы ручаться за его правдивость. 1) Разница в производительности во время выполнения между статической и динамической связью обычно незначительна. 2) (1) …

12
Где я могу найти текущие стандартные документы C или C ++?
Ответы на этот вопрос - работа сообщества . Отредактируйте существующие ответы, чтобы улучшить этот пост. В настоящее время он не принимает новые ответы или взаимодействия. На этот вопрос есть ответы на Переполнение стека на русском : Где взять стандарт C ++? На многие вопросы ответ, кажется, находится в «стандарте». Однако …
394 c++  c  standards  c++-faq 

11
Насколько опасно сравнивать значения с плавающей запятой?
Я знаю, UIKitиспользует CGFloatиз-за разрешения независимой системы координат. Но каждый раз, когда я хочу проверить, например, frame.origin.xвызывает ли 0это у меня тошноту: if (theView.frame.origin.x == 0) { // do important operation } Не CGFloatуязвима к ложным срабатываниям при сравнении с ==, <=, >=, <, >? Это с плавающей точкой, и …

6
Самый быстрый способ определить, находится ли целое число между двумя целыми числами (включительно) с известными наборами значений
Есть ли более быстрый способ, чем x >= start && x <= endв C или C ++, проверить, находится ли целое число между двумя целыми числами? ОБНОВЛЕНИЕ : Моя конкретная платформа - iOS. Это часть функции размытия прямоугольника, которая ограничивает пиксели кругом в данном квадрате. ОБНОВЛЕНИЕ : Попробовав принятый ответ …
390 c++  c  performance  math 

10
Почему компилируется функция без параметров (по сравнению с фактическим определением функции)?
Я только что натолкнулся на чей-то C-код, который меня смущает, почему он компилируется. Есть два момента, которые я не понимаю. Во-первых, прототип функции не имеет параметров по сравнению с фактическим определением функции. Во-вторых, параметр в определении функции не имеет типа. #include <stdio.h> int func(); int func(param) { return param; } …

11
Как бесплатно узнать, сколько освободить?
В программировании на C вы можете передать любой указатель, который вам нравится, в качестве аргумента для освобождения. Как он узнает размер выделенной памяти для освобождения? Всякий раз, когда я передаю указатель на какую-то функцию, я также должен передать размер (то есть массив из 10 элементов должен получить 10 в качестве …
385 c  size  pointers  free 






14
Неопределенная ссылка на pthread_create в Linux
Я взял следующую демонстрацию в Интернете с https://computing.llnl.gov/tutorials/pthreads/ #include <pthread.h> #include <stdio.h> #define NUM_THREADS 5 void *PrintHello(void *threadid) { long tid; tid = (long)threadid; printf("Hello World! It's me, thread #%ld!\n", tid); pthread_exit(NULL); } int main (int argc, char *argv[]) { pthread_t threads[NUM_THREADS]; int rc; long t; for(t=0; t<NUM_THREADS; t++){ printf("In …

7
Почему порядок циклов влияет на производительность при итерации по двумерному массиву?
Ниже приведены две почти идентичные программы, за исключением того, что я переключил переменные iи j. Они оба бегут в разное количество времени. Может кто-нибудь объяснить, почему это происходит? Версия 1 #include <stdio.h> #include <stdlib.h> main () { int i,j; static int x[4000][4000]; for (i = 0; i < 4000; i++) …

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