c

Jak sprawić, by proces potomny umarł po wyjściu rodzica?

Przypuśćmy, że mam proces, który rodzi dokładnie jeden proces potomny. Teraz, gdy proces macierzysty zakończy się z jakiegoko ... : Jak automatycznie zniszczyć procesy potomne w systemie Windows? Kill child process when parent process is killed

Dlaczego stosowanie alloca() nie jest uważane za dobrą praktykę?

alloca() przydziela pamięć ze stosu, a nie stosu, co ma miejsce w malloc(). Więc, kiedy wracam z rutyny, pamięć zostaje uwoln ... e prowadzi do wszelkiego rodzaju problemów z pamięcią. Dlaczego stosowanie alloca() jest zniechęcane pomimo powyższych cech?

Jak mogę autoformatować / wciąć kod C w Vimie?

Kiedy kopiuję kod z innego pliku, formatowanie jest popsute, tak: fun() { for(...) { for(...) { if(...) { } } } } Jak mogę autoformatować ten kod w Vimie?

Debug vs Release w CMake

W opracowanym projekcie GCC, Jak uruchomić CMake dla każdego typu docelowego (debug/release)? Jak określić Debug i zwolni ... używając CMake? Jak wyrazić, że główny plik wykonywalny zostanie skompilowany z g++ i jedną zagnieżdżoną biblioteką z gcc?

Czy w C/C++istnieje standardowa funkcja znakowa (signum, sgn)?

Chcę funkcji, która zwraca -1 dla liczb ujemnych i +1 dla liczb dodatnich. http://en.wikipedia.org/wiki/Sign_function Łatwo ... się, że to coś, co powinno być gdzieś w standardowej bibliotece. Edit: konkretnie Szukałem funkcji działającej na pływakach.

Czy powinienem użyć char * * argv lub char * argv []?

Właśnie uczę się C i zastanawiałem się, który z nich powinienem użyć w mojej głównej metodzie. Jest jakaś różnica? Który z nich jest bardziej powszechny?

Jak zwiększyć adres wskaźnika i wartość wskaźnika?

Załóżmy, int *p; int a = 100; p = &a; Co i jak będzie robił poniższy kod? p++; ++p; ++*p; ++(*p); ++*(p); *p++; ... 300 jest przechowywany w wskaźniku p, którego adres to 3560200. Jaka będzie wartość p & a Po wykonaniu każdego polecenia?

Jak odwrócić ciąg znaków w C lub c++?

Jak odwrócić łańcuch w C lub C++ bez konieczności posiadania oddzielnego bufora do przechowywania odwróconego łańcucha?

Przechodzenie przez odniesienie w C

Jeśli C nie obsługuje przekazywania zmiennej przez odniesienie, dlaczego to działa? #include <stdio.h> void f(int *j) ... = 20; int *p = &i; f(p); printf("i = %d\n", i); return 0; } Wyjście: $ gcc -std=c99 test.c $ a.exe i = 21

Do czego służy wywołanie systemowe brk ()?

Zgodnie z instrukcją programistów Linuksa: Brk () i sbrk() zmieniają lokalizację przerwania programu, co określa konie ... śnie w dół. Ale to, czego nie wyjaśniają, to to, co się dzieje, gdy sterta zajmuje całą przestrzeń między stertą a stosem?

Jak zapobiec SIGPIPEs (lub obsługiwać je prawidłowo)

Mam mały program serwerowy, który akceptuje połączenia na TCP lub lokalnym gnieździe UNIX, odczytuje proste polecenie i, w za ... (select () chyba tu nie działa jak to zawsze mówi, że gniazdo jest zapisywalne). Czy mam złapać SIGPIPE ' a i zignorować go?

Przykład / tutorial Mutex?

Jestem nowy w wielowątkowości i próbowałem zrozumieć, jak działają mutexy. Dużo Wygooglowałem i znalazłem porządny tutorial , ... x i najprostszym możliwym wyjaśnieniu na temat logiki jego działania? Jestem pewien, że to pomoże plenty innych nowicjuszy.

Czy istnieje typowy wzorzec implementacji maszyny stanowej?

Musimy zaimplementować prostą maszynę stanową w C . Czy standardowa Instrukcja przełączania jest najlepszym rozwiązaniem? Ma ... ę, że Biblioteka Boost Statechart może być dobrym rozwiązaniem. Jednak nie pomaga z C. skupmy się na przypadku użycia C.

Wyściółka struktury i pakowanie

Rozważmy: struct mystruct_A { char a; int b; char c; } x; struct mystruct_B { int b; char a; } y; Rozmiar ... ruktur wynoszą odpowiednio 12 i 8. Czy te struktury są wyściełane czy zapakowane? Kiedy odbywa się wyściółka lub pakowanie?

Jak wydrukować pełną wartość długiego ciągu w gdb?

Chcę wydrukować pełną długość ciągu C w GDB. Domyślnie jest skracany, jak wymusić na GDB wydrukowanie całego ciągu?

Zapobieganie zamknięciu okna konsoli w aplikacji konsolowej Visual Studio C / C++

Jest to prawdopodobnie embraing pytanie, jak bez wątpienia odpowiedź jest ślepo oczywiste. Używam Visual Studio od lat, ale ... jest sposób, aby albo zachować go otwarte, dopóki nie sprawdzę wyjścia, lub wyświetlić wyniki po tym, jak okno ma zamknięte?

Ochrona pliku wykonywalnego przed inżynierią odwrotną?

Zastanawiałem się, jak chronić mój kod C / C++ przed demontażem i inżynierią odwrotną. Normalnie nigdy nie zaakceptowałbym t ... tkie mogą być obejrzane i / lub rozgryzone przez analityków kodu, biorąc pod uwagę odpowiednie ramy czasowe. Mam coś innego?

Gdzie przechowywane są zmienne statyczne w C i C++?

W jakim segmencie (.BSS,Dane, inne) pliku wykonywalnego są statyczne zmienne przechowywane tak, że nie mają kolizji nazw? Na ... em zarezerwowanym w pliku wykonywalnym dla tych zmiennych statycznych. Dla celów dyskusji, Załóżmy, że używamy GCC toolchain.

Rozmiar znaku ('a') w C / C++

Jaki jest rozmiar znaku w C i C++ ? Z tego co wiem rozmiar char to 1 bajt zarówno w C jak i C++. W C: #include <stdio. ... "\n"; return 0; } Wyjście: Size of char : 1 Size of char : 1 Dlaczego sizeof('a') zwraca różne wartości w C i C++?

Jakie jest uzasadnienie dla ciągów zakończonych znakiem null?

Mimo, że kocham C i c++, nie mogę się powstrzymać od podrapania się po głowie przy wyborze null zakończonych ciągów: Leng ... czone Null ciągi po prostu przyklejają null tam, gdzie ma być nowy koniec, prefiksy długości po prostu odejmują od prefiksu.)