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

6 ответов

Я не думаю, что проблема в том, что ОП не присоединяется к потокам. Проблема связана с количеством памяти, используемой при создании потоков.

граммирую что-то на C, что создает много Pthreads в Linux на 256-мегабайтной системе. У меня обычно + 200Мб бесплатно. Когда я запускаю программу с небольшим количеством потоков, она работает, но как только я создаю около 100 потоков, это дает ...

5 ответов

 однако гарантированно будут атомными.

равляется с этим правильно? Или мне придется вызывать flock ()?

3 ответа

Вы можете использовать + (++ b), если хотите, чтобы b увеличивалось первым.

от вопрос уже есть ответ здесь: Что означает операция c = a +++ b? [/questions/7485088/what-does-the-operation-c-ab-mean] 9 ответов#include <stdio.h> int main() { int a=8,b=9,c; c=a+++b; printf("%d%d%d\n",a,b,c); return 0; }Программа выше ...

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

4 ответа

Часть решения: многие компиляторы имеют способ компиляции с определенной спецификацией. Например, с GCC вы можете скомпилировать с помощью "gcc programname.c -ansi", чтобы убедиться, что ваш код соответствует стандарту ANSI. Это пойдет на пути обеспечения согласованности.

я есть сомнения, почему так получается, что разные компиляторы выдают разные выходные данные одной и той же программе на Си. Если есть стандартный Си, то почему эти знаменитые компиляторы не используют его полностью. Разница в выходных данных ...

8 ответов

nan создается, когда мы программируем, содержат значение, такое как 0.0 / 0.0, как сказано @Dan Cecile OR sqrt (-1).

float f = (float)'a'; if(f < 0){ } else if(f == 0){ } else if(f > 0){ } else{ printf("NaN\n"); }fудет больше / равно / меньше0 если этоNaN. Но как произвести такойf на первом месте? Я пробовал разные способы произвестиNaN, но никто не работает ..

4 ответа

Просто скопируйте файл jni_md.h в папку, где находится jni.h.

пример программы предназначен для вызоваnative метод написан на C. Java-код class HelloWorld { private native void print(); public static void main( String args[] ) { new HelloWorld().print(); } static { System.loadLibrary("HelloWorld"); } ...

3 ответа

Проблема, на которую следует обратить внимание, заключается в том, что, если вы выполняете запись в большую часть этой памяти, отложенное резервирование пространства подкачки может привести к тому, что ваше приложение будет использовать всю свободную оперативную память и подкачку в системе, что в конечном итоге вызовет OOM killer (Linux) или в результате чего ваше приложение получило

аюсь "mmap" двоичный файл (~ 8 ГБ), используя следующий код (test.c). #include <stdio.h> #include <stdlib.h> #include <stdint.h> #include <sys/mman.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #define handle_error(msg) \ do ...

5 ответов

Нет, если заявления или петли в нем

я есть 32-битный Int, я могу получить к нему доступ только 8 бит за один раз. Мне нужно выяснить, установлен ли каждый четный бит на 0, и вернуть 0, если это правда, и 1 в противном случае. Пока что я собираюсь разбить свой int с помощью сдвигов ...

1 ответ

Вы можете получить такое же поведение, как отмечено в руководстве, из нескольких опций -Xlinker. Я прочитал страницу руководства, и от этого я полагал, что нет никакой разницы. Мне было интересно, была ли какая-либо причина, по которой вы увидите оба кода в дикой природе (например, переносимость или один недостаток, и т. Д.), Кроме личных предпочтений.

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

4 ответа

Это не важно Вы все еще можете ужасно потерпеть неудачу десятками способов. Например, что произойдет, если поток, назначенный заданию, увидит запись в флаг, но не саму запись? Поток будет выполнять неправильную работу полностью.

те представим, что у меня есть несколько рабочих потоков, таких как: while (1) { do_something(); if (flag_isset()) do_something_else(); }У нас есть пара вспомогательных функций для проверки и установки флага: void flag_set() { global_flag = 1; ...