Publicații conexe 'gcc'


Primii pași către programarea C (GNU Linux)
Cunoștințe anterioare , ca sfat vă încurajez să examinați informații despre c (limbaj de programare) , compilator , GCC (GNU Compiler Collection) , editorele de text Linux (vi, vim, emacs, atom etc.) , Linux shell , Bash , assembler . Să scriem primul nostru program în C, pentru aceasta vom folosi un editor de text Linux (vi, emacs, atom, etc), vom scrie următorul cod și îl vom salva ca hello.c : Odată ce ați făcut acest lucru, puteți începe procesul de compilare..

RELRO: RELocation Read-Only
Acest articol a fost postat inițial pe blog.isis.poly.edu la 2 iunie 2011 . Acest articol descrie secțiunile de relocare ELF, cum să le abuzați pentru executarea unui cod arbitrar și cum să le protejați în timpul execuției. Secțiuni de relocare ELF Un binar ELF legat dinamic folosește un tabel de căutare numit Global Offset Table (GOT) pentru a rezolva dinamic funcțiile care se află în bibliotecile partajate. Când apelați o funcție care se află într-o bibliotecă partajată, arată..

Atribute C++
În C++11, atributele au fost adăugate ca o modalitate la caracteristicile standardizate, cum ar fi gnu __attribute__ și msvc __declspec . Prevederile de limbaj pentru atributele standard, precum și atributele non-standard prin utilizarea spațiilor de nume, deși comportamentul atributelor non-standard a fost stabilit doar pentru C++17. Și, din păcate, din 2018, nici GCC, nici MSVC nu oferă atribute specifice furnizorului prin sintaxa standard C++ portabilă. Cele mai multe atribute..

Proces de compilare pentru limbajul de programare C
Limbajele de programare pentru computere sunt un instrument puternic creat cu scopul de a scrie instrucțiuni pentru un computer folosind o varietate de cuvinte de cod. Acest cod a facilitat crearea unor programe uimitoare care au devenit acum parte din viața noastră de zi cu zi. Dar cum funcționează? În primul rând, este util să înțelegeți două categorii majore de limbaje informatice. Limbi de nivel scăzut vs nivel înalt Limbajele de programare pot fi, în general, clasificate în..

Cum funcționează procesul de compilare pentru programele C
C este un limbaj compilat. Codul sursă este scris folosind orice editor la alegerea unui programator sub forma unui fișier text, apoi trebuie compilat în codul mașinii. Fișierele sursă C sunt denumite prin convenție cu extensia .c și folosim comanda „gcc” pentru a compila fișierele sursă C. (GCC înseamnă GNU Compiler Collection și este un sistem de compilare produs de Proiectul GNU.) Patru pași de compilare: preprocesare, compilare, asamblare, conectare. Preprocesare:..

Întrebări înrudite 'gcc'

Se colectează gunoiul Objective-C pe Linux?
Objective-C v2.0 (care este ceea ce folosește mac-ul) a primit o nouă caracteristică, Garbage Collection. Sunt un copil pe un PC Linux (Ubuntu în cazul în care vă întrebați). Deci întrebarea mea este că folosirea compilatorului gcc/g++ este...
970 vederi
schedule 14.01.2024

Eroare remediată cu patru nop într-un if(0), lumea nu mai are sens
Scriam o funcție pentru a afla dacă un anumit sistem de inegalități liniare are o soluție, când dintr-o dată a început să dea răspunsuri greșite după o schimbare aparent inofensivă. Am anulat unele modificări, le-am refăcut și apoi am continuat să...
730 vederi
schedule 21.12.2023

„comparația este întotdeauna adevărată din cauza gamei limitate de tip de date” avertisment în C?
Am urmatorul cod //Point.h #define WIDTH 8 #define HEIGHT 8 typedef struct Point { char x; char y; } Point; //Board.c #include <stdbool.h> // Some other functions that we don't care about... bool inBounds(Point * p) { return...
26628 vederi
schedule 13.01.2024

Adăugarea de liniuțe de subliniere la simbolurile de asamblare cu GCC pe Win32?
Am o bucată de cod C care apelează o funcție definită în asamblare. De exemplu, să presupunem că foo.c conține: int bar(int x); /* returns 2x */ int main(int argc, char *argv[]) { return bar(7); } Și bar.s conține implementarea bar() în...
22284 vederi
schedule 26.07.2022

Contează cu adevărat ordinea liniilor de link pentru supc++?
Aceasta este o continuare a unei întrebări anterioare - Cum să utilizați un alt STL cu g++ Acum îmi pot construi codul în timp ce folosesc un alt STL. Cu toate acestea, mai trebuie să conectez -lsupc++ (împreună cu STL diferit) Văd...
1488 vederi
schedule 31.07.2022

Construirea de binare universale pe Mac - Forțarea procesului copil al unui singur compilator
Noroc, la companie, creăm un port al jocurilor noastre și trebuie să compilam PythonOgre , un pachet de Ogre3d pentru Python. Aceasta este o bucată enormă de cod, în special codul wrapper generat. Avem un Mac Mini cu 1 GB RAM. Am construit...
357 vederi
schedule 19.10.2023

