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
Utwórz wskaźnik do dwuwymiarowej tablicy
Potrzebuję wskaźnika do statycznej dwuwymiarowej tablicy. Jak to się robi? static uint8_t l_matrix[10][20]; void test(){ uint8_t **matrix_ptr = l_matrix; //wrong idea } Otrzymuję różnego rodzaju błędy, takie jak: ostrzeżenie: przypisanie z niezgodnego typu wskaźnika wartość indeksowana nie jest tablicą ani wskaźnikiem błąd: nieprawidłowe użycie elastycznego elementu tablicy
120 c  arrays  pointers 

9
Wskaźniki C: wskazujące na tablicę o stałym rozmiarze
To pytanie jest skierowane do guru C: W C można zadeklarować wskaźnik w następujący sposób: char (* p)[10]; .. który zasadniczo stwierdza, że ​​ten wskaźnik wskazuje na tablicę 10 znaków. Zaletą deklarowania takiego wskaźnika jest to, że jeśli spróbujesz przypisać wskaźnik tablicy o różnym rozmiarze do p, otrzymasz błąd czasu …
120 c  pointers  size 

13
wypisuje stos wywołań w C lub C ++
Czy istnieje sposób na zrzucenie stosu wywołań w działającym procesie w C lub C ++ za każdym razem, gdy wywoływana jest określona funkcja? Mam na myśli coś takiego: void foo() { print_stack_trace(); // foo's body return } Gdzie print_stack_tracedziała podobnie jak callerw Perlu. Lub coś w tym stylu: int main …
120 c++  c  linux  callstack 

6
Jak mogę drukować na stderr w C?
W C drukowanie na standardowe wyjście jest łatwe dzięki printffrom stdio.h. Jednak w jaki sposób można drukować na stderr? fprintfPozornie możemy to osiągnąć, ale jego składnia wydaje się dziwna. Może możemy użyć printfdo drukowania na stderr?
120 c  printf  stderr 

1
Jaki jest idiomatyczny sposób dodawania opcji kompilatora -fPIC w CMAKE?
Znalazłem co najmniej 3 sposoby, aby to zrobić i zastanawiam się, który jest idiomatyczny. Należy to zrobić prawie zawsze dla każdej biblioteki statycznej. Dziwię się, że generator Makefile w CMake nie dodaje tego automatycznie do bibliotek statycznych. (chyba że czegoś mi brakuje?) target_compile_options(myLib PRIVATE -fPIC) add_compile_options(-fPIC) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fpic") set(CMAKE_CXX_FLAGS …
120 c++  c  cmake 


27
Jaki jest najszybszy / najbardziej efektywny sposób na znalezienie najwyższego ustawionego bitu (msb) w liczbie całkowitej w C?
Jeśli mam jakąś liczbę całkowitą n i chcę poznać położenie najbardziej znaczącego bitu (to znaczy, jeśli najmniej znaczący bit znajduje się po prawej stronie, chcę poznać położenie najdalszego lewego bitu, czyli 1), jaka jest najszybsza / najskuteczniejsza metoda dowiedzenia się? Wiem, że POSIX obsługuje ffs()metodę w strings.h, aby znaleźć pierwszy …

3
DESTDIR i PREFIX marki
Próbuję zainstalować oprogramowanie w określonym katalogu. Znalazłem kilka sposobów, ale nie jestem pewien, jakie są między nimi różnice. ./configure --prefix=*** make install DESTDIR=*** make install prefix=*** Jestem zdezorientowany co do funkcji tych trzech. Czy osiągają ten sam cel?
119 c  linux  bash  makefile  configure 


2
Obsługa sygnałów z wieloma wątkami w systemie Linux
Co się dzieje w systemie Linux, gdy program (który może mieć wiele wątków) odbiera sygnał, taki jak SIGTERM lub SIGHUP? Który wątek przechwytuje sygnał? Czy wiele wątków może otrzymać ten sam sygnał? Czy istnieje specjalny wątek poświęcony wyłącznie obsłudze sygnałów? Jeśli nie, co dzieje się wewnątrz wątku, który ma obsłużyć …
119 c  linux  multithreading  signals  ipc 

5
Dokumentacja / samouczek interfejsu API FFmpeg C [zamknięty]
Zamknięte. To pytanie nie spełnia wytycznych dotyczących przepełnienia stosu . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było na temat przepełnienia stosu. Zamknięte 12 miesięcy temu . Popraw to pytanie Próbuję znaleźć dokumentację dotyczącą korzystania z interfejsu API FFmpeg C. Wygląda na to, że dostępna jest …
119 c  api  documentation  ffmpeg 


6
Inicjalizacja tablicy znaków C
Nie jestem pewien, co będzie w tablicy char po inicjalizacji w następujący sposób. 1. char buf[10] = ""; 2. char buf[10] = " "; 3.char buf[10] = "a"; W przypadku 2 myślę, że buf[0]powinno być ' ', buf[1]powinno być '\0'i od buf[2]do buf[9]będzie losową zawartością. W przypadku 3 myślę, że …

6
Wykryć, czy stdin to terminal czy potok?
Kiedy wykonuję " python" z terminala bez argumentów, wyświetla się interaktywna powłoka Pythona. Kiedy wykonuję " cat | python" z terminala, nie uruchamia to trybu interaktywnego. W jakiś sposób, nie otrzymując żadnego sygnału wejściowego, wykrył, że jest podłączony do rury. Jak wykonać podobne wykrywanie w C, C ++ lub Qt?
118 c++  c  qt  pipe  stdin 

9
Jak daleko mogą zajść wycieki pamięci?
Wiele razy miałem wycieki pamięci. Zwykle kiedy - mallocjakby nie było jutra, albo wiszące FILE *jak brudne pranie. Ogólnie zakładam (czytaj: mam nadzieję), że cała pamięć jest czyszczona przynajmniej po zakończeniu działania programu. Czy są jakieś sytuacje, w których wyciekająca pamięć nie zostanie zebrana po zakończeniu działania programu lub awarii? …
118 c++  c  memory  memory-leaks 

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.