Вопросы с тегом «c»

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

6
Почему некоторые программы на C написаны в одном огромном исходном файле?
Например, инструмент SysInternals "FileMon" из прошлого имеет драйвер режима ядра, исходный код которого полностью находится в одном файле из 4000 строк. То же самое для первой когда-либо написанной программы ping (~ 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 - это язык, который выбирают для встраиваемых систем, или что-то, что должно работать на максимальной скорости. Я никогда не развивал любовь к 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 Пип и яйца для Python Maven для Java клика для Хаскелла Драгоценные камни для Руби НПМ для NodeJS Бауэр для внешнего интерфейса Javascript & CSS Nuget для C # композитор для PHP Есть ли …
78 c++  c  builds  packages 

20
Можно ли заменить оптимизированный код читаемым кодом?
Иногда вы сталкиваетесь с ситуацией, когда вам нужно расширить / улучшить какой-то существующий код. Вы видите, что старый код очень скудный, но его также сложно расширять, и на его чтение требуется время. Это хорошая идея, чтобы заменить его современным кодом? Некоторое время назад мне понравился бережливый подход, но сейчас мне …

10
Почему массивы C не отслеживают их длину?
Что послужило причиной отсутствия явного хранения длины массива в массиве C? На мой взгляд, есть веские причины для этого, но не очень много в поддержку стандарта (C89). Например: Наличие длины в буфере может предотвратить переполнение буфера. Стиль Java arr.lengthпонятен и избавляет программиста от необходимости поддерживать много ints в стеке при …
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
Почему С преобладал над Паскалем? [закрыто]
Насколько я понимаю, в 1980-х, а возможно, и в 1990-х, Паскаль и Си были в значительной степени непосредственными, как производственные языки. Является ли окончательная кончина Паскаля только из-за пренебрежения Борланда Дельфи ? Или что-то еще, например, невезение или что-то не так с Паскалем (есть надежды на его возрождение?). Меня интересуют …

10
Почему языки требуют скобок вокруг выражений, когда они используются с «if» и «while»?
Языки , как C, Java и C ++ все требуют скобки вокруг всего выражения при использовании в if, whileили switch. if (true) { // Do something } в отличие от if true { // Do something } Это кажется мне странным, потому что круглые скобки излишни. В этом примере trueэто …

11
Как я могу убедить моего босса, что ANSI C не подходит для нашего нового проекта? [закрыто]
Несколько месяцев назад мы начали разработку приложения для управления собственным испытательным оборудованием и записи набора измерений. Он должен иметь простой пользовательский интерфейс и, вероятно, потребует потоков из-за непрерывной записи, которая должна иметь место. Это приложение будет использоваться в течение нескольких лет, и в течение этого периода его будут поддерживать некоторые …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.