c- все статьи тега ➜ страница 13


Как использовать nan и inf в C?

У меня есть численный метод, который может вернуть nan или inf, если была ошибка, и для тестирования я хотел бы временно заставить его вернуть nan или inf, чтобы убедиться, что ситуация обрабатывается правильно. Есть ли надежный,компилятор-независимая способ создания значений nan и inf в C? после поиска в Google в течение примерно 10 минут я смог найти только зависимые от компилятора решения. ...

Получение ширины терминала В C?

Я искал способ получить ширину терминала из моей программы C. То, что я продолжаю придумывать, это что-то вроде: #include <sys/ioctl.h> #include <stdio.h> int main (void) { struct ttysize ts; ioctl(0, TIOCGSIZE, &ts); printf ("lines %dn", ts.ts_lines); printf ("columns %dn", ts.ts_cols); } но каждый раз, когда я пытаюсь это я получаю austin@:~$ gcc test.c -o test test.c: In function ‘main’: test.c:6: error: storage size of ‘ts’ isn’t known test.c:7: error: ...

Компилятор gcc C написан на самом C?

компилятор gcc C написан на самом C ? Или это написано в сборке ? Если компилятор написан на C, то какой компилятор используется для компиляции кода компилятор ? ...

Библиотека PDF с открытым исходным кодом для приложения C / C++? [закрытый]

Я хочу иметь возможность генерировать PDF-вывод из моего (родного) приложения c++ Windows. Существуют ли какие-либо свободные/открытые библиотеки для этого? Я посмотрел ответы на этот вопрос, но они в основном относятся к .Net. ...

Где используется ключевое слово c auto?

в мои студенческие годы я читал о auto ключевое слово и с течением времени я на самом деле забыл, что это такое. Он определяется как: определяет локальную переменную как имеющие местное время жизни Я никогда не находил, что он используется где-либо, действительно ли он используется, и если да, то где он используется и в каких случаях? ...

Создание управляющей программы в Linux

в Linux я хочу добавить демон, который не может быть остановлен и который отслеживает изменения файловой системы. Если обнаружены какие-либо изменения, он должен записать путь к консоли, где он был запущен, а также новую строку. У меня уже есть файловая система изменения кода почти готов, но я не могу понять, как создать демон. мой код отсюда:http://www.yolinux.com/TUTORIALS/ForkExecProcesses.html Что делать после вилка? int main (int argc, char **argv) { pid_t pID = fork(); if (pID == ...

Когда статические переменные функционального уровня выделяются / инициализируются?

