Pytania otagowane jako c

C jest językiem programowania ogólnego przeznaczenia używanym do programowania systemu (system operacyjny i wbudowane), bibliotek, gier i platform. Tego znacznika należy używać z ogólnymi pytaniami dotyczącymi języka C, zgodnie z definicją w normie ISO 9899 (najnowsza wersja, 9899: 2018, o ile nie określono inaczej - także znaczniki specyficzne dla wersji za pomocą c89, c99, c11 itd.). C różni się od C ++ i nie należy go łączyć ze znacznikiem C ++ bez uzasadnionego powodu.


30
Dlaczego programy nie są pisane w asemblerze częściej? [Zamknięte]
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą specjalistyczną, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy w …

3
Dlaczego definicje wskaźników funkcji działają z dowolną liczbą znaków „&” lub gwiazdek „*”?
Dlaczego następujące działania? 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
Co oznaczają nawiasy wokół nazwy funkcji?
W jednym z moich plików źródłowych projektu znalazłem definicję funkcji C: int (foo) (int *bar) { return foo (bar); } Uwaga: obok nie ma gwiazdki foo, więc nie jest wskaźnikiem funkcji. Albo to jest? Co się tutaj dzieje z połączeniem rekurencyjnym?
214 c  function  parentheses 

4
Jakie są różnice między .so i .dylib na OSX?
.dylib jest dynamicznym rozszerzeniem biblioteki dla OSX, ale nigdy nie było dla mnie jasne, kiedy nie mogę / nie powinienem używać tradycyjnego współdzielonego obiektu .so. Niektóre z moich pytań: Na poziomie koncepcyjnym, jakie są główne różnice między .so i .dylib? Kiedy mogę / powinienem stosować jeden na drugim? Wskazówki i …
214 c++  c  macos  unix 

8
zamknij vs zamknij gniazdo?
W C zrozumiałem, że jeśli zamkniemy gniazdo, oznacza to, że gniazdo zostanie zniszczone i może być ponownie użyte później. Co powiesz na zamknięcie? Opis mówi, że zamyka połowę połączenia dupleksowego z tym gniazdem. Ale czy to gniazdo zostanie zniszczone jak closewywołanie systemowe?
214 c  sockets  networking 

10
static const vs #define
Czy lepiej jest używać static constvarsa niż #definepreprocesora? A może zależy to od kontekstu? Jakie są zalety / wady każdej metody?
212 c++  c  const 

24
Ochrona pliku wykonywalnego przed inżynierią wsteczną?
Zastanawiałem się, jak chronić mój kod C / C ++ przed dezasemblacją i inżynierią wsteczną. Zwykle nigdy nie przyzwalam na takie zachowanie w moim kodzie; jednak obecny protokół, nad którym pracuję, nie może być nigdy sprawdzany ani zrozumiały dla bezpieczeństwa różnych osób. Teraz jest to dla mnie nowy temat, a …
210 c++  c  obfuscation  assembly 



6
typedef tablica o stałej długości
Muszę zdefiniować 24-bitowy typ danych. Używam char[3]do reprezentowania typu. Czy mogę napisać char[3]na maszynie type24? Próbowałem w próbce kodu. I umieścić typedef char[3] type24;w moim pliku nagłówka. Kompilator nie narzekał na to. Ale kiedy zdefiniowałem funkcję void foo(type24 val) {}w moim pliku C, narzekała. Chciałbym móc definiować funkcje takie jak …
210 c  arrays  gcc  typedef 

12
# Zdefiniować makro do drukowania debugowania w C?
Próba utworzenia makra, którego można użyć do drukowania komunikatów debugowania po zdefiniowaniu DEBUG, jak na przykład następujący pseudo kod: #define DEBUG 1 #define debug_print(args ...) if (DEBUG) fprintf(stderr, args) Jak można to osiągnąć za pomocą makra?
209 c  c-preprocessor 

24
Jak sprawić, by proces potomny umierał po wyjściu rodziców?
Załóżmy, że mam proces, który odradza dokładnie jeden proces potomny. Teraz, gdy proces nadrzędny kończy działanie z jakiegokolwiek powodu (normalnie lub nienormalnie, przez zabicie, ^ C, stwierdzenie niepowodzenia lub cokolwiek innego) chcę, aby proces potomny umarł. Jak to zrobić poprawnie? Kilka podobnych pytań na temat stackoverflow: (zapytano wcześniej) Jak mogę …
209 c  linux  unix  process  fork 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.