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

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

11
максимальне значення цілого числа
У C ціле число (для 32-бітної машини) становить 32 біти, і воно становить від -32,768 до +32,767. У Java ціле число (довге) також становить 32 біти, але становить від -2,147,483,648 до +2,147,483,647. Я не розумію, чим діапазон відрізняється у Java, хоча кількість бітів однакова. Хтось може це пояснити?
291 java  c  integer  max  bit 

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

19
Чи дійсно швидше множення та ділення за допомогою операторів зсуву в C?
Множення та ділення можна досягти, наприклад, за допомогою бітових операторів i*2 = i<<1 i*3 = (i<<1) + i; i*10 = (i<<3) + (i<<1) і так далі. Насправді швидше використовувати кажуть, (i<<3)+(i<<1)щоб помножити на 10, ніж використовувати i*10безпосередньо? Чи є якісь дані, які не можна примножувати чи ділити таким чином?

10
C / C ++ включають порядок файлів заголовка
Який порядок повинен містити вказані файли, тобто які причини включення одного заголовка до іншого? Наприклад, чи йдуть системні файли, STL та Boost до або після того, як локальні включають файли?
288 c++  c 

17
Чому я отримую помилку сегментації під час запису до "char * s", ініціалізованого рядковим буквалом, але не "char s []"?
Наступний код отримує seg fault у рядку 2: char *str = "string"; str[0] = 'z'; // could be also written as *str = 'z' printf("%s\n", str); Хоча це працює чудово: char str[] = "string"; str[0] = 'z'; printf("%s\n", str); Тестували з MSVC та GCC.


8
Чому струн glibc повинен бути таким складним, щоб швидко працювати?
Я переглядав strlenкод тут і мені було цікаво, чи дійсно потрібні оптимізації, використовувані в коді? Наприклад, чому б щось подібне не було настільки ж добре чи краще? unsigned long strlen(char s[]) { unsigned long i; for (i = 0; s[i] != '\0'; i++) continue; return i; } Чи не простіший …

20
Писати програми на C або C ++ для Android? [зачинено]
Наразі це запитання не підходить для нашого формату запитань. Ми очікуємо, що відповіді будуть підкріплені фактами, посиланнями або експертними знаннями, але це питання, ймовірно, вимагатиме дискусій, аргументів, опитувань чи розширеної дискусії. Якщо ви вважаєте, що це питання можна вдосконалити та, можливо, знову відкрити, відвідайте довідковий центр для ознайомлення . Закрито …
286 c++  c  android 

12
Встановлення бібліотеки С у Python: C, Cython чи ctypes?
Я хочу зателефонувати до бібліотеки С із програми Python. Я не хочу обробляти весь API, лише функції та типи даних, які відповідають моєму випадку. Як я бачу, у мене є три варіанти: Створіть фактичний модуль розширення в C. Можливо, зайвий рівень, і я також хотів би уникнути накладних витрат на …
284 python  c  ctypes  cython 

18
Що обґрунтовує нульові завершені рядки?
Наскільки я люблю C і C ++, я не можу не почухати голову при виборі нульових завершених рядків: Попередньо встановлені (тобто Pascal) рядки існували до C Префіксні рядки по довжині роблять кілька алгоритмів швидшими, дозволяючи шукати постійну тривалість часу. Попередньо встановлені рядки по довжині ускладнюють помилки перевиконання буфера. Навіть на …
281 c++  c  string  null-terminated 

4
Колись, коли> було швидше, ніж <... Зачекайте, що?
Я читаю дивовижний підручник з OpenGL . Це дійсно чудово, повірте мені. Тема, в якій я зараз перебуваю, - Z-буфер. Окрім пояснення того, про що йдеться, автор зазначає, що ми можемо виконувати спеціальні глибинні тести, такі як GL_LESS, GL_ALWAYS тощо. Він також пояснює, що власне значення значень глибини (яка є …
280 c  optimization  opengl  cpu  gpu 



11
Core скинуто, але основний файл не знаходиться в поточному каталозі?
Під час запуску програми C він говорить "(ядро скинуто)", але я не бачу жодного файлу під поточним контуром. Я встановив і перевірив ulimit: ulimit -c unlimited ulimit -a Я також спробував знайти файл з назвою "core", але я не отримав файл, який викинув ядро? Будь-яка допомога, де мій основний файл?
277 c  linux  coredump 

6
Коли я повинен використовувати mmap для доступу до файлів?
Середовища POSIX забезпечують щонайменше два способи доступу до файлів. Там в стандартних системних викликах open(), read(), write()і друзі, але є також можливість використання mmap()для відображення файлу в віртуальну пам'ять. Коли краще використовувати один над іншим? Які їх переваги, зокрема два інтерфейси?
276 c  file-io  posix  mmap 

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