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.



10
Jak zapobiegać SIGPIPE (lub obsługiwać je poprawnie)
Mam mały program serwera, który akceptuje połączenia na TCP lub lokalnym gnieździe UNIX, czyta proste polecenie i, w zależności od polecenia, wysyła odpowiedź. Problem polega na tym, że klient czasami nie jest zainteresowany odpowiedzią i wychodzi wcześniej, więc pisanie do tego gniazda spowoduje SIGPIPE i spowoduje awarię serwera. Jaka jest …
259 c  io  signals  broken-pipe  sigpipe 

12
Wykorzystanie operatora strzałek (->) w C
Czytam książkę zatytułowaną „Naucz się C w 21 dni” (już nauczyłem się Java i C #, więc poruszam się w znacznie szybszym tempie). Czytałem rozdział na temat wskaźników i operator-> (strzałka) pojawił się bez wyjaśnienia. Myślę, że służy do wywoływania członków i funkcji (jak odpowiednik operatora (kropka), ale dla wskaźników …
257 c  pointers  syntax 

3
Dlaczego zestaw malloc + jest wolniejszy niż calloc?
Wiadomo, że callocróżni się od malloctego, że inicjalizuje przydzieloną pamięć. Za callocpomocą pamięć jest ustawiona na zero. Zmalloc pomocą pamięć nie zostanie wyczyszczona. Tak więc w codziennej pracy uważam callocza malloc+memset . Nawiasem mówiąc, dla zabawy napisałem następujący kod dla testu porównawczego. Wynik jest mylący. Kod 1: #include<stdio.h> #include<stdlib.h> #define …
256 c  malloc 

10
Używasz GCC do stworzenia czytelnego zestawu?
Zastanawiałem się, jak użyć GCC na moim źródłowym pliku C do zrzucenia mnemonicznej wersji kodu maszynowego, aby zobaczyć, w jaki sposób mój kod jest kompilowany. Możesz to zrobić w Javie, ale nie byłem w stanie znaleźć sposobu w GCC. Próbuję ponownie napisać metodę C w asemblerze i zobaczenie, jak działa …
256 c  gcc  assembly 

15
Cel związków w C i C ++
Wcześniej korzystałem ze związków zawodowych; dzisiaj byłem zaniepokojony, gdy przeczytałem ten post i dowiedziałem się, że ten kod union ARGB { uint32_t colour; struct componentsTag { uint8_t b; uint8_t g; uint8_t r; uint8_t a; } components; } pixel; pixel.colour = 0xff040201; // ARGB::colour is the active member from now on …
254 c++  c  unions  type-punning 

11
Dlaczego musisz połączyć bibliotekę matematyczną w C?
Gdybym to <stdlib.h>czy <stdio.h>w programie C nie mam połączyć je podczas kompilacji, ale muszę się linkiem do <math.h>korzystając -lmz gcc, na przykład: gcc test.c -o test -lm Jaki jest tego powód? Dlaczego muszę jawnie łączyć bibliotekę matematyczną, ale nie inne biblioteki?
254 c  compilation  math.h 



6
Dlaczego 0 <-0x80000000?
Mam poniżej prosty program: #include &lt;stdio.h&gt; #define INT32_MIN (-0x80000000) int main(void) { long long bal = 0; if(bal &lt; INT32_MIN ) { printf("Failed!!!"); } else { printf("Success!!!"); } return 0; } Warunek if(bal &lt; INT32_MIN )jest zawsze spełniony. Jak to jest możliwe? Działa dobrze, jeśli zmienię makro na: #define INT32_MIN …

10
Co oznacza {0} podczas inicjowania obiektu?
{0}Co to znaczy, kiedy jest używany do inicjalizacji obiektu? {0}Nigdzie nie mogę znaleźć żadnych odniesień , a ze względu na nawiasy klamrowe wyszukiwania w Google nie są pomocne. Przykładowy kod: SHELLEXECUTEINFO sexi = {0}; // what does this do? sexi.cbSize = sizeof(SHELLEXECUTEINFO); sexi.hwnd = NULL; sexi.fMask = SEE_MASK_NOCLOSEPROCESS; sexi.lpFile = …
252 c++  c 



22
Jak C oblicza sin () i inne funkcje matematyczne?
Przeglądałem dezasemblacje .NET i kod źródłowy GCC, ale wydaje się, że nigdzie nie mogę znaleźć faktycznej implementacji sin()i innych funkcji matematycznych ... zawsze wydają się odnosić do czegoś innego. Czy ktoś może mi pomóc je znaleźć? Wydaje mi się, że jest mało prawdopodobne, aby WSZYSTKIE urządzenia, na których będzie działał …
248 c  math  trigonometry 

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.