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.

7
Spraw, aby program działał wolno
Czy istnieje sposób na wolniejsze uruchamianie programu w języku C ++ przez zmianę parametrów systemu operacyjnego w systemie Linux? W ten sposób chciałbym zasymulować, co się stanie, jeśli ten konkretny program będzie działał na naprawdę wolniejszej maszynie. Innymi słowy, szybsza maszyna powinna zachowywać się jak wolniejsza maszyna dla tego konkretnego …
102 c++  c  linux  unix  ubuntu 

6
Czy definicje struktur powinny znajdować się w pliku .h czy .c?
Widziałem zarówno pełne definicje structs w nagłówkach, jak i same deklaracje - czy jest jakaś przewaga jednej metody nad drugą? Jeśli to robi różnicę, zwykle wpisuję taką strukturę w .h typedef struct s s_t; Edytować Dla jasności, opcje to deklaracja w pliku nagłówkowym i definicja w klasie lub zarówno deklaracja, …
102 c  header  struct 

6
snprintf i Visual Studio 2010
Jestem na tyle niefortunny, że utknąłem przy użyciu VS 2010 dla projektu i zauważyłem, że następujący kod nadal nie jest kompilowany przy użyciu niezgodnego ze standardami kompilatora: #include <stdio.h> #include <stdlib.h> int main (void) { char buffer[512]; snprintf(buffer, sizeof(buffer), "SomeString"); return 0; } (kompilacja kończy się niepowodzeniem i pojawia się …

2
GCC -g kontra -g3 Flaga GDB: jaka jest różnica?
Podczas kompilowania kodu źródłowego C za pomocą gcc lub Clang, zawsze używam -gflagi do generowania informacji debugowania dla gdb. gcc -g -o helloworld helloworld.c Zauważyłem, że niektórzy -g3zamiast tego polecają . Jaka jest różnica między flagami -gi -g3? Czy jest też różnica między -gi -ggdb?
102 c  debugging  gcc  gdb  clang 

11
Dlaczego printf z jednym argumentem (bez specyfikatorów konwersji) jest przestarzały?
W książce, którą czytam, jest napisane, że printfpojedynczy argument (bez specyfikatorów konwersji) jest przestarzały. Zaleca się zastąpić printf("Hello World!"); z puts("Hello World!"); lub printf("%s", "Hello World!"); Czy ktoś może mi powiedzieć, dlaczego printf("Hello World!");się myli? W książce jest napisane, że zawiera luki. Co to za luki?


14
Jaki jest najlepszy sposób wykonania pętli wstecznej w C / C # / C ++?
Muszę przejść wstecz przez tablicę, więc mam taki kod: for (int i = myArray.Length - 1; i >= 0; i--) { // Do something myArray[i] = 42; } Czy jest lepszy sposób na zrobienie tego? Aktualizacja: Miałem nadzieję, że być może C # ma wbudowany mechanizm, taki jak: foreachbackwards (int …
102 c#  c++  c 


7
Zresetuj tablicę int C do zera: najszybszy sposób?
Zakładając, że mamy a T myarray[100]z T = int, unsigned int, long long int lub unsigned long long int, jaki jest najszybszy sposób na zresetowanie całej jego zawartości do zera (nie tylko do inicjalizacji, ale do resetowania zawartości kilka razy w moim programie) ? Może z memsetem? To samo pytanie …
102 c++  c  arrays  memset 



6
Programowanie w C w Visual Studio
Czy mogę używać programu Visual Studio do nauki programowania w języku C? W nowym menu projektu mogę wybierać pomiędzy Visual Basic, Visual C #, Visual C ++, Visual F # i innymi, ale nie widzę „C” ani „Visual C”.
102 c  visual-studio 

13
Wypróbuj instrukcje catch w języku C
Myślałem dzisiaj o blokach try / catch istniejących w innych językach. Przez chwilę googlowałem, ale bez rezultatu. Z tego, co wiem, nie ma czegoś takiego jak try / catch w C. Czy jest jednak sposób, aby je „zasymulować”? Jasne, jest asercja i inne sztuczki, ale nic takiego jak try / …
101 c 

7
Tworzenie ciągów w formacie C (bez ich drukowania)
Mam funkcję, która akceptuje ciąg, czyli: void log_out(char *); Nazywając to, muszę w locie utworzyć sformatowany ciąg, taki jak: int i = 1; log_out("some text %d", i); Jak to zrobić w ANSI C? Tyle że skoro sprintf()zwraca int, to znaczy, że muszę napisać co najmniej 3 komendy jak: char *s; …
101 c  string 


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.