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

C - це комп'ютерна мова програмування загального призначення, що використовується для операційних систем, ігор та інших високопродуктивних робіт.

3
Коли триггерна функція зі ступенем аргументу повинна повертати -0,0?
При створенні Тріг функцій my_sind(d), my_cosd(d), my_tand(d), що використовували градусний аргумент , а не радіан один і давав точні відповіді на кратні 90, я помітив , що результат був іноді -0.0замість 0.0. my_sind( 0.0) --> 0.0 my_sind(-0.0) --> -0.0 my_sind(180.0) --> -0.0 my_sind(360.0) --> 0.0 sin()і, tan()як правило, повертають один …
10 c  math 

3
Чи готовий Clang / LLVM до прайм-тайму? [зачинено]
Наразі це запитання не підходить для нашого формату запитань. Ми очікуємо, що відповіді будуть підкріплені фактами, посиланнями або експертними знаннями, але це питання, ймовірно, вимагатиме дискусій, аргументів, опитувань чи розширеної дискусії. Якщо ви вважаєте, що це питання можна вдосконалити та, можливо, знову відкрити, відвідайте довідковий центр для ознайомлення . Закрито …

3
Написання на початку файлу те, що ви знаєте лише в кінці
Передумови: Я пишу код мікроконтролера C, щоб написати файл EBML. EBML - це як бінарний XML з вкладеними елементами, але замість початкових і кінцевих тегів є ідентифікатор початку, довжина, а потім дані. Я записую це у зовнішній Flash у програмі малої потужності, тому я хотів би звести доступ до спалаху …

1
Ідіоматичне обгортання API шаблону типу C ++ у C
Я працюю над упаковкою API C ++, який забезпечує доступ до сховища даних (Hazelcast) у функціях C, так що до сховища даних також можна отримати доступ з коду, що містить лише C. API Hazelcast C ++ для структури даних Map виглядає приблизно так: auto map = hazelcastClient->client->getMap<int, string>(mapName); map.put(key, value); …
9 c++  c  api-design 

1
Що банки насправді використовують як тип даних для грошей? [зачинено]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередило увагу на одній проблемі, лише відредагувавши цю публікацію . Закрито 4 роки тому . Я знаю кілька хороших варіантів : Великі цілі числа (наприклад, int64_t, mpz_t, будь-яка bignum …

3
Наскільки корисне C "справжнє" розмір змінних?
Одна річ, яка завжди інтуїтивно вражала мене позитивною особливістю C (ну, власне, її реалізацій, таких як gcc, clang, ...) - це той факт, що вона не зберігає прихованої інформації поруч із вашими власними змінними під час виконання. Під цим я маю на увазі, що якщо ви, наприклад, хотіли змінної "x" …

5
Що означає декларувати змінну змінну?
Багато програм низького рівня використовують летюче ключове слово для типів для картографування пам’яті тощо. Однак я дещо плутаюсь з тим, що це дійсно робить у фоновому режимі. Іншими словами, що це означає, коли компілятор не «оптимізує» адресу пам'яті?
9 c++  c  low-level 

8
Що зупиняє C від компіляції / інтерпретації / JIT'ed?
Яву часто хвалять за свою дивовижну портативність, яку, я вважаю, є завдяки JVM. Моє запитання полягає в тому, що перешкоджає компілюванню / інтерпретації / JIT'ed .., якщо це так, C також можна написати один раз і змусити його працювати на будь-якому пристрої, який у вас є. але це не популярний …

4
Якщо випустити «деструкторів» в C, це занадто далеко - це YAGNI?
Я працюю над середнім вбудованим додатком в C, використовуючи ОО-подібні методи. Мої "класи" - це .h / .c модулі, що використовують структури даних та функціональні покажчики для імітації інкапсуляції, поліморфізму та введення залежності. Тепер можна було б очікувати, що myModule_create(void)функція прийде разом із myModule_destroy(pointer)колегою. Але проект, який впроваджується, ніколи не …

5
Як зробити очевидним, що функція доступна ззовні?
Це специфічне C питання. Я намагаюся зберегти все можливе в межах одиниці перекладу, відкриваючи лише кілька функцій через .hфайл. Тобто я надаю посилання на staticоб’єкти файлового рівня. Тепер пару функцій потрібно викликати іншими модулями, але не безпосередньо. Мій модуль / файл / блок перекладу підписується на інші модулі, передаючи вказівник …

2
У чому причина стандарту C вважати констресність рекурсивно?
Стандарт C99 говорить в 6.5.16: 2: Оператор призначення повинен мати змінне значення як його лівий операнд. та в 6.3.2.1: Зміна lvalue - це значення, яке не має типу масиву, не має неповного типу, не має типу const, і якщо це структура чи об'єднання, не має жодного члена (включаючи, рекурсивно, будь-який …
9 design  c 

1
Макро проти статичних функцій у заголовку
для багатьох швидких завдань, де можна було б використовувати функцію f(x,y), у звичайному C використовуються макроси. Я хотів би запитати конкретно про ці випадки, які вирішуються викликом функції (тобто макроси, що використовуються для вбудованих функцій, а не для розширення коду довільного коду). Зазвичай функції C не є впорядкованими, оскільки вони …
9 c 

6
Чи повинна моя команда використовувати якийсь загальний добре сприйнятий стандарт кодування як свою власну основу?
Команда з науково-дослідної роботи, в якій я перебуваю, вирішила прийняти стандарт кодування. Ми лише нещодавно сформували і маємо занадто мало коду та загального власного часу кодування, щоб базувати наш стандарт / конвенційний документ на тому, що органічно склалося в нашій команді, та на хороших прикладах із власного коду тощо. Тепер …

3
Обґрунтування функцій бібліотеки C ніколи не встановлює errno до нуля
Стандарт C встановлює, що жодна зі стандартних функцій бібліотеки С не повинна встановлюватися errnoна нуль. Чому саме це? Я міг би зрозуміти, що це корисно для виклику декількох функцій та перевірки лише errnoпісля останньої - наприклад: errno = 0; double x = strtod(str1, NULL); long y = strtol(str2, NULL); if …
9 c  standards 

3
Хороший приклад масиву змінної довжини C [закритий]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередило увагу на одній проблемі, лише відредагувавши цю публікацію . Закрито 4 роки тому . Це питання отримало досить заморожений прийом на SO, тому я вирішив видалити його та …
9 c++  c  stack  heap 

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