Я вполне уверен, что глобально объявленные переменные выделяются (и инициализируются, если это применимо) во время запуска программы. int globalgarbage; unsigned int anumber = 42; но как насчет статических, определенных в функции? void doSomething() { static bool globalish = true; // ... } когда есть место для globalish выделено? Я предполагаю, когда начнется программа. Но тогда он тоже инициализируется? Или он инициализируется, когда doSomething() - Это первая называется? ...

Что такое таблица символов?

может ли кто-нибудь описать, что такое таблица символов в контексте C и c++? ...

Является ли вычитание целого числа без знака определенным поведением?

я столкнулся с кодом от кого-то, кто, кажется, считает, что есть проблема вычитания целого числа без знака из другого целого числа того же типа, когда результат будет отрицательным. Таким образом, такой код был бы неправильным, даже если он работает на большинстве архитектур. unsigned int To, Tf; To = getcounter(); while (1) { Tf = getcounter(); if ((Tf-To) >= TIME_LIMIT) { break; } } Это единственная смутно соответствующая цитата из стандарта C, которую я мог найти. ...

Многопотоковое исполнение против реентерабельный

недавно я задал вопрос с заголовком " является ли malloc потокобезопасным?- и внутри этого я спросил: "Мэллок снова поступил?" У меня сложилось впечатление, что все повторные входы являются потокобезопасными. это предположение неверно? ...

Если 32-разрядное целое число переполняется, можно ли использовать 40-разрядную структуру вместо 64-разрядной длинной?

если, скажем, 32-разрядное целое число переполняется, вместо обновления int до long, можем ли мы использовать какой-то 40-битный тип, если нам нужен диапазон только в пределах 240, так что мы сохраняем 24 (64-40) бит для каждого целого числа? Если да, то как? Я должен иметь дело с миллиардами и пространство является большим ограничением. ...

Стек растет вверх или вниз?

у меня есть этот кусок кода в C: int q = 10; int s = 5; int a[3]; printf("Address of a: %dn", (int)a); printf("Address of a[1]: %dn", (int)&a[1]); printf("Address of a[2]: %dn", (int)&a[2]); printf("Address of q: %dn", (int)&q); printf("Address of s: %dn", (int)&s); выход: Address of a: 2293584 Address of a[1]: 2293588 Address of a[2]: 2293592 Address of q: 2293612 Address of s: 2293608 Итак, я вижу, что от a до a[2], адреса памяти увеличивается на 4 байта ка ...

C++ препроцессор VA ARGS количество аргументов

простой вопрос, на который я не мог найти ответ в сети. В макросах переменных аргументов, как найти количество аргументов? Я в порядке с препроцессором boost, если у него есть решение. Если это имеет значение, я пытаюсь преобразовать переменное число аргументов макроса для повышения последовательности препроцессора, списка или массива для дальнейшей переработки. ...

Дает ли const-корректность компилятору больше возможностей для оптимизации?

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

общие глобальные переменные в C

Как я могу создать глобальные переменные, которые являются общими в C? Если я положил его в файл заголовка, то компоновщик жалуется, что переменные уже определены. Это единственный способ объявить переменную в одном из моих файлов C и вручную ввести externs в верхней части всех других файлов C, которые хотят его использовать? Это звучит не идеально. ...

Потоки и сигналы POSIX

Я пытался понять тонкости взаимодействия потоков POSIX и сигналов POSIX. В частности, меня интересует: каков наилучший способ контролировать, в какой поток подается сигнал (предполагая, что он не является фатальным в первую очередь)? каков наилучший способ сообщить другому потоку (который может быть действительно занят), что сигнал прибыл? (Я уже знаю, что это плохая идея использовать переменные состояния pthread из сигнала обработчик.) как я могу безопасно обрабатывать передачу информации о т ...

Почему бы не объединить исходные файлы C перед компиляцией? [дубликат]

этот вопрос уже есть ответ здесь: #включить все .cpp файлы в один блок компиляции? 5 ответов преимущества / недостатки unity строит? [дубликат] 3 ответы Я пришел из фона сценариев, и препроцессор в C всегда казался мне уродливым. Тем не менее я принял его, как я учусь писать небольшие программы на Си. Я действительн ...

Сброс массива C int до нуля: самый быстрый способ?

предположим, что у нас есть T myarray[100] с T = int, unsigned int, long long int или unsigned long long int, каков самый быстрый способ сбросить все его содержимое до нуля (не только для инициализации, но и для сброса содержимого несколько раз в моей программе)? Может быть, с мемсетом? тот же вопрос для динамического массива, как T *myarray = new T[100]. ...

Как я могу вырваться из двух вложенных циклов for в Objective-C?

у меня есть два цикла для вложенных, как это: for(...) { for(...) { } } Я знаю, что есть break заявление. Но я смущен, если он ломает оба цикла или только тот, в котором он был вызван? Мне нужно сломать оба, как только я вижу, что нет смысла повторять больше раз. ...

Объясните этот фрагмент, который находит максимум двух целых чисел без использования if-else или любого другого оператора сравнения?

найти максимум из двух чисел. Вы не должны использовать if-else или любой другой оператор сравнения. Я нашел этот вопрос на онлайн-доске объявлений, поэтому я подумал, что должен спросить в StackOverflow пример Вход: 5, 10 Выход: 10 Я нашел это решение, может кто-нибудь помочь мне понять эти строки кода int getMax(int a, int b) { int c = a - b; int k = (c >> 31) & 0x1; int max = a - k * c; return max; } ...