c- все статьи тега ➜ страница 2
Является ли Android POSIX-совместимым?
Совместим ли Android POSIX? Я знаю, что он использует ядро Linux, но я не уверен, что это означает, что он совместим с POSIX, так как стандарт POSIX больше связан с функциями userland. Итак, это совместимо? Например, если я использую только функции ANSI и POSIX в моей программе C, будет ли она компилироваться и работать на Android без необходимости каких-либо изменений кода? ...
Что пишет write (), если нулевой Терминатор уже достигнут?
Для write(fd[1], string, size) - что произойдет, если string короче size? Я заглянул на главную страницу, но там четко не указано, что это за ситуация. Я знаю, что для read он просто остановился бы и прочитал все, что есть string, но это, конечно, не так для write. Так что пишите делаешь? Возвращаемое значение по-прежнему size, так это добавление нулевого Терминатора? Почему бы ему просто не остановиться, как read. ...
Win32: как создать элемент управления ListBox с помощью функции CreateWindowExW ()?
Я просмотрел несколько сайтов, документов и учебников, и все они говорят одно и то же, то есть любой элемент управления-это не более чем окно в API Win32, поэтому можно использовать функцию CreateWindowExW() для создания ListBox элемента управления/окна над главным окном приложения. Хотя я понимаю, что все элементы управления являются окнами с различным стилемdwStyle , Мне трудно понять, как создать экземпляр, скажем так, элемента управления ListBox. Я столкнулся с учебником где диалог записыв ...
stdlib.H не имеет декларации для putenv
Я попытался скомпилировать следующий код с gcc 4.7.3 и clang 3.2.1 на Ubuntu 13.04 (64-бит): #include <stdio.h> #include <stdlib.h> #include <stdbool.h> int main() { putenv("SDL_VIDEO_CENTERED=1"); return 0; } Я ожидал, что putenv будет объявлено в заголовке stdlib.h, но я получаю следующее предупреждение: test.c: In function ‘main’: test.c:6:5: warning: implicit declaration of function ‘putenv’ [-Wimplicit-function-declaration] Почему объявление для этой функ ...
Производительность JNI против JNA
У нас есть собственное приложение c/asm, использующее GPU(OpenCL) для больших данных encrypt/decrypt с определенным методом, и оно просто отлично работает, никаких проблем. Часть проекта (web и дистрибутив) разрабатывается JEE, и нам просто нужно вызвать собственное приложение/библиотеку. Мы попытались вызвать его как отдельный внешний процесс, используя класс Process. Проблема в том, что мы не можем контролировать приложение(события, обработчики, потоки и т. д...). Мы также попытались просто п ...
прочитайте из файла PCap и распечатайте IP-адреса и номера портов в c, но мой результат кажется неправильным
Я читаю файл pcap и хочу распечатать ip-адрес и номер порта каждого пакета. Я использую код из http://www.tcpdump.org/pcap.htm и http://www.rhyous.com/2011/11/13/how-to-read-a-pcap-file-from-wireshark-with-c/. Вот мой код: #define SIZE_ETHERNET 14 #define ETHER_ADDR_LEN 6 /* Ethernet header */ struct sniff_ethernet { u_char ether_dhost[ETHER_ADDR_LEN]; /* Destination host address */ u_char ether_shost[ETHER_ADDR_LEN]; /* Source host address */ u_short ether_ty ...
Статические функции, объявленные в заголовочных файлах "C"
Для меня это правило для определения и объявления статических функций внутри исходных файлов, я имею в виду .c файлы. Однако в очень редких ситуациях я видел людей, объявляющих его в заголовочном файле. Поскольку статические функции имеют внутреннюю связь, мы должны определить ее в каждом файле, который мы включаем в заголовочный файл, где объявлена функция. Это выглядит довольно странно и далеко от того, что мы обычно хотим, когда объявляем что-то статичным. С другой стороны, если кто-то наив ...
В программировании на языке Си будет ли вычисление медленнее, если любая переменная в выражении является nan
Это совершенно гипотетический вопрос. В приведенном ниже коде я выполняю вычисление, которое имеет одну переменную, z, в качестве значения, присвоенного "nan". Основной расчет будет медленнее по сравнению с нормальным значением z (например, z = 1.0) float z = 0.0/0.0; // that means z is "nan" float p = 50.0, q = 100.0, r = 150.0; // main calculation Type 1 float c = ((x*100)+(y*100))/(x*100)+(y*100)+152*(p+q/r)+z; Вот пример, чтобы показать основной расчет с нормальным значением z float z ...
Что означают числа, использующие 0x нотацию?
Что означает префикс 0x на числе? const int shared_segment_size = 0x6400; Это из программы на языке Си, написанной на linux. Я не могу вспомнить, что это означает и, в частности, что означает буква x. ...
Можно ли поручить C не инициализировать глобальные массивы нулем?
Я пишу встроенное приложение, и почти вся моя оперативная память используется глобальными байт-массивами. Когда моя прошивка загружается, она начинается с перезаписи всего раздела BSS в оперативной памяти с нулями, что в моем случае совершенно не нужно. Могу ли я каким-то образом указать компилятору, что ему не нужно инициализировать нуль определенные массивы? Я знаю, что это также можно решить, объявив их указателями и используя malloc (), но есть несколько причин, по которым я хочу этого избе ...
Отправить файл через последовательный порт с Linux и C
Я разрабатываю приложение, которое считывает данные с последовательного порта и отправляет их по TCP-соединению, и наоборот. К сожалению, при чтении данных с последовательного порта он никогда не останавливается. Он не обнаруживает метку EOF, ни EOL или какой-либо другой специальный символ. Итак, как я могу обнаружить конец файла (или" конец соединения") через последовательный порт в C и Linux? ...
ALSA: откройте устройство PCM в общем режиме
Я хочу воспроизвести некоторые звуковые данные с помощью ALSA на устройство PCM. В качестве примера я скачал Этот пример и запустил его на своем ПК. Он прекрасно работает, когда ни один другой процесс в настоящее время не использует звуковую карту. Но он ничего не воспроизводит, когда какой-то другой процесс использует аудиоустройство (например, медиаплеер, воспроизводящий песни) и показывает следующую ошибку - Playback open error: Device or resource busy Глядя на исходный код этого примера ...
сбой доступа к несогласованному адресу на драйверах Linux wifi на платформе arc
Я получаю сбой на insmod драйверов WIFI Marvell pcie. я использую беспроводной драйверы на Arch=дугу ОС=Linux и обратным порядком байтов. аварии проследить, говорит невыровненному адресу, ведущих к краху. Я провел небольшое расследование и нашел место аварии, ниже приведен фрагмент кода. case NullPktPeriod_i: /** keep alive null data pkt interval in full power mode */ psnmp_mib->oid = wlan_cpu_to_le16((t_u16)NullPktPeriod_i); if (cmd_action == HostCmd_ACT_GEN_SET) ...
преобразование ASM в C (не обратный инженер)
Я погуглил и увидел удивительное количество легкомысленных ответов, в основном смеющихся над Аскером за то, что он задал такой вопрос. Микрочип предоставляет некоторый исходный код бесплатно (я не хочу публиковать его здесь, если это нет-нет. В основном, google AN937, нажмите на первую ссылку, и там есть ссылка на "исходный код" и его сжатый файл). Он в ASM, и когда я смотрю на него, я начинаю косить глазами. Я хотел бы преобразовать его в нечто, напоминающее язык типа c, чтобы я мог следова ...
Как я могу добавить код в тестовую программу libnodave (testiso TCP simplified), который защищает процедуру чтения от сбоя?
Я начну с того, что скажу, что я студент колледжа с небольшим опытом работы на c++. Сколько раз вы слышали это правильно? Я работаю с тестовой программой testISO_TCP (упрощенная версия) из библиотеки libnodave. Эта программа выполняет простое считывание значений флагов и блоков данных, когда она подключена к ПЛК seimens 300. Программа не вызывает никаких ошибок как таковых. То, что я пытаюсь сделать, - это, надеюсь, добавить в эту программу некоторый код, который защитит чтение от любого сбоя. П ...
Как скомпилировать 32-битный hello world на alpine?
Задан простой код hello world: #include <stdio.h> int main(void){ puts("hello"); return 0; } На 64-битной установке alpine linux я попытался скомпилировать ее как 64-битную и как 32-битную. Первый работает нормально, но во втором отсутствуют 32-битные библиотеки: ~ # gcc -Wall hello.c ~ # gcc -Wall -m32 hello.c /usr/lib/gcc/x86_64-alpine-linux-musl/5.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-alpine-linux-musl/5.3.0/../../../libss ...
Какие алгоритмы использовать для уменьшения размера изображения?
Какие алгоритмы использовать для уменьшения размера изображения? Что быстрее? Какой алгоритм используется для изменения размера изображения (например, с большого 600x600 до супер малого 6x6) такими гигантами, как flash и silver player, а также html5? ...
OpenCV группировка белых пикселей
Я проделал тяжелую работу, превратив свою камеру iSight на MacBook в инфракрасную камеру, преобразовал ее, установил порог и т. д.. а теперь есть изображение, которое выглядит примерно так: Alt text Теперь моя проблема: мне нужно знать, сколько пятен на моем изображении, группируя белые пиксели. Я не хочу использовать cvBlob/cvBlobsLib, я бы предпочел просто использовать то, что уже есть в OpenCV. Я могу перебирать пиксели и группировать их, проверяя на наличие (порог) касаясь белых пиксе ...
Глобальные переменные в сервере Apache
Я пишу некоторые модули apache (2.2) на C, и я довольно новичок в этом, поэтому мне было интересно: Мне нужно знать, можно ли создать глобальную переменную,которая будет инициироваться при запуске сервера apache. Видите ли, мне нужен список имен хостов (который будет "привилегированным"), так что каждый запрос, который я получаю, я должен проверить, появляется ли имя хоста в списке (чтобы проверить, является ли оно "превилированным"). Таким образом, список должен быть глобальным (чтобы кажды ...
Почему вызов ioctl не передается в sys ioctl?
У меня есть модуль ядра (4.4.32 kernel), который реализует вызов ioctl, назначая его обработчик ioctl указателю struct file_operations S unlocked_ioctl. Все работает нормально, но мне дали программу (только двоичную), скомпилированную для ядра 2.6 или, возможно, 2.4, которая не делает ядро регистрирующим вызов ioctl для моего модуля, если я запускаю эту программу на моем 4.4.32. Поскольку эта программа была скомпилирована на более старом ядре, она использует более старый интерфейс ioctl, то есть ...