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

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

8
Яка різниця між масивом char та char pointer у C?
Я намагаюся зрозуміти покажчики на C, але в даний час я плутаю наступне: char *p = "hello" Це покажчик знаків, що вказує на масив символів, починаючи з h . char p[] = "hello" Це масив, який зберігає привіт . Яка різниця, коли я передаю обидві ці змінні у цю функцію? …
216 c  arrays  pointers 

30
Чому програми не пишуться в Асамблеї частіше? [зачинено]
Наразі це запитання не підходить для нашого формату запитань. Ми очікуємо, що відповіді будуть підкріплені фактами, посиланнями або експертними знаннями, але це питання, ймовірно, вимагатиме дискусій, аргументів, опитувань чи розширеної дискусії. Якщо ви вважаєте, що це питання можна вдосконалити та, можливо, знову відкрити, відвідайте довідковий центр для ознайомлення . Закрито …


3
Чому визначення покажчиків функцій працюють з будь-якою кількістю амперсандів '&' або зірочок '*'?
Чому наступні роботи? void foo() { cout << "Foo to you too!\n"; }; int main() { void (*p1_foo)() = foo; void (*p2_foo)() = *foo; void (*p3_foo)() = &foo; void (*p4_foo)() = *&foo; void (*p5_foo)() = &*foo; void (*p6_foo)() = **foo; void (*p7_foo)() = **********************foo; (*p1_foo)(); (*p2_foo)(); (*p3_foo)(); (*p4_foo)(); (*p5_foo)(); (*p6_foo)(); …
216 c++  c  function-pointers 


3
Що означають дужки навколо назви функції?
В одному з моїх вихідних файлів проекту я знайшов таке визначення функції C: int (foo) (int *bar) { return foo (bar); } Примітка: Поруч немає зірочки foo, тому це не покажчик функції. Або це? Що відбувається тут з рекурсивним викликом?
214 c  function  parentheses 

4
Які відмінності між .so та .dylib на osx?
.dylib - це динамічне розширення бібліотеки на OSX, але мені ніколи не було зрозуміло, коли я не можу / не повинен використовувати традиційний unix .so спільний об’єкт. Деякі з питань, які у мене є: На концептуальному рівні, які основні відмінності між .so та .dylib? Коли я можу / повинен використовувати …
214 c++  c  macos  unix 

8
закрити проти вимкнення розетки?
В C я зрозумів, що якщо ми закриємо сокет, це означає, що сокет буде знищений і може бути використаний пізніше. Як щодо відключення? В описі сказано, що він закриває половину дуплексного з'єднання з цією розеткою. Але чи буде цей сокет знищений як closeсистемний виклик?
214 c  sockets  networking 

10
статичний const vs #define
Чи краще використовувати static constvars, ніж #defineпрепроцесор? А може, це залежить від контексту? Які переваги / недоліки у кожного методу?
212 c++  c  const 

24
Захист виконуваного файлу від зворотного проектування?
Я роздумував над тим, як захистити свій код C / C ++ від розбирання та зворотної інженерії. Зазвичай я ніколи не потураю собі такої поведінки у своєму коді; однак діючий протокол, над яким я працював, ніколи не повинен перевірятися чи зрозуміти, для безпеки різних людей. Тепер це нова тема для …
210 c++  c  obfuscation  assembly 

30
Чи є хороша заміна Valgrind для Windows?
Заблокований . Це запитання та його відповіді заблоковано, оскільки це питання поза темою, але має історичне значення. Наразі він не приймає нових відповідей чи взаємодій. Я шукав Valgrind, щоб допомогти покращити моє C / відлагодження, коли виявив, що це тільки для Linux - у мене немає ніякої іншої потреби чи …


6
typedef масив фіксованої довжини
Я маю визначити 24-бітний тип даних. Я використовую char[3]для представлення типу. Можу чи я ЬурейеЕ char[3]до type24? Я спробував це у зразку коду. Я помістив typedef char[3] type24;у свій файл заголовка. Укладач на це не скаржився. Але коли я визначив функцію void foo(type24 val) {}у своєму файлі C, він скаржився. …
210 c  arrays  gcc  typedef 

12
#define макрос для налагодження друку в C?
Спроба створити макрос, який може використовуватися для друку налагоджених повідомлень, коли визначено DEBUG, як-от наступний псевдо-код: #define DEBUG 1 #define debug_print(args ...) if (DEBUG) fprintf(stderr, args) Як це здійснюється за допомогою макроса?
209 c  c-preprocessor 

24
Як змусити дитину померти після виходу з батьків?
Припустимо, у мене є процес, який породжує рівно один дочірній процес. Тепер, коли батьківський процес закінчується з будь-якої причини (як правило, або ненормально, вбиваючи, ^ C, стверджуючи провал чи щось інше), я хочу, щоб дочірній процес загинув. Як це зробити правильно? Деякі подібні запитання щодо stackoverflow: (запитав раніше) Як я …
209 c  linux  unix  process  fork 

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