Запитання з тегом «c»

C - мова програмування загального призначення, що використовується для системного програмування (ОС та вбудованих), бібліотек, ігор та крос-платформ. Цей тег слід використовувати із загальними питаннями, що стосуються мови C, визначеної стандартом ISO 9899 (остання версія, 9899: 2018, якщо інше не зазначено - також запити, пов’язані з версією тегів c89, c99, c11 тощо). C відрізняється від C ++, і він не повинен поєднуватися з тегом C ++ без раціональної причини.

10
Чи безпечно перейменовувати argc та argv в основній функції?
Багато програм використовують стандартні імена для ряду аргументів та масивів рядків. Прототип основних функцій виглядає наступним чином : int main(int argc, char *argv[]);. Але чи би я щось зламав, якщо вибрав власні імена для цих змінних? Напр int main(int n_of_args, char *args[]); У контексті компілятора все нормально. Ці змінні є …
82 c++  c  main 

5
Конфлікт між підручником у Стенфорді та GCC
Згідно з цим фільмом (близько хвилини 38), якщо я маю дві функції з однаковими місцевими варі, вони будуть використовувати той самий простір. Отже, наступну програму слід надрукувати 5. Складання його з gccрезультатами -1218960859. чому? Програма: #include <stdio.h> void A() { int a; printf("%i",a); } void B() { int a; a …

9
Що робить функція cvWaitKey () OpenCV?
Що відбувається під час виконання cvWaitKey()? Які типові випадки використання? Я бачив це у посиланні на OpenCV, але документація не чітко визначає його точну мету.
82 c++  c  opencv 

7
(Чому) використовує невизначену змінну невизначену поведінку?
Якщо я маю: unsigned int x; x -= x; зрозуміло, що після цього виразу x має бути нуль, але скрізь, куди я дивлюсь, вони кажуть, що поведінка цього коду невизначена, а не просто значення x(до моменту віднімання). Два питання: Чи дійсно поведінка цього коду невизначена? (Наприклад, може збій коду [чи …

10
C неблокуючий введення з клавіатури
Я намагаюся написати програму на мові C (на Linux), яка циклічно повторюється, доки користувач не натисне клавішу, але для продовження кожного циклу не потрібно вимагати натискання клавіші. Чи є простий спосіб це зробити? Я думаю, що я міг би це зробити, select()але це здається великою роботою. Як варіант, чи є …

12
Перетворити шістнадцятковий рядок (char []) на int?
У мене є символ char [], який містить таке значення, як "0x1800785", але функція, якій я хочу надати значення, вимагає int, як я можу перетворити це на int? Я шукав навколо, але не можу знайти відповіді. Дякую.
82 c  char  int 

7
Розбір JSON за допомогою C [закрито]
Зачинено. Це питання не відповідає вимогам щодо переповнення стека . Наразі відповіді не приймаються. Хочете покращити це питання? Оновіть питання, щоб воно було актуальним для переповнення стека. Закрито 6 років тому . Удосконалюйте це питання Я намагаюся знайти хороший спосіб проаналізувати JSON на C. Мені справді не потрібна величезна бібліотека …
82 c  json 

6
Переваги чистої функції
Сьогодні я читав про чисту функцію, заплутавшись із її використанням: Функція називається чистою, якщо вона повертає однаковий набір значень для одного і того ж набору входів і не має спостережуваних побічних ефектів. наприклад, strlen()є чистою функцією, а rand()є нечистою. __attribute__ ((pure)) int fun(int i) { return i*i; } int main() …
82 c  pure-virtual 

2
Android AudioRecord примушує інший потік до джерела звуку MIC
Оновлення 3: Я співпрацюю з іншим розробником, і ми, здається, знайшли когось, хто може зробити це за велику суму грошей. Вони надіслали нам тестовий apk, і, здається, це працює. Ми продовжимо і придбаємо джерело. Сподіваюся, нас не збиратимуть обманювати. Я оновлю, як тільки дізнаюся Оновлення 2: Все ще працюємо над …

30
Чи є якась причина використовувати C замість C ++ для вбудованої розробки?
Питання У мене є два компілятори на моєму обладнанні C ++ та C89 Я думаю про використання C ++ з класами, але без поліморфізму (щоб уникнути vtables). Основними причинами, якими я хотів би користуватися C ++, є: Я вважаю за краще використовувати “вбудовані” функції замість визначень макросів. Я хотів би …
82 c++  c  embedded  c89 

11
Чому uint32_t буде кращим, а не uint_fast32_t?
Здається, uint32_tце набагато більше, ніж uint_fast32_t(я усвідомлюю, що це анекдотичні докази). Однак це здається мені протиречувальним. Майже завжди, коли я бачу використання реалізації uint32_t, все, що йому насправді потрібно, це ціле число, яке може містити значення до 4 294 967 295 (зазвичай набагато нижча межа десь між 65 535 і …
82 c++  c  int 

7
Де Linux зберігає мій системний журнал?
Я написав просту тестову програму, щоб записати щось у файл журналу. Я використовую linux mint, і після запуску програми я намагаюся переглянути журнал за допомогою цієї команди: tail -n 100 /var/log/messages але файлових повідомлень не існує, ні перевірено, нічого іншого. Нижче ви можете знайти мій код. Можливо, я роблю щось …
82 c  linux  logging 

7
Чи використання непідписаного, а не підписаного int, швидше за все, спричиняє помилки? Чому?
У посібнику стилю Google C ++ на тему "Непідписані цілі числа" пропонується Через історичну аварію стандарт С ++ також використовує цілі числа без підпису для представлення розміру контейнерів - багато членів органу, що відповідає стандартам, вважають, що це помилка, але на даний момент це фактично неможливо виправити. Той факт, що …

6
Виявлення часу компіляції архітектури процесора
Який найнадійніший спосіб з’ясувати архітектуру процесора під час компіляції коду C або C ++? Наскільки я можу судити, різні компілятори мають свій власний набір нестандартні визначення препроцесора ( _M_X86в МСВС, __i386__, __arm__в GCC, і т.д.). Чи існує стандартний спосіб виявити архітектуру, для якої я будую? Якщо ні, чи існує джерело …

12
Виявлення переписаного переповнення в C / C ++
На перший погляд, це питання може здатися дублікатом Як виявити переповнення цілих чисел? , проте насправді це суттєво відрізняється. Я виявив, що виявлення переповнення цілого числа без підпису є досить тривіальним, виявляючи підписане переповнення в C / C ++ насправді складніше, ніж думає більшість людей. Найбільш очевидним, але наївним способом …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.