Folosiți la nivel global malloc-ul Google?
Aș dori să experimentez cu tcmalloc de la Google pe Linux... Am un proiect uriaș aici, cu sute de Makefile generate de qmake... Aș dori să găsesc o modalitate de a face gcc să se conecteze la nivel global cu tcmalloc (cum face cu libc)... Este...
1831 vederi
schedule 20.11.2023

Cuvinte cheie rezervate în Objective-C?
La întâlnirea CocoaHeads Öresund de ieri, peylow a creat un test ObjC grozav. Competiția a fost intensă și trei persoane au rămas cu același punctaj atunci când urma să fie evaluată întrebarea finală: Câte cuvinte cheie rezervate adaugă Objective-C...
11158 vederi

gcc: avertisment: întreg mare trunchiat implicit la tip nesemnat
#include<stdio.h> int main() { unsigned char c; c = 300; printf("%d",c); return 0; } Este rezultatul în vreun fel previzibil sau nedefinit?
28987 vederi
schedule 29.11.2023

ada95 are 3 fișiere .ali, .adb și .o - pot compila
Am găsit niște lucrări vechi la facultate, cu proiectul meu final Ada95. Din păcate, discul a fost corupt și am reușit să recuperez doar 3 fișiere (sursa și executabilul nu au putut fi recuperate): project.adb, project.ali și project.o Sunt...
530 vederi
schedule 18.09.2022

Cum reușește objdump să afișeze codul sursă cu opțiunea -S?
Există o referință la fișierul sursă în binar? Am încercat să rulez șiruri de caractere pe binar și nu am găsit nicio referință la fișierul sursă listat...
49252 vederi
schedule 07.11.2022

dimensiunea pachetului libpcap
Lucrez cu libpcap în C pe linux (centos) și urmăresc acesta ghid Vreau să printez pur și simplu întregul pachet în ascii și am reușit să-l fac să funcționeze, aruncând un u_char* în funcția „my_callback”. Dar nu îmi pot da seama cum să obțin...
3576 vederi
schedule 16.11.2023

Mai multe probleme legate de timpul de legătură GCC: referință nedefinită la principal
Scriu software pentru un procesor Cortex-A8 și trebuie să scriu un cod de asamblare ARM pentru a accesa anumite registre. Folosesc compilatoarele gnu și lanțurile de instrumente aferente, aceste instrumente sunt instalate pe placa procesorului...
15637 vederi
schedule 07.07.2022

Convertiți fișierul .o în .exe
Este posibil să convertiți un fișier obiect .o care a fost creat dintr-un cod sursă .c în .exe? Și dacă este posibil, există o comandă directă folosind gcc?
35153 vederi
schedule 15.12.2023

Ce este o listă de specificatori-calificatori?
GCC îi place să-mi spună că îmi lipsește o listă de specificatori-calificatori din mesajele sale de eroare. Știu că asta înseamnă că nu am introdus un tip corect de ceva. Dar ce anume este o listă de specificatori-calificatori? Editați | ×:...
3410 vederi
schedule 04.01.2024

Teradata FastLoad Inmod Compilation pe Windows sau Unix
Am un inmod pentru procesarea înregistrărilor unui fișier și pentru a elimina unele rânduri nedorite și apoi furnizează înregistrările la utilitarul Fastload. Dar nu reușesc să găsesc o modalitate corectă de a o compila și de a o folosi. Am GCC (GNU...
478 vederi
schedule 28.08.2022

Compilarea utilizând gcc 3.2.3 pe RHE 5.3
Unele lucrări pe care le fac pentru un client necesită să construiesc folosind o versiune foarte veche de gcc pe Red Hat Enterprise. Am trecut recent de la 4.x la 5.3 și întâmpin câteva erori de compilare când încerc să construiesc un exemplu simplu:...
623 vederi
schedule 02.08.2022

Cum să obțineți un pointer către o secțiune binară în MSVC?
Scriu un cod care stochează unele structuri de date într-o secțiune binară specială numită. Acestea sunt toate instanțe ale aceleiași structuri care sunt împrăștiate în multe fișiere C și nu se află în domeniul de aplicare unul al celuilalt....
2868 vederi
schedule 06.09.2022

Care este cel mai sigur mod de a rula un executabil pe Linux?
Încerc să rulez un program compilat din cod C dintr-o sursă necunoscută. Vreau să mă asigur că programul nu dăunează oricum sistemului meu. De exemplu, programul ar putea avea ceva de genul system("rm -rf /") în sursă, care este nedetectabil, cu...
3427 vederi
schedule 22.07.2022

Compilarea codului C/C++ pe Mingw ar garanta compatibilitatea deplină cu GCC (pe Linux și Mac)
Aș dori să produc cod C++ compatibil cu cross-compiler. Am produs un cod oarecum „exotic”, care împinge limbajul C++ în zonele sale gri, ciudate, misterioase. Având în vedere că codul meu depinde doar de boost și STL, problema este să verific...
690 vederi
schedule 08.01.2024