Результаты поиска по запросу "c"

3 ответа

Программу как изображение также можно рассматривать как форму обфускации кода. Не то чтобы это было особенно практично ...

ько что видел это в течение последних нескольких дней и не могу понять, как это работает. Видео, о котором я говорю,Вот [http://i.min.us/ikq8hS.gif]: Этосамый рейтинговый ...

3 ответа

Извините, но это только доказывает, что некоторые версии gcc генерируют одну и ту же сборку на x86 для обоих. Правильный ответ, неправильное объяснение.

разница между двумя функциями в C? void f1(double a[]) { //... } void f2(double *a) { //... }Если бы я вызывал функции из существенно длинного массива, эти две функции вели бы себя по-разному, занимали бы они больше места в стеке?

4 ответа

, Поэтому, если вы можете положиться на это, вам не нужно ничего делать.

дущий вопрос [https://stackoverflow.com/questions/69738/c-how-to-get-fprintf-results-as-a-stdstring-w-o-sprintf#69911] показал хороший способ печати на строку. Ответ включал va_copy: std::string format (const char *fmt, ...); { va_list ap; ...

ТОП публикаций

6 ответов

Как вы упомянули, невозможно иметь #ifdef в #define. Вместо этого вы должны изменить порядок:

аюсь написать что-то вроде этого: #define COV_ON(x) \ #ifdef COVERAGE_TOOL \ _Pragma (COVERAGE #x) #endifЕсть ли способ определитьCOV_ON нравится? Я знаю, что я сделал выше, неправильно, так как я не могу иметь#ifdef внутри #define. (# ...

1 ответ

Как исправить ошибку gcc: ожидается до void

Поэтому я пишу одноранговый чат-клиент, который использует pthreads для управления всеми операциями ввода-вывода, и когда я компилирую файл, gcc выдает ошибку client.c: In function ‘accepted_daemon’: client.c:115:1: error: expected ...

2 ответа

@Yi Jiang: классное форматирование, спасибо за информацию!

int main() { int r, c; r = getchar(); c = getchar(); putchar(r); putchar(c); printf("\n"); return(0); } того, как он читает вrпрограмма выводитr и выходит. Я хочу это попроситьc и введите его, но почему он этого не делает?

5 ответов

pthread_create и передача целого числа в качестве последнего аргумента

У меня есть следующие функции: void *foo(void *i) { int a = (int) i; } int main() { pthread_t thread; int i; pthread_create(&thread, 0, foo, (void *) i); }При компиляции есть некоторые ошибки при кастинге ((void *) i а такжеint a = (int) i). Как ...

8 ответов

Операционная система освободит память, однако рекомендуется освобождать вещи, если вы ожидаете, что они выйдут за рамки, прежде чем вы выделите что-то еще. Тем не менее, вы можете более или менее полагаться на прекращение программы, чтобы справиться с управлением памятью для вас.

я выделил память в моей C-программе, используяmalloc и теперь я хочу выйти, нужно ли освободить выделенную память или я могу предположить, что, поскольку вся моя программа завершает свою работу, она будет освобождена ОС? Я бегу в среде Linux.

4 ответа

Как насчет простого усиления команды с

у запустить команду оболочки в моей программе c. Но дело в том, что я не хочу заставлять свою программу ждать выполнения команды. Нет необходимости читать выходные данные команды оболочки (в любом случае она не возвращает данных). Так в принципе ...

2 ответа

Указатель указывает на НАЧАЛО чего-то в памяти. INT занимает 4 байта (32 бита), а DOUBLE занимает 8 байтов (64 бита) в памяти. Таким образом, если у вас сохранено ДВОЙНОЕ число, и вы хотите на очень низком уровне, указывающем на следующую доступную ячейку памяти, указатель может быть увеличен на 8 байт. Если по какой-то причине вы указали +4 байта от начала значения DOUBLE, вы бы испортили его значение. Память - это очень большое плоское поле, которое не имеет совести само по себе, поэтому программное обеспечение должно правильно разделить его и «уважать границы» элементов, расположенных в этом поле.

ние указателя является адресом переменной. Почему ценностьint pointer увеличено на 4 байта после того, как указатель int увеличен на 1. На мой взгляд, я думаю, что значение указателя (адрес переменной) увеличивается только на 1 байт после ...