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

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

4
Про які ризики / вразливості безпеки повинен знати кожен програміст C? [зачинено]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередило увагу на одній проблемі, лише відредагувавши цю публікацію . Закрито 4 роки тому . Існує багато ризиків для безпеки, пов’язаних із тісним контактом з обладнанням, на відміну від …

3
Коли нові проекти C повинні націлюватись на дуже старі стандарти C (> 20 років, тобто C89)?
Інколи я бачу великі, відносно нові проекти з відкритим кодом з відкритим кодом, орієнтовані на дуже старі стандарти С, як правило, C89. Приклад - системний. Ці проекти мають кмітливих людей на чолі, тому вони, ймовірно, мають гарне обгрунтування цього рішення, про яке я не знаю. Отримавши користь від сумнівів убік, …
12 c  standards 

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

2
Чому масиви змінної довжини стали необов’язковими в C 2011?
Коли в 1999 році були представлені VLAs, я подумав, що мова є чудовою інновацією для мови. Однак, дізнавшись, що це стало необов’язковим у C 2011 році, мені цікаво, що призвело до зміни його статусу, і якщо це означає, що ця функція насправді спрямовується на застарілість. Якщо так, чи існує еквівалентне …

3
Чи погано посилатися на елементи масиву доступу через арифметику вказівника замість оператора []?
Я щойно почав вчитися програмувати на C, і щоб покращити своє розуміння покажчиків та масивів, я намагався посилатися на елементи масиву, не створюючи взагалі жодного покажчика: for(k1 = 0; k1 < ROW; k1++){ for(k2 = 0; k2 < COLUMN; k2++){ array[k1][k2] = k1*COLUMN + k2 + 1; printf("[%d][%d] = %d\n", …

2
Чому C досі перебуває в категорії мови високого рівня? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 5 років тому . Багато підручників з мови програмування на C говорять про те, що C - мова …

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

2
Чому масиви не можуть бути передані як аргументи функції в C?
Після цього коментаря я намагався google чому, але мій google-fu не вдався. Коментар за посиланням: [...] Але важливим є те, що масиви та покажчики - це різні речі в C. Якщо припустити, що ви не використовуєте жодних розширень компілятора, ви не можете передавати масив самій функції, але ви можете передавати …
12 c  history 

3
Як слід маркувати типи в програмах C і C ++?
У цій моїй відповіді я використав _tнаприкінці типів, які закінчилися в кращому випадку суперечливими. Це практика, яку я використовую в своїх поточних проектах. typedef struct { int x; int y; } point_t; Це повинно було відповідати типам C від stddef.hподібних size_tабо ptrdiff_t. Однак, згідно з певними коментарями до моїх запитань, …
12 c++  c  naming 

3
Чи можливо скомпілювати мову вищого рівня для читання C ++? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 6 років тому . C ++ - це багато в чому чудова мова, але деякі речі особливо громіздко …

4
Чи можливо використовувати компілятор Intel C / C ++ в Linux для створення об’єктних файлів для підключення до Windows?
Чому? Залежно від вашого джерела, компілятор Intel, швидше за все, або, безумовно, компілятор, генеруючи найшвидші виконавчі файли для архітектури x86 (від 5 до 100% покращення часу виконання). Intel пропонує свої компілятори для Linux за некомерційною ліцензією безкоштовно (я думаю, я читаю, що це безкоштовно десь на їхній сторінці: Intel - …

5
Інтегрувати версії git як номери збірки чи ні?
Ми з колегою по черзі обговорювали / обговорювали проблеми / достоїнства інтеграції версії, отриманої з поточного сховища git, до нашого коду кожного разу, коли вона створюється. Ми вважаємо, що заслуги включають: Не потрібно турбуватися про помилки людини при оновленні номера версії Простежуваність між тим, що ми знаходимо в пристрої, та …
12 c  git  builds  build-system 

2
Скільки використання "ймовірних" та "малоймовірних" макросів занадто багато?
Часто відомі як макроси likelyі unlikelyмакроси допомагають компілятору дізнатися, чи ifбуде звичайно вводитись або пропускати. Використання його призводить до деяких (досить незначних) поліпшень продуктивності. Я почав їх використовувати нещодавно, і не знаю, як часто такі підказки слід використовувати. Зараз я використовую його для перевірки помилок if, які зазвичай позначаються як …

9
Десяте правило Грінспана, чи кожен великий проект включає перекладача Ліспа? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 6 років тому . Десяте правило Грінспана (фактично єдине правило) говорить: Any sufficiently complicated C or Fortran program …

4
Яка різниця між вказівником, який вказує на розташування 0x0, і покажчиком, встановленим на NULL?
Чи покажчик, що вказує на 0x0000, такий же, як вказівник встановлений на NULL? Якщо значення NULL визначено мовою C, то в яке місце воно фізично перекладається? Це те саме, що і 0x0000. Де я можу знайти більш детальну інформацію про ці поняття?
12 c  pointers  null 

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