Pytania otagowane jako c

C jest językiem programowania komputerów ogólnego przeznaczenia, używanym w systemach operacyjnych, grach i innych wysokowydajnych pracach i wyraźnie różni się od C ++. Został opracowany w 1972 roku przez Dennisa Ritchie do użytku z systemem operacyjnym Unix.


10
Dlaczego argv zawiera nazwę programu?
Typowe programy uniksowe / Linux akceptują dane z wiersza poleceń jako argument count ( int argc) i wektor argumentu ( char *argv[]). Pierwszym elementem argvjest nazwa programu - po nim rzeczywiste argumenty. Dlaczego nazwa programu jest przekazywana do pliku wykonywalnego jako argument? Czy są jakieś przykłady programów używających ich własnych …


4
Dlaczego program z fork () czasami drukuje dane wyjściowe wiele razy?
W Programie 1 Hello worldjest drukowany tylko raz, ale kiedy go wyjmuję \ni uruchamiam (Program 2), wydruk jest drukowany 8 razy. Czy ktoś może mi wyjaśnić znaczenie \ntutaj i jak to wpływa na fork()? Program 1 #include <sys/types.h> #include <unistd.h> #include <stdio.h> #include <stdlib.h> int main() { printf("hello world...\n"); fork(); …
50 c  fork 

6
Z jakiej wersji biblioteki C korzysta mój system?
Jak mogę z całą pewnością stwierdzić, jakiej biblioteki użytkownika C używa mój system? Możliwe powody, dla których potrzebne są te informacje, to: Jest gigantyczny pakiet źródłowy, który rozważam do pobrania, który z pewnością wykona odpowiednie kontrole i wyświetli minimalną wersję biblioteki, ale wolę oszczędzić sobie potencjalnego problemu, sprawdzając najpierw, czy …


6
Jak zrzucić plik binarny jako literał ciągu C / C ++?
Mam plik binarny, który chciałbym zawrzeć w moim kodzie źródłowym C (tymczasowo, w celach testowych), więc chciałbym uzyskać zawartość pliku jako ciąg C, coś takiego: \x01\x02\x03\x04 Czy jest to możliwe, być może przy użyciu narzędzia odlub hexdump? Chociaż nie jest to konieczne, jeśli ciąg znaków może zawijać się do następnego …
39 c  hexdump  xxd 


2
Domyślny rozmiar stosu dla pthreads
Jak rozumiem, domyślny rozmiar stosu dla pthread w systemie Linux to 16 KB. Otrzymuję dziwne wyniki w mojej 64-bitowej instalacji Ubuntu. $ ulimit -s 8192 Również: pthread_attr_init(&attr); pthread_attr_getstacksize(&attr, &stacksize); printf("Thread stack size = %d bytes \n", stacksize); Prints Thread stack size = 8388608 bytes Jestem pewien, że rozmiar stosu to …
24 c  multithreading 

3
W jaki sposób kopiowanie przy zapisie w fork () obsługuje wiele fork?
Według Wikipedii (co może być błędne) Po wydaniu wywołania systemowego fork () tworzona jest kopia wszystkich stron odpowiadających procesowi nadrzędnemu, ładowana przez system operacyjny do osobnego miejsca w pamięci dla procesu potomnego. Ale w niektórych przypadkach nie jest to konieczne. Rozważ przypadek, gdy dziecko wykonuje execwywołanie systemowe ("używane do wykonania …
23 linux  c  fork 

2
Czy POSIX gwarantuje ścieżki do standardowych narzędzi?
Z C, jaki jest najłatwiejszy sposób uruchomienia standardowego narzędzia (np. Ps), a żadnego innego? Czy POSIX gwarantuje na przykład, że standard psjest włączony, /bin/psczy powinienem zresetować zmienną środowiskową PATH do tego, co otrzymuję, confstr(_CS_PATH, pathbuf, n);a następnie uruchomić narzędzie poprzez wyszukiwanie PATH?
22 path  c  posix  exec 

4
utwórz plik dziennika
Czy jest jakiś sposób na utworzenie pliku dziennika do przechowywania niektórych danych w / var / log / przy pomocy funkcji biblioteki lub wywołania systemowego w języku c w systemie Linux? Chcę też poznać standardy, których powinniśmy przestrzegać przy pisaniu i przetwarzaniu dziennika. Dzięki
22 linux  logs  c  syslog 

4
Po rozwidleniu (), gdzie dziecko rozpoczyna wykonywanie?
Próbuję nauczyć się programowania w systemie UNIX i napotkałem pytanie dotyczące fork (). Rozumiem, że fork () tworzy identyczny proces aktualnie uruchomionego procesu, ale od czego się zaczyna? Na przykład, jeśli mam kod int main (int argc, char **argv) { int retval; printf ("This is most definitely the parent process\n"); …
22 process  c  fork  api 



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.