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

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


9
Як використовувати API socket C в C ++ на z / OS
У мене виникають питання , отримати З Sockets API для роботи належним чином C++на z/OS. Хоча я включаю sys/socket.h, я все ще отримую помилки компіляції часу, кажучи мені, що AF_INETце не визначено . Я пропускаю щось очевидне, чи це пов’язано з тим, що перебування на роботі z/OSзначно ускладнює мої проблеми? …
158 c++  c  sockets  mainframe  zos 

24
Корисні прапорці GCC для C
Крім налаштування -Wallта налаштування -std=XXX, які інші справді корисні, але менш відомі прапорці компілятора існують для використання в C? Мене особливо цікавлять будь-які додаткові попередження та / або перетворення попереджень на помилки в деяких випадках, щоб абсолютно мінімізувати будь-які випадкові невідповідності.
157 c  gcc  compiler-flags 

8
Що таке бібліотека часу виконання C?
Що насправді є бібліотекою часу виконання C і для чого вона використовується? Я шукав, Гуглінг, як чорт, але я не зміг знайти нічого кращого, ніж Microsoft: "Бібліотека часу роботи Microsoft пропонує підпрограми програмування для операційної системи Microsoft Windows. Ці підходи автоматизують багато поширених завдань програмування, які не передбачені мови C …
157 c  runtime 

22
Об'єктно-орієнтована в С
Що б являв собою набір чудових препроцесорних хаків (сумісних ANSI C89 / ISO C90), які дають змогу мати якусь потворну (але корисну) орієнтацію на об'єкт у C? Я знайомий з декількома різними об'єктно-орієнтованими мовами, тому, будь ласка, не відповідайте на відповіді на кшталт "Дізнайтесь C ++!" Я прочитав " Об'єктно-орієнтоване …
157 c  oop  object 

11
memcpy () vs memmove ()
Я намагаюся зрозуміти різницю між memcpy()і memmove(), і я прочитав текст, memcpy()який не піклується про перекриття джерела та призначення, тоді як memmove(). Однак, коли я виконую ці дві функції на блоках пам'яті, що перекриваються, вони обидва дають однаковий результат. Наприклад, візьміть такий приклад MSDN на memmove()довідковій сторінці: - Чи є …
157 c  memcpy  memmove 

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

9
Навіщо використовувати bzero над мемсетом?
У класі системного програмування, який я взяв у цьому попередньому семестрі, нам довелося реалізувати базовий клієнт / сервер у C. При ініціалізації структур, як sock_addr_in, або буферів char (які ми використовували для передачі даних між клієнтом і сервером) професор доручив нам використовувати тільки, bzeroа неmemset ініціалізувати їх. Він ніколи не …

23
Встановлення змінної на NULL після безкоштовного
У моїй компанії є правило кодування, яке говорить, звільнивши будь-яку пам'ять, скинути змінну до NULL. Наприклад ... void some_func () { int *nPtr; nPtr = malloc (100); free (nPtr); nPtr = NULL; return; } Я вважаю, що у таких випадках, як код, показаний вище, встановлення NULLзначення не має жодного значення. …

6
Як зрозуміти місцевий чутливий хешинг?
Я помітив, що LSH здається хорошим способом пошуку подібних предметів із властивостями високого розміру. Прочитавши документ http://www.slaney.org/malcolm/yahoo/Slaney2008-LSHTutorial.pdf , я все ще плутаюсь із цими формулами. Хтось знає блог чи статтю, яка пояснює, що це найпростіший спосіб?

5
Чи залежить зміна бітів від витривалості?
Припустимо, у мене 'numb'=1025 [00000000 00000000 00000100 00000001]представлене число : На машині Little Endian: 00000001 00000100 00000000 00000000 На машині Big-Endian: 00000000 00000000 00000100 00000001 Тепер, якщо я застосую Left Shift до 10 біт (тобто: numb << = 10), я повинен мати: [A] На машині Little Endian: Як я помітив …
156 c  endianness 

9
Де в пам'яті зберігаються мої змінні в C?
Враховуючи, що пам'ять поділяється на чотири сегменти: дані, купа, стек та код, де роблять глобальні змінні, статичні змінні, постійні типи даних, локальні змінні (визначені та оголошені у функціях), змінні (в основній функції), покажчики , а динамічно виділений простір (за допомогою malloc та calloc) зберігається в пам'яті? Я думаю, що вони …

5
Несумісне неявне оголошення вбудованої функції 'malloc'
Я отримую цю помилку: попередження: несумісне неявне оголошення вбудованої функції 'malloc' Я намагаюся зробити це: fileinfo_list* tempList = malloc(sizeof(fileinfo_list)); Тільки для довідки, використовувана структура: typedef struct { fileinfo** filedata; size_t nFiles; size_t size; size_t fileblock; } fileinfo_list; Я не бачу нічого поганого в тому, що я зробив. Я просто створюю …
155 c  struct  malloc 


7
"плавати" проти "подвійної" точності
Код float x = 3.141592653589793238; double z = 3.141592653589793238; printf("x=%f\n", x); printf("z=%f\n", z); printf("x=%20.18f\n", x); printf("z=%20.18f\n", z); дасть вам вихід x=3.141593 z=3.141593 x=3.141592741012573242 z=3.141592653589793116 де на третьому рядку випуску 741012573242є сміття, а на четвертому 116- сміття. Чи є у парних пар 16 завжди значущих фігур, а у поплавців завжди 7 …
155 c  floating-point 

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