Powiązane publikacje 'gcc'


Pierwsze kroki w programowaniu C (GNU Linux)
Poprzednia wiedza , w ramach porady zachęcam Cię do przejrzenia informacji o c (języku programowania) , kompilatorze , GCC (kolekcja kompilatorów GNU) , edytorach tekstu Linuksa (vi, vim, emacs, atom itp.) , Powłoka Linux , Bash , Asembler . Napiszmy nasz pierwszy program w C, w tym celu skorzystamy z linuksowego edytora tekstu (vi, emacs, atom itp.), napiszemy kolejny kod i zapiszemy go jako hello.c : Gdy już to zrobisz, możesz rozpocząć proces kompilacji, aby..

RELRO: RELokacja tylko do odczytu
Ten artykuł został pierwotnie opublikowany na stronie blog.isis.poly.edu 2 czerwca 2011 . W tym artykule opisano sekcje relokacji ELF, jak wykorzystać je do wykonania dowolnego kodu i jak chronić je w czasie wykonywania. Sekcje relokacji ELF Dynamicznie połączony plik binarny ELF wykorzystuje tabelę przeglądową zwaną globalną tabelą przesunięć (GOT) do dynamicznego rozwiązywania funkcji znajdujących się w bibliotekach współdzielonych. Wywołanie funkcji znajdującej się w..

Atrybuty C++
W C++ 11 atrybuty zostały dodane jako sposób na ustandaryzowane funkcje, takie jak gnu __attribute__ i __declspec msvc. Przepisy językowe dotyczące atrybutów standardowych, a także atrybutów niestandardowych poprzez użycie przestrzeni nazw, chociaż zachowanie atrybutów niestandardowych zostało uregulowane tylko dla C++ 17. I niestety, od 2018 roku ani GCC, ani MSVC nie oferują atrybutów specyficznych dla dostawcy poprzez przenośną standardową składnię C++. Większość standardowych..

Proces kompilacji dla języka programowania C
Języki programowania komputerowego to potężne narzędzie stworzone w celu pisania instrukcji dla komputera przy użyciu różnych słów kodowych. Ten kod ułatwił stworzenie niesamowitego oprogramowania, które stało się częścią naszego codziennego życia. Ale jak one działają? Po pierwsze, pomocne jest zrozumienie dwóch głównych kategorii języków komputerowych. Języki niskiego poziomu a języki wysokiego poziomu Języki programowania można ogólnie podzielić na jeden z dwóch typów. Język..

Jak działa proces kompilacji dla programów w języku C
C jest językiem skompilowanym. Jego kod źródłowy jest pisany przy użyciu dowolnego edytora wybranego przez programistę w postaci pliku tekstowego, a następnie musi zostać skompilowany do kodu maszynowego. Pliki źródłowe C są zgodnie z konwencją nazywane z rozszerzeniem .c , a do kompilacji plików źródłowych C używamy polecenia „gcc”. (GCC to skrót od GNU Compiler Collection i jest to system kompilatora stworzony przez Projekt GNU.) Cztery kroki kompilacji: wstępne..

Powiązane pytania 'gcc'

Dodawanie wiodących znaków podkreślenia do symboli asemblera za pomocą GCC na Win32?
Mam kawałek kodu C, który wywołuje funkcję zdefiniowaną w zestawie. Na przykład załóżmy, że foo.c zawiera: int bar(int x); /* returns 2x */ int main(int argc, char *argv[]) { return bar(7); } A bar.s zawiera implementację bar() w asemblerze...
22284 wyświetlenia
schedule 26.07.2022

Czy kolejność linii linków dla supc++ naprawdę ma znaczenie?
To jest kontynuacja wcześniejszego pytania - Jak używać innego STL z g++ Teraz mogę skompilować mój kod przy użyciu innego STL. Jednak nadal muszę połączyć -lsupc++ (wraz ze wspomnianym innym STL) Widzę anekodalne odniesienia, że...
1488 wyświetlenia
schedule 31.07.2022

ada95 ma 3 pliki .ali, .adb i .o - czy mogę skompilować?
Znalazłem jakąś starą pracę z college'u, z moim ostatnim projektem Ada95. Niestety dysk był uszkodzony i udało mi się odzyskać tylko 3 pliki (źródła i pliku wykonywalnego nie udało się odzyskać): project.adb, project.ali i project.o Czy te 3...
530 wyświetlenia
schedule 18.09.2022

