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


Производительность Memcpy на /dev / mem вне оперативной памяти ядра

Я использую SoC с пользовательским linux на нем. Я зарезервировал верхние 512 МБ из 1 ГБ общей оперативной памяти, указав параметр загрузки ядра mem=512M. Я могу получить доступ к верхней памяти из программы userspace, открыв /dev/mem и mmap верхние 512 МБ, которые не используются ядром. Знаю, что я хочу скопировать большие куски памяти внутри этой области с помощью memcpy (), но производительность составляет около 50 МБ / сек. Когда я распределяю буферы ядром и memcpy между ними, я могу дости ...

getaddrinfo и IPv6

Я пытаюсь понять, что возвращает функция getaddrinfo: #include <stdlib.h> #include <sys/types.h> #include <unistd.h> #include <sys/socket.h> #include <netdb.h> int main (int argc, char *argv[]) { struct addrinfo *res = 0 ; getaddrinfo("localhost", NULL ,NULL,&res); printf("ai_flags -> %in", res->ai_flags) ; printf("ai_family -> %in", res->ai_family) ; printf("ai_socktype -> %in", res->ai_socktype) ; printf("ai_protocol -> ...

Разница между unsigned long и UINT64

В чем разница между unsigned long и UINT64? Я думаю, что это одно и то же, но я не уверен. Определение UINT64 таково: typedef unsigned __int64 UINT64 (с помощью StdAfx.h) ...

как привести массив uint8 t из 4 в uint32 t в c

Я пытаюсь привести массив uint8_t к массиву uint32_t, но это, кажется, не работает. Может ли кто-нибудь помочь мне в этом? Мне нужно получить значения uint8_t в uint32_t. Я могу сделать это с помощью сдвига, но я думаю, что есть простой способ. uint32_t *v4full; v4full=( uint32_t *)v4; while (*v4full) { if (*v4full & 1) printf("1"); else printf("0"); *v4full >>= 1; } printf("n"); ...

Является ли основной реализацией* любого * популярного интерпретатора языка программирования, написанного на C++?

В данный момент я обдумываю, стоит ли переписывать интерпретатор языка программирования, который я поддерживаю в C++. Интерпретатор в настоящее время реализован в C. Но мне было интересно, является ли первичной реализацией-потому что, конечно, люди сделали версии многих интерпретаторов, использующих язык, отличный от того, который используется оригинальными авторами-любогопопулярного интерпретатора языка программирования, используемого сегодня, написанного на C++? И, если нет, есть ли веская ...

Получение координат клиентской области позиции символа из текстового элемента управления

Мне нужно написать функцию, которая может получить координаты экрана из положения символа в элементе управления редактированием текста. Я использую управление редактированием текста, предоставляемое платформой wxWidgets. wxTextCtrl не предоставляет никаких функций API, которые могут предоставить эту информацию. В Windows я могу получить информацию, отправив EM_POSFROMCHAR в текстовый элемент управления. Мне интересно, как то же самое можно сделать в других средах, таких как Linux. Пока это нуж ...

Как скомпилировать и запустить C в sublime text 3?

