Kiedy mogę skompilować moje projekty i sprawdzić zasoby używane przez uruchomienie top, wielki wieprz CPU / pamięci jest czasami nazywany g++czasem cc1plus. Jaka jest różnica między nimi i czy powinienem zadzwonić cc1plusbezpośrednio?
Kiedy mogę skompilować moje projekty i sprawdzić zasoby używane przez uruchomienie top, wielki wieprz CPU / pamięci jest czasami nazywany g++czasem cc1plus. Jaka jest różnica między nimi i czy powinienem zadzwonić cc1plusbezpośrednio?
Próbowałem rozwiązać to ćwiczenie z www.spoj.com: FCTRL - Factorial Nie musisz tego czytać, po prostu zrób to, jeśli jesteś ciekawy :) Najpierw zaimplementowałem to w C ++ (oto moje rozwiązanie): #include <iostream> using namespace std; int main() { unsigned int num_of_inputs;...
Jak połączyć dwa skompilowane przez GCC pliki obiektowe .o w trzeci plik .o? $ gcc -c a.c -o a.o $ gcc -c b.c -o b.o $ ??? a.o b.o -o c.o $ gcc c.o other.o -o executable Jeśli masz dostęp do plików źródłowych, -combineflaga GCC połączy pliki źródłowe przed kompilacją: $ gcc -c -combine a.c...
Zamknięte . To pytanie jest oparte na opinii . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć, podając fakty i cytaty, edytując ten post . Zamknięte 6 lat temu . Popraw to...
Piszę mały interpreter dla prostego języka BASIC, jako ćwiczenie na mikrokontrolerze AVR w C przy użyciu łańcucha narzędzi avr-gcc. Zastanawiam się jednak, czy istnieją jakieś narzędzia open source, które pomogłyby mi w pisaniu leksera i parsera. Gdybym napisał to, aby działał na moim Linuksie,...
Jaki jest cel tych opcji wiersza poleceń? Proszę o pomoc w rozszyfrowaniu znaczenia następującego wiersza poleceń: -Wl,--start-group -lmy_lib -lyour_lib -lhis_lib -Wl,--end-group -ltheir_lib Najwyraźniej ma to coś wspólnego z linkowaniem, ale w podręczniku GNU jest cicho, co dokładnie oznacza...
Tak więc miałem ten kod: constexpr unsigned N = 1000; void f1(char* sum, char* a, char* b) { for(int i = 0; i < N; ++i) { sum[i] = a[i] + b[i]; } } void f2(char* sum, char* a, char* b) { char* end = sum + N; while(sum != end) { *sum++ = *a++ + *b++; } } Chciałem zobaczyć kod, który...
Zgodnie z tym filmem (około 38 minuty), jeśli mam dwie funkcje z tymi samymi lokalnymi zmiennymi, będą one używać tej samej przestrzeni. Powinien więc wydrukować poniższy program 5. Kompilowanie go z gccwynikami -1218960859. czemu? Program: #include <stdio.h> void A() { int a;...
Próbuję zainstalować następujące wersje klejnotów na Mavericks libv8 (3.16.14.3) therubyracer (0.12.1) Oczywiście therubyracer gems zależy od libv8. 1) Instalowanie libv8 Co to jest libv8? Moje badania wydają się wskazywać, że jest to jakaś biblioteka javascript używana przez Google...
Pracuję z C przez krótki czas i bardzo niedawno zacząłem zajmować się ASM. Kiedy kompiluję program: int main(void) { int a = 0; a += 1; return 0; } Demontaż objdump ma kod, ale nops po ret: ... 08048394 <main>: 8048394: 55 push %ebp 8048395: 89 e5 mov %esp,%ebp 8048397: 83 ec...
Czy można poinstruować kompilator GNU c ++, aby zatrzymał się po znalezieniu 5 błędów? Nie mogę znaleźć tego w dokumentacji.
Poprosiłem Google o podanie znaczenia gccopcji -fomit-frame-pointer, która przekierowuje mnie do poniższego oświadczenia. -fomit-frame-pointer Nie trzymaj wskaźnika ramki w rejestrze dla funkcji, które go nie potrzebują. Pozwala to uniknąć instrukcji zapisywania, konfigurowania i przywracania...
Tworzę rodzaj nakładki na program. Do uruchomienia programu używam wywołania CreateProcess(), które między innymi otrzymuje wskaźnik do STARTUPINFOstruktury. Aby zainicjować strukturę, którą robiłem: STARTUPINFO startupInfo = {0}; // Or even '\0'. startupInfo.cb = sizeof(startupInfo); Podczas...
Dzisiaj natknąłem się na ciekawy problem. Rozważmy ten prosty przykład: template <typename T> void foo(const T & a) { /* code */ } // This would also fail // void foo(const int & a) { /* code */ } class Bar { public: static const int kConst = 1; void func() { foo(kConst); //...
Rozważ następujący scenariusz: Biblioteka współdzielona libA.so, bez zależności. Biblioteka współdzielona libB.so, z libA.so jako zależnością. Chcę skompilować plik binarny, który łączy się z biblioteką libB. Czy powinienem połączyć plik binarny tylko z libB, czy też z libA? Czy istnieje...
Jest poprzednie pytanie Nie można skompilować programu C na Macu po aktualizacji do Mojave , a odpowiedzi na to pytanie obejmowały większość wariantów tego, co poszło nie tak. Teraz - od poniedziałku 2019-10-07 - możesz uaktualnić system do macOS Catalina 10.15. Ponownie, podczas aktualizacji,...
Poniższa implementacja kwadratu tworzy serię instrukcji cmp / je, których oczekiwałbym po łańcuchowej instrukcji if: int square(int num) { if (num == 0){ return 0; } else if (num == 1){ return 1; } else if (num == 2){ return 4; } else if (num == 3){ return 9; } else if (num == 4){ return...
Mam pakiet R z kompilowanym kodem C, który był stosunkowo stabilny od dłuższego czasu i jest często testowany na wielu różnych platformach i kompilatorach (windows / osx / debian / fedora gcc / clang). Niedawno dodano nową platformę do ponownego przetestowania pakietu: Logs from checks with gcc...
Dlaczego gcc wypełnia całą tablicę zerami zamiast tylko pozostałych 96 liczb całkowitych? Wszystkie niezerowe inicjalizatory znajdują się na początku tablicy. void *sink; void bar() { int a[100]{1,2,3,4}; sink = a; // a escapes the function asm("":::"memory"); // and compiler memory barrier //...
Znalazłem ten fragment kodu na GitHub, ale nie do końca go zrozumiałem: #define lambda(ret_type, _body) ({ ret_type _ _body _; }) Następnie: int (*max)(int, int) = lambda(int, (int x, int y) { return x > y ? x : y; }); int max_value = max(1, 2); // max_value is 2 Co robią podkreślenia...