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

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

6
Чому деякі програми С записуються в один величезний вихідний файл?
Наприклад, у минулого інструменту SysInternals "FileMon" є драйвер режиму ядра, вихідний код якого повністю знаходиться в одному 4000-рядковому файлі. Те саме для першої коли-небудь написаної програми, що колись написана (~ 2000 LOC).
88 design  c  source-code 

8
Чи краще документувати функції у файлі заголовка чи у вихідному файлі?
Мови, які розрізняють файл "джерело" та "заголовок" (головним чином C та C ++), краще документувати функції у файлі заголовка: (розкрадений від CCAN ) /** * time_now - return the current time * * Example: * printf("Now is %lu seconds since epoch\n", (long)time_now().tv_sec); */ struct timeval time_now(void); чи у вихідному файлі? …
86 c++  c  headers 

19
Чому OCaml не є більш популярним?
Я завжди чув, що C - це мова, яку вибираєте для вбудованих систем, або все, що потрібно працювати з максимальною швидкістю. Я ніколи не розвивав прихильність до С, здебільшого тому, що мені не подобається арифметика вказівника, а мова ледве переходить над асемблером. З іншого боку, мови ML є функціональними, мови, …
86 c  ocaml 

8
Навіщо використовувати останні рядки замість провідних з printf?
Я чув, що вам слід уникати провідних рядків під час використання printf. Так що замість printf("\nHello World!")вас слід використовуватиprintf("Hello World!\n") У цьому конкретному прикладі вище це не має сенсу, оскільки вихід буде іншим, але врахуйте це: printf("Initializing"); init(); printf("\nProcessing"); process_data(); printf("\nExiting"); у порівнянні з: printf("Initializing\n"); init(); printf("Processing\n"); process_data(); printf("Exiting"); Я …
79 c 

5
Чому не існує систем управління пакетами для C і C ++? [зачинено]
Існує кілька мов програмування, для яких існує система управління пакетами: CTAN для TeX CPAN для Perl Pip & яйця для Python Maven для Java кабал для Haskell Самоцвіти для Рубі npm для NodeJS ящик для інтерфейсу Javascript & CSS нуль для C # композитор для PHP Чи є інші мови …
78 c++  c  builds  packages 

20
Чи добре замінити оптимізований код на читабельний код?
Іноді ви стикаєтеся з ситуацією, коли вам доведеться розширити / вдосконалити деякий існуючий код. Ви бачите, що старий код дуже худорлявий, але його також важко розширити, і для читання потрібен час. Це гарна ідея замінити його сучасним кодом? Деякий час тому мені сподобався худорлявий підхід, але зараз мені здається, що …

10
Чому масиви С не відстежують їх довжину?
Що було міркуванням про те, щоб явно не зберігати довжину масиву з масивом у C? Як я це бачу, є надзвичайно багато причин для цього, але не дуже багато в підтримку стандарту (C89). Наприклад: Доступна довжина в буфері може запобігти перевищенню буфера. Стиль Java arr.lengthодночасно зрозумілий і не дозволяє програмісту …
77 c 

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

14
Чи зберігаються декларатори типу даних типу "int" та "char" в оперативній пам'яті під час виконання програми C?
Коли програма C працює, дані зберігаються у купі або стеку. Значення зберігаються в RAM-адресах. А як щодо типових індикаторів (наприклад, intабо char)? Чи вони також зберігаються? Розглянемо наступний код: char a = 'A'; int x = 4; Я читав, що A і 4 зберігаються тут у RAM-адресах. Але про що …
74 c  data 

5
Чому так мало компіляторів С?
C - одна з найбільш широко використовуваних мов у світі. На нього припадає величезна частка існуючого коду і надалі використовується для величезної кількості нового коду. Його улюблені користувачі, він настільки широко перенесений, що можливість запустити C для багатьох - це неофіційне визначення платформи , і його шанувальники оцінюють за те, …

5
Що повинно бути, а що не повинно бути у файлі заголовка? [зачинено]
Які речі абсолютно ніколи не повинні включатись у файл заголовка? Якщо, наприклад, я працюю з документально зафіксованим галузевим стандартним форматом, який має багато констант, чи є хорошою практикою визначити їх у файлі заголовка (якщо я пишу парсер для цього формату)? Які функції повинні входити у файл заголовка? Які функції не …
71 c  headers 

19
Чому я повинен дбати про мікропродуктивність та ефективність?
Багато питань та відповідей на сторінках C / C ++, конкретно чи опосередковано обговорюють проблеми мікроефективності (наприклад, накладні витрати на функцію непрямого проти прямого та вбудованого) або використання алгоритму O (N 2 ) проти O (N log N) на список 100 предметів Я завжди кодую, не хвилюючись щодо мікропродуктивності, і …

10
Чому для мов потрібні дужки навколо виразів, коли вони використовуються з "якщо" та "поки"?
Мови , як C, Java і C ++ все вимагають дужки навколо усього виразу при використанні в if, whileабо switch. if (true) { // Do something } на відміну від if true { // Do something } Мені це здається дивним, оскільки дужки є зайвими. У цьому прикладі trueє окремим …

10
Чому C переважав над Паскалем? [зачинено]
Я розумію, що у 1980-х, а може бути, і в 1990-х роках Паскаль і С були в значній мірі головними у ролі виробничих мов. Чи остаточна смерть Паскаля пов'язана лише з нехтуванням Делфі Борланда ? Або було більше, наприклад, невдача чи, можливо, щось із сутністю не було з Паскалем (будь-які …

11
Як я можу переконати мого шефа, що ANSI C є неадекватним для нашого нового проекту? [зачинено]
Кілька місяців тому ми почали розробляти додаток для управління внутрішньо розробленим тестовим обладнанням і записувати набір вимірювань. Він повинен мати простий інтерфейс користувача і, ймовірно, потребуватиме потоки через безперервну запис, який має відбуватися. Цей додаток буде використовуватися протягом декількох років, і його повинен підтримувати декілька студентів з інформатики протягом цього …

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