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'

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

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

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

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

Când folosim goto *expr; in C?
| GOTO '*' expr ';' Nu am văzut încă astfel de declarații, poate cineva să dea un exemplu?
754 vederi
schedule 14.09.2022

Obținerea avertismentului eșuat de inline în timpul compilării gcc
Care este motivul următorului tip de avertizare inlining failed to while calling the function: The code size may grow. când funcția este inline statică. Urmează un fel de funcție definită în fișierul antet. Cum pot scăpa de...
981 vederi
schedule 06.08.2022

ce ar trebui să fie x în __attribute__ ((aliniat(x)))
Înțeleg că alinierea variabilă este necesară pentru eficiență. Ceea ce nu înțeleg este cum să determin dimensiunea adecvată a aliniamentului. Din înțelegerea mea, valoarea aliniată ar trebui să fie întotdeauna setată la dimensiunea cuvântului...
3708 vederi
schedule 09.07.2022

C Eroare de compilare la obținerea valorii sin()
Am început recent să învăț C ca un proiect secundar. Lucrez sub OpenSuse cu cele mai recente NetBeans folosind GCC ca set de instrumente pentru compilare. Unul dintre primele programe pe care le-am făcut a fost acesta: #include <stdio.h>...
307 vederi
schedule 01.07.2022

Cum să utilizați AVX/pclmulqdq pe Mac OS X
Încerc să compilez un program care folosește instrucțiunea pclmulqdq prezentă în noile procesoare Intel. Am instalat GCC 4.6 folosind macports, dar când îmi compilez programul (care folosește _mm_clmulepi64_si128 intrinsec), primesc...
8814 vederi
schedule 30.06.2022

gcc linking diferit de g++
Am convertit un cod C++ în C și acum încerc să schimb și Makefile. am avut asta: 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 vederi
schedule 27.08.2022

Conectare statică și dinamică/partajată cu MinGW
Vreau să încep cu o utilizare simplă a legăturii pentru a explica problema mea. Să presupunem că există o bibliotecă z care ar putea fi compilată în biblioteca partajată libz.dll(D:/libs/z/shared/libz.dll) sau în biblioteca statică libz.a...
45911 vederi

Avertisment AVR32/GCC Linker: intrarea nu este relaxabilă
Încerc să compilez un program AVR32 cu GCC 3.4.2 și primesc următorul avertisment de linker: input is not relaxable Poate cineva să explice ce înseamnă acest avertisment? Semnale de linker : -Wl,--start-group -Wl,--end-group...
1628 vederi
schedule 06.07.2022

Cum rezolv următoarea eroare de compilare libtool pe 64 de biți
Încerc să compilez biblioteca NTL (gazda este pe 64 de biți, dar platforma țintă este 32), dar am niște probleme cu libtool. Comanda, alături de rezultat, poate fi găsită în acest pastebin . Știu că fac ceva greșit cu structura rpath , dar nu sunt...
507 vederi
schedule 11.07.2022

Nu pot face ca un Qt Hello World să funcționeze
Am compilat Qt pe OSX Lion folosind instrucțiunile furnizate la acest oficial ghid . Am încercat apoi să compilez următoarea Hello World cu gcc hello_world.cpp -o hello_world #include <QApplication> int main(int argc, char **argv) {...
2003 vederi
schedule 14.09.2022

Încercarea de a porta GCC asm specific merge la Clang
Am încercat să transform un pic de extensii GNU în standardul C real, astfel încât să ruleze pe clang, cunoscând standardul C și nu extensiile GNU, sunt puțin în pierdere. __asm__ (goto("1:" STATIC_KEY_INITIAL_NOP...
3489 vederi
schedule 02.07.2022

Multiplu de aceeași eroare la compilarea „eroare: așteptat „)” înainte de simbolul „*”.
Încerc să programez în C. Cand complez cu urmatoarele argumente.... gcc -D_BSD_SOURCE -Wall -ansi -pedantic -g tokenizer.c FileOccur.c WordList.c wordstat.c indexer.c -o indexer Primesc asta de la terminal ca răspuns: In file...
5152 vederi
schedule 08.08.2022