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.


11
Pobranie GDB w celu zapisania listy punktów przerwania
OK, info break wyświetla punkty przerwania, ale nie w formacie, który dobrze by działał przy ich ponownym użyciu za pomocą --command, jak w tym pytaniu . Czy GDB ma metodę zrzucania ich do pliku, który można ponownie wprowadzić? Czasami podczas sesji debugowania konieczne jest ponowne uruchomienie GDB po utworzeniu zestawu …
130 c++  c  debugging  gdb  breakpoints 

7
O co chodzi w znormalizowanym UTF-8?
Projekt ICU (który ma teraz również bibliotekę PHP ) zawiera klasy potrzebne do normalizacji łańcuchów znaków UTF-8, aby ułatwić porównywanie wartości podczas wyszukiwania. Jednak próbuję dowiedzieć się, co to oznacza dla aplikacji. Na przykład w jakich przypadkach chcę „Równoważność kanoniczna” zamiast „Równoważność zgodności” lub odwrotnie?


15
Pojęcie void pointer w programowaniu w C.
Czy można wyłuskać wskaźnik void bez rzutowania typów w języku programowania C? Ponadto, czy istnieje sposób na uogólnienie funkcji, która może otrzymać wskaźnik i przechowywać go we wskaźniku void, a używając tego wskaźnika void, czy możemy utworzyć funkcję uogólnioną? na przykład: void abc(void *a, int b) { if(b==1) printf("%d",*(int*)a); // …
130 c  void-pointers 

11
Czy można skompilować Pythona do kodu maszynowego?
Jak wykonalne byłoby skompilowanie Pythona (prawdopodobnie poprzez pośrednią reprezentację C) do kodu maszynowego? Prawdopodobnie musiałoby to być linkowane do biblioteki wykonawczej Pythona, a wszelkie części standardowej biblioteki Pythona, które same byłyby Pythonem, również musiałyby zostać skompilowane (i połączone). Ponadto, jeśli chciałbyś przeprowadzić dynamiczną ocenę wyrażeń, musiałbyś spakować interpreter Pythona, ale …
130 python  c  linker  compilation 


4
Dlaczego sizeof (my_arr) [0] kompiluje się i ma taką samą wielkość sizeof (my_arr [0])?
Dlaczego ten kod się kompiluje? _Static uint32_t my_arr[2]; _Static_assert(sizeof(my_arr) == 8, ""); _Static_assert(sizeof(my_arr[0]) == 4, ""); _Static_assert(sizeof(my_arr)[0] == 4, ""); Pierwsze 2 potwierdzenia są oczywiście poprawne, ale spodziewałbym się, że ostatni wiersz zakończy się niepowodzeniem, ponieważ rozumiem, że sizeof()powinien być przeliczany na literał całkowity, którego nie można traktować jako tablicy. …
129 c  sizeof 

3
W jaki sposób poniższy program wyświetla „C89” po skompilowaniu w trybie C89 i „C99” po skompilowaniu w trybie C99?
Znalazłem ten program w C z sieci: #include <stdio.h> int main(){ printf("C%d\n",(int)(90-(-4.5//**/ -4.5))); return 0; } Interesującą rzeczą w przypadku tego programu jest to, że gdy jest kompilowany i uruchamiany w trybie C89, drukuje, C89a kiedy jest kompilowany i uruchamiany w trybie C99, drukuje C99. Ale nie jestem w stanie …
128 c  printf  comments  c99  c89 

7
Co się stanie, jeśli zdefiniuję tablicę o rozmiarze 0 w C / C ++?
Ciekawe, co się właściwie stanie, jeśli zdefiniuję int array[0];w kodzie tablicę o zerowej długości ? GCC w ogóle nie narzeka. Przykładowy program #include <stdio.h> int main() { int arr[0]; return 0; } Wyjaśnienie Właściwie próbuję dowiedzieć się, czy tablice o zerowej długości zainicjowane w ten sposób, zamiast wskazywać na zmienną …
128 c++  c  arrays 

10
Wyrażenia wskaźnikowe: * ptr ++, * ++ ptr i ++ * ptr
Niedawno natknąłem się na ten problem, którego sam nie potrafię zrozumieć. Co naprawdę oznaczają te trzy wyrażenia ? *ptr++ *++ptr ++*ptr Próbowałem Ritchie. Ale niestety nie był w stanie nadążyć za tym, co powiedział o tych 3 operacjach. Wiem, że wszystkie są wykonywane w celu zwiększenia wskaźnika / wskazanej wartości. …
128 c++  c  pointers  increment 




4
Jakie jest zastosowanie funkcji _start () w C?
Dowiedziałem się od mojego kolegi, że można napisać i wykonać program w języku C bez pisania main()funkcji. Można to zrobić w ten sposób: my_main.c /* Compile this with gcc -nostartfiles */ #include <stdlib.h> void _start() { int ret = my_main(); exit(ret); } int my_main() { puts("This is a program without …
127 c 

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.