Я хотел бы скомпилировать и запустить программу C в sublime text 3 на ubuntu 14.04. В настоящее время программа компилируется с gcc, используя sublime text 3, выполняющий команду (см. ниже код), но мне было интересно, возможно ли, чтобы выходные данные выполнения программы также появлялись на консоли sublime text. Вот что мне в настоящее время нужно скомпилировать C-программу с sublime text 3 C_compile.sublime-build { "cmd" : ["gcc", "$file_name", "-o", "${file_base_name}"], "selector" : " ...

Что делает C! оператор делает?

я увидел строку C, которая выглядела так: !ErrorHasOccured() ??!??! HandleError(); он скомпилирован правильно и, кажется, работает нормально. Похоже, он проверяет, произошла ли ошибка, и если да, то он ее обрабатывает. Но я не совсем уверен, что он на самом деле делает или как он это делает. Похоже, программист пытается выразить свои чувства по поводу ошибок. Я никогда не видел ??!??! раньше на любом языке программирования, и я не могу найти документацию для него нигде. (Погуглить не помогае ...

Что такое ":-!!- на языке Си?

я наткнулся на этот странный макрокод в / usr / include / linux / kernel.h: /* Force a compilation error if condition is true, but also produce a result (of value 0 and type size_t), so the expression can be used e.g. in a structure initializer (or where-ever else comma expressions aren't permitted). */ #define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); })) #define BUILD_BUG_ON_NULL(e) ((void *)sizeof(struct { int:-!!(e); })) Что значит :-!! сделать? ...

Каков эффект extern "C" в C++?

что именно делает putting extern "C" в C++ код делать? например: extern "C" { void foo(); } ...

В чем разница между константный инт*, константный тип int * const и int строительства *?

Я всегда путаю, как использовать const int*,const int * const и int const * правильно. Есть ли набор правил, определяющих, что вы можете и не можете сделать? Я хочу знать все do и все don'T с точки зрения заданий, перехода к функциям и т. д. ...

Как определить размер моего массива в C?

Как определить размер моего массива в C? то есть, количество элементов массива может держать? ...

В чем разница между ++I и I++?

В C, в чем разница между использованием ++i и i++, и который должен использоваться в блоке приращения a for петли? ...

Зачем использовать явно бессмысленные операторы do-while и if-else в макросах?

во многих макросах C / C++ я вижу код макроса, завернутый в то, что кажется бессмысленным do while петли. Вот примеры. #define FOO(X) do { f(X); g(X); } while (0) #define FOO(X) if (1) { f(X); g(X); } else Я не вижу, что за do while делает. Почему бы просто не написать это без него? #define FOO(X) f(X); g(X) ...

typedef struct vs struct definitions [дубликат]

этот вопрос уже есть ответ здесь: почему мы должны typedef структуры так часто в C? 15 ответов Я новичок в программировании на C, но мне было интересно, в чем разница между использованием typedef при определении структуры и не использованием typedef. Мне кажется, что нет никакой разницы, они сделайте то же самое. struct myStruct{ int one; int two; }; и typedef struct{ int one; int two ...

Сравнение скорости с проектом Эйлера: C vs Python vs Erlang vs Haskell

я взял #12 С Проект Эйлера как упражнение по программированию и сравнить мои (конечно, не оптимальные) реализации в C, Python, Erlang и Haskell. Чтобы получить более высокое время выполнения, я ищу первое число треугольника с более чем 1000 делителями вместо 500, как указано в исходной задаче. результат следующее: C: lorenzo@enzo:~/erlang$ gcc -lm -o euler12.bin euler12.c lorenzo@enzo:~/erlang$ time ./euler12.bin 842161320 real 0m11.074s user 0m11.070s sys 0m0.000s Python: lorenzo@e ...

Почему sizeof для структуры не равен сумме sizeof каждого члена?

почему sizeof оператор возвращает размер больше для структуры, чем общие размеры элементов структуры? ...

Что такое размер t в C?

я путаюсь с size_t в C. Я знаю, что он возвращается sizeof оператора. Но что именно это? Это тип данных? Допустим у меня есть for петли: for(i = 0; i < some_size; i++) Я должен использовать int i; или size_t i;? ...

В чем разница между char s[] и char *s?

В C можно использовать строковый литерал в таком объявлении: char s[] = "hello"; или такой: char *s = "hello"; Так в чем разница? Я хочу знать, что на самом деле происходит с точки зрения продолжительности хранения, как во время компиляции, так и во время выполнения. ...

Что на самом деле происходит, когда вы не освобождаетесь после Мэллока?

Это было то, что беспокоило меня уже целую вечность. мы все учили в школе (по крайней мере, мне), что вы должны освободить каждый указатель, который выделяется. Мне немного любопытно, однако, о реальной стоимости не освобождения памяти. В некоторых очевидных случаях, например, когда malloc вызывается внутри цикла или части выполнения потока, очень важно освободить, чтобы не было утечек памяти. Но рассмотрим следующие два примера: во-первых, если у меня есть код это что-то вроде этого: int ...