Więcej problemów z czasem połączenia w GCC: niezdefiniowane odniesienie do głównego
Piszę oprogramowanie dla procesora Cortex-A8 i muszę napisać kod asemblera ARM, aby uzyskać dostęp do określonych rejestrów. Korzystam z kompilatorów gnu i powiązanych łańcuchów narzędzi, narzędzia te są zainstalowane na płycie procesora (Freescale...
15637 wyświetlenia
schedule 07.07.2022

Teradata FastLoad Inmod Kompilacja na Windows lub Unix
Mam inmod do przetwarzania rekordów jednego pliku i eliminowania niechcianych wierszy, a następnie przesyłania rekordów do narzędzia fastload. Ale nie jestem w stanie znaleźć poprawnego sposobu, aby go skompilować i użyć. Mam GCC (GNU C Compiler) i...
478 wyświetlenia
schedule 28.08.2022

Kompilacja przy użyciu gcc 3.2.3 na RHE 5.3
Niektóre prace, które wykonuję dla klienta, wymagają ode mnie kompilacji przy użyciu bardzo starej wersji gcc na Red Hat Enterprise. Niedawno przeszliśmy z 4.x do 5.3 i napotykam błędy kompilacji, gdy próbuję zbudować prosty przykład: #include...
623 wyświetlenia
schedule 02.08.2022

Jak uzyskać wskaźnik do sekcji binarnej w MSVC?
Piszę kod, który przechowuje niektóre struktury danych w specjalnej sekcji binarnej o nazwie. Są to wszystkie instancje tej samej struktury, które są rozproszone w wielu plikach C i nie znajdują się we wzajemnym zakresie. Umieszczając je wszystkie w...
2868 wyświetlenia
schedule 06.09.2022

Jaki jest najbezpieczniejszy sposób na uruchomienie pliku wykonywalnego w systemie Linux?
Próbuję uruchomić program skompilowany z kodu C z nieznanego źródła. Chcę się upewnić, że program w żaden sposób nie uszkodzi mojego systemu. Jak na przykład, program może mieć coś takiego jak system("rm -rf /") w źródle, co jest niewykrywalne,...
3427 wyświetlenia
schedule 22.07.2022

Kiedy używamy goto *expr; w C?
| GOTO '*' expr ';' Nigdy jeszcze nie widziałem takich stwierdzeń, ktoś może podać przykład?
754 wyświetlenia
schedule 14.09.2022

Otrzymywanie ostrzeżenia o nieudanym inlineniu podczas kompilacji gcc
Jaki jest powód następującego rodzaju ostrzeżenia? inlining failed to while calling the function: The code size may grow. gdy funkcja jest statyczna inline.Obserwowanie jest rodzajem funkcji zdefiniowanej w pliku nagłówkowym. Jak mogę...
981 wyświetlenia
schedule 06.08.2022

co powinno być x w __attribute__ ((wyrównane(x)))
Rozumiem, że dla wydajności potrzebne jest zmienne wyrównanie. To, czego nie rozumiem, to jak określić właściwy rozmiar wyrównania. Z mojego zrozumienia, wyrównana wartość powinna być zawsze ustawiona na rozmiar słowa procesora (tj. 4 bajty na...
3708 wyświetlenia
schedule 09.07.2022

Błąd kompilacji C podczas pobierania wartości sin()
Niedawno zacząłem uczyć się C jako projekt poboczny. Pracuję pod OpenSuse z najnowszym NetBeans używając GCC jako zestawu narzędzi do kompilacji. Jednym z pierwszych programów, które stworzyłem, był: #include <stdio.h> #include...
307 wyświetlenia
schedule 01.07.2022

Jak korzystać z AVX/pclmulqdq w systemie Mac OS X
Próbuję skompilować program, który używa instrukcji pclmulqdq obecnej w nowych procesorach Intela. Zainstalowałem GCC 4.6 za pomocą macports, ale kiedy kompiluję mój program (który używa wewnętrznego _mm_clmulepi64_si128), otrzymuję...
8814 wyświetlenia
schedule 30.06.2022

gcc łączy inaczej niż g++
Przekonwertowałem kod C++ do C, a teraz próbuję również zmienić Makefile. Miałem to: g++ -fPIC -o bin/linux/release/gpu_md5 cuda_md5.c cuda_md5_cpu.c obj/release/cuda_md5_gpu.cu.o -L/usr/local/cuda/lib64 -L../../lib64 -L../../common/lib64/linux...
99 wyświetlenia
schedule 27.08.2022

Łączenie statyczne i dynamiczne/współdzielone z MinGW
Chcę zacząć od prostego użycia linkowania, aby wyjaśnić mój problem. Załóżmy, że istnieje biblioteka z , którą można skompilować do biblioteki współdzielonej libz.dll(D:/libs/z/shared/libz.dll) lub do biblioteki statycznej libz.a...
45911 wyświetlenia

Ostrzeżenie AVR32/GCC Linker: nie można zrelaksować danych wejściowych
Próbuję skompilować program AVR32 za pomocą GCC 3.4.2 i otrzymuję następujące ostrzeżenie linkera: input is not relaxable Czy ktoś mógłby wyjaśnić, co oznacza to ostrzeżenie? Flagi łączące : -Wl,--start-group -Wl,--end-group...
1628 wyświetlenia
schedule 06.07.2022

Jak rozwiązać następujący błąd kompilacji 64-bitowej biblioteki libtool?
Próbuję skompilować bibliotekę NTL (host 64-bitowy, ale platforma docelowa to 32), ale mam problem z libtool. Polecenie wraz z danymi wyjściowymi można znaleźć w tym pastebin . Wiem, że robię coś nie tak ze strukturą rpath , ale nie znam jej zbyt...
507 wyświetlenia
schedule 11.07.2022

Nie mogę uruchomić aplikacji Qt Hello World
Skompilowałem Qt na OSX Lion, korzystając z instrukcji podanych na ten oficjalny przewodnik . Następnie próbowałem skompilować następujący Hello World za pomocą gcc hello_world.cpp -o hello_world #include <QApplication> int main(int...
2003 wyświetlenia
schedule 14.09.2022

Próbuję przenieść specyficzne dla GCC asm goto do Clang
Próbowałem zmienić trochę rozszerzeń GNU na rzeczywisty standardowy C, więc będzie działał na clangu, znając standardowe C, a nie rozszerzenia GNU, jestem trochę zagubiony. __asm__ (goto("1:" STATIC_KEY_INITIAL_NOP...
3489 wyświetlenia
schedule 02.07.2022

Wielokrotność tego samego błędu podczas kompilacji „błąd: oczekiwany ')' przed tokenem '*'
Próbuję programować w C. Kiedy kompiluję z następującymi argumentami.... gcc -D_BSD_SOURCE -Wall -ansi -pedantic -g tokenizer.c FileOccur.c WordList.c wordstat.c indexer.c -o indexer Otrzymuję to z terminala jako odpowiedź: In...
5152 wyświetlenia
schedule 08.08.2022