GCC

Software screenshot:
GCC
Software detaljer:
Version: 8.2.0 Opdateret
Upload dato: 16 Aug 18
Udvikler: The GCC Team
Licens: Gratis
Popularitet: 182

Rating: 3.0/5 (Total Votes: 3)

GCC (GNU Compiler Collection) er en open source kommandolinje software designet til at fungere som en kompilator til GNU / Linux og BSD-baserede operativsystemer. Den omfatter frontender til talrige programmeringssprog, herunder Objective-C, Go, C ++, Java, C, Ada og Fortran.


Funktioner et overblik

Med GCC kan du konfigurere, kompilere og installere GNU / Linux applikationer i Linux eller BSD operativsystemer, der kun bruger kildearkivet for det respektive program. Brugerne behøver imidlertid ikke at interagere med kompilatoren, da dette gøres automatisk ved at konfigurere og lave scripts.

Projektet indeholder også biblioteker til forskellige programmeringssprog, såsom libstdc og libgcj, og ligesom de fleste GNU-software, skal den konfigureres, før den kan bygges og installeres på din computer.

Det kan også vise hele stien til et bestemt bibliotek, mapper i kompilators søgevej, fuld sti til en bestemt komponent, bibliotek med målbiblioteker, sysroot-suffiks, der bruges til at finde overskrifter og målets normaliserede GNU-triplet.

Derudover er der forskellige andre muligheder for at overføre bestemte kommaseparerede muligheder og argumenter til assembler, preprocessor og linker, kompilere og samle uden at forbinde, oprette et fælles bibliotek og mange andre.


Designet til GNU-operativsystemet

Oprindelig skrevet som hovedkompilatoren til GNU-operativsystemet, blev GCC (GNU Compiler Collection) udviklet til at være 100% fri software, og den er som standard installeret på enhver Linux-distribution.

Softwaren bruges også af Open Source-udviklere til at kompilere deres programmer. Kommandolinjen kommer med flere muligheder, blandt hvilke vi kan nævne muligheden for at vise kompilatorens målprocessor samt den relative vej til OS-biblioteker.


Bundlinie

Alt i alt er GCC en af ​​de vigtigste komponenter i ethvert GNU / Linux-operativsystem. Ikke kun, at vi ikke kan forestille os en verden uden det, men GCC er hovedårsagen til hele Open Source-økosystemet.

Hvad er nyt i denne udgave:

  • GCC 7.3 er en bugfix-frigivelse fra GCC 7-grenen, der indeholder vigtige rettelser til regressioner og alvorlige fejl i GCC 7.2 med mere end 99 bugs fixet siden den foregående udgivelse.
  • Denne udgivelse indeholder kodegenereringsmuligheder for at afbøde Specter Variant 2 (CVE 2017-5715) for x86- og powerpc-målene.

Hvad er nyt i version 8.1.0:

  • GCC 7.3 er en fejlfinding fra GCC 7 branchen indeholder vigtige rettelser til regressioner og alvorlige fejl i GCC 7.2 med mere end 99 fejl fundet siden den foregående udgivelse.
  • Denne udgivelse indeholder kodegenereringsmuligheder for at afbøde Specter Variant 2 (CVE 2017-5715) for x86- og powerpc-målene.

Hvad er nyt i version:

  • GCC 7.1 er en større version, der indeholder væsentlig ny funktionalitet, der ikke er tilgængelig i GCC 6.x eller tidligere GCC udgivelser. C ++ frontend har nu eksperimentel støtte til alle de nuværende C ++ 17 udkast, med -std = c ++ 1z og -std = gnu ++ 1z muligheder, og libstdc ++-biblioteket har det meste af C ++ 17-udkastet Bibliotek funktioner implementeret også. Disse udgivelser indeholder forskellige forbedringer i den udsendte diagnose, herunder forbedrede steder, lokalitetsintervaller, forslag til fejlstavede identifikatorer, optionsnavne, fix-it-tip og forskellige nye advarsler er blevet tilføjet. Optimeringerne er blevet forbedret med forbedringer, der fremgår af alle intra- og inter-procedural optimeringer, optimering af linktid og forskellige målbackender, herunder, men ikke begrænset til, tilføjelser af butikssmeltningspassage, kodeløftoptimering, loopopdeling og krympning. indpakning forbedringer. Address Sanitizer kan nu rapportere brugen af ​​variabler efter at have forladt deres anvendelsesområde. GCC kan nu konfigureres til OpenMP 4.5-aflæsning til NVidia PTX GPGPU'er.

Hvad er nyt i version 6.3.0:

  • GCC 6.3 er en bugfix-frigivelse fra GCC 6-grenen, der indeholder vigtige rettelser til regressioner og alvorlige fejl i GCC 6.2 med mere end 79 bugs fixet siden den foregående udgivelse.

Hvad er nyt i version 6.2.0:

  • Denne udgivelse er en fejlfinding, der indeholder rettelser til regressioner i GCC 5.2 i forhold til tidligere udgivelser af GCC.

Hvad er nyt i version 6.1.0:

  • Denne udgivelse er en fejlfinding, der indeholder rettelser til regressioner i GCC 5.2 i forhold til tidligere udgivelser af GCC.

Hvad er nyt i version 5.3.0:

  • Denne udgivelse er en fejlfinding, der indeholder rettelser til regressioner i GCC 5.2 i forhold til tidligere udgivelser af GCC.

Hvad er nyt i version 5.2.0:

  • Denne udgivelse er en fejlfinding, der indeholder rettelser til regressioner i GCC 5.1 i forhold til tidligere udgivelser af GCC.

Hvad er nyt i version 5.1.0:

  • C ++ front-end har nu fuld C + + 14 sprogunderstøttelse, og Standard C ++ Library har fuld C ++ 11 support og eksperimentel fuld C ++ 14 support. Den fulde C + + 11-støtte er blevet muliggjort ved at vedtage Dual ABI, se https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html for flere detaljer.
  • C-fronten er nu standard til C11-tilstand med GNU-udvidelser, som påvirker semantikken i inline-søgeordet og bringer flere andre bruger synlige ændringer, se https://gcc.gnu.org/gcc-5/porting_to.html for flere detaljer.
  • GCC 5.1 indeholder forskellige interprocedural optimeringsforbedringer, f.eks. et nyt IPA Identical Code Folding pass og forskellige LTO forbedringer, f.eks. ODR-baseret sammensmeltning af C ++-typer, se http://hubicka.blogspot.cz/2015/04/GCC5-IPA-LTO-news.html for flere detaljer.
  • Den GCC 5.1 Local Register Allocator indeholder nu en rematerialiserings-subpass, på i? 86 / x86-64 er i stand til at genbruge PIC-hardregisteret for at forbedre ydeevnen til positionsafhængig kode, der er et simpelt interprocedural RA-pass og forskellige andre register tildelingsforbedringer blev tilføjet.
  • GCC 5.1 tilføjer delstøtte til OpenACC-standarden, understøtter OpenMP 4.0-aflæsning til Intels kommende Xeon Phi-acceleratorer og understøtter OpenACC-aflæsning til PTX. Den Udefinerede Behandlings Sanitizer i GCC er blevet udvidet ved at tilføje forskellige nye runtime checks. Et eksperimentelt GCC JIT bibliotek er blevet tilføjet i GCC 5.1.

Hvad er nyt i version 4.8.4:

  • Generelle forbedringer af forbedringer:
  • AddressSanitizer, en hurtig hukommelsesfejl detektor, er nu tilgængelig på ARM.
  • UndefinedBehaviorSanitizer (ubsan), en hurtig udefineret adfærdsmåler, er blevet tilføjet og kan aktiveres via -fsanitize = undefined. Forskellige beregninger vil blive instrumenteret til at registrere udefineret adfærd ved kørsel. UndefinedBehaviorSanitizer er i øjeblikket tilgængelig for C og C ++ sprog.
  • Forbedringer i Link-time optimering (LTO):
  • Type sammensmeltning blev omskrevet. Den nye implementering er betydeligt hurtigere og bruger mindre hukommelse.
  • Bedre partitioneringsalgoritme, der resulterer i mindre streaming under linktid.
  • Tidlig fjernelse af virtuelle metoder reducerer størrelsen af ​​objektfiler og forbedrer brugstid for hukommelse og kompileringstid.
  • Funktionslegemer er nu indlæst på forespørgsel og frigives tidligt og forbedrer den samlede hukommelsesbrug på linketid.
  • C ++ skjulte nøgleord kan nu optimeres ud.
  • Når du bruger et linker-plugin, genererer du komprimering med -flto-indstillingen nu små objektfiler (.o), som kun indeholder mellemliggende sprogrepræsentation for LTO. Brug -ffat-lto-objekter til at oprette filer, der indeholder desuden objektkoden. For at generere statiske biblioteker, der er egnede til LTO-behandling, skal du bruge gcc-ar og gcc-ranlib; at liste symboler fra en slank objektfil bruge gcc-nm. (Dette kræver, at ar, ranlib og nm er blevet udarbejdet med plugin support.)
  • Hukommelsesbrugsbygning Firefox med debug-aktiveret blev reduceret fra 15 GB til 3,5 GB; linktid fra 1700 sekunder til 350 sekunder.
  • Inter-procedural optimering forbedringer:
  • Ny type arv analysemodul forbedrer devirtualization. Devirtualization tager nu hensyn til anonyme navne-rum og C + + 11-endelige søgeord.
  • Ny spekulativ devirtualiseringspas (kontrolleret af -fdevirtualize-spekulativt.
  • Opkald, der blev spekulativt foretaget direkte, vender tilbage til indirekte, hvor direkte opkald ikke er billigere.
  • Lokale aliaser introduceres for symboler, der vides at være semantisk ækvivalente på tværs af delte biblioteker, der forbedrer dynamiske koblingstider.
  • Feedback-rettede optimeringsforbedringer:
  • Profilering af programmer, der bruger C ++ inline-funktioner, er nu mere pålidelig.
  • Ny tidsprofilering bestemmer den typiske rækkefølge, hvori funktioner udføres.
  • Et nyt funktionsompasningspas (styret af -freorder-funktioner) reducerer signifikant starttiden for store applikationer. Indtil binutils support er afsluttet, er den kun effektiv med linkoptimering.
  • Feedbackdrevet indirekte opkald fjernelse og devirtualization håndterer nu krydsmodulopkald, når linkoptimering er aktiveret.
  • Nye sproglige og sproglige forbedringer:
  • Version 4.0 af OpenMP-specifikationen understøttes nu i C og C ++-kompilatorerne og starter med 4.9.1-udgivelsen også i Fortran-kompilatoren. Den nye -fopenmp-simd-indstilling kan bruges til at aktivere OpenMPs SIMD-direktiver, mens du ignorerer andre OpenMP-direktiver. Den nye -fsimd-cost-model = mulighed giver mulighed for at indstille vektoriseringsomkostningsmodellen for sløjfer, der er annoteret med OpenMP og Cilk Plus simd-direktiver; -Wopenmp-simd advarer, når den nuværende omkostningsmodel tilsidesætter simd-direktiver fastsat af brugeren.
  • Alternativet -Wdate-time er blevet tilføjet for C, C ++ og Fortran-kompilatorer, der advarer når __DATE__, __TIME__ eller __TIMESTAMP__-makroerne anvendes. Disse makroer kan forhindre bitvis-identiske reproducerbare kompileringer.
  • Ada:
  • GNAT skiftet til Ada 2012 i stedet for Ada 2005 som standard.
  • C familie:
  • Støtte til farvningsdiagnostik udgivet af GCC er blevet tilføjet. -Fdiagnostics-color = auto aktiverer den, når den sendes til terminaler, -f diagnostisk-farve = altid ubetinget. GCC_COLORS miljøvariablen kan bruges til at tilpasse farverne eller deaktivere farvning. Hvis GCC_COLORS-variabel er til stede i miljøet, er standard -fdiagnostics-color = auto, ellers -fdiagnostics-color = never.
  • Prøve diagnostik output:
  • $ g ++ -fdiagnostics-color = always -S -Wall test.C
  • test.C: I funktion & lsquo; int foo () ':
  • test.C: 1: 14: advarsel: ingen returopgørelse i funktion, der returnerer ikke-ugyldige [-Wreturn-type]
  • int foo () {}
  • test.C: 2: 46: fejl: template instantiation depth overstiger maksimalt 900 (use -ftemplate-depth = forøgelse af maksimum) instantiating & structur X '
  • template struct X {statisk const int værdi = X :: værdi; }; template struct X;
  • test.C: 2: 46: rekursivt kræves fra & lsquo; const int X :: værdi '
  • test.C: 2: 46: kræves fra & lsquo; const int X :: værdi '
  • test.C: 2: 88: kræves herfra
  • test.C: 2: 46: fejl: ufuldstændig type & X; anvendt i nested name specifier
  • Med den nye #pragma GCC ivdep kan brugeren hævde, at der ikke findes loop-bærede afhængigheder, der ville forhindre samtidig udførelse af sammenhængende iterationer ved brug af SIMD-instrukser (single instruction multiple data).
  • Støtte til Cilk Plus er blevet tilføjet og kan aktiveres med optionen -fcilkplus. Cilk Plus er en udvidelse til C og C + + sprogene til understøttelse af data og opgaver parallelle. Den nuværende implementering følger ABI version 1.2; alle funktioner, men _Cilk_for er blevet implementeret.
  • ISO C11 atomics (_Atomic type specifier og qualifier og header) understøttes nu.
  • Generelle valg af ISO C11 (_Generic keyword) understøttes nu.
  • ISO C11 tråd-lokal lagring (_Thread_local, svarende til GNU C __thread) understøttes nu.
  • ISO C11-support er nu på samme niveau som fuldstændigt for ISO C99-support: i det væsentlige komplette modulo-bugs, udvidede identifikatorer (understøttet undtagen for hjørnesager, når -efxtended-identifikatorer anvendes), floating point-problemer (primært men ikke fuldstændigt vedrørende valgfrie C99-funktioner fra bilag F og G) og de valgfrie bilag K (Bound-checking interface) og L (Analyserbarhed).
  • En ny C-udvidelse __auto_type giver en delmængde af funktionaliteten af ​​C ++ 11 auto i GNU C.
  • C ++:
  • G ++-implementeringen af ​​C ++ 1y-returafdragsafdrag for normale funktioner er blevet opdateret for at overholde N3638, forslaget accepteret i arbejdsdokumentet. Mest af alt tilføjer det decltype (auto) for at få decltype semantik snarere end template argument deduction semantikken af ​​almindelig auto:
  • int & amp; f ();
  • auto i1 = f (); // int
  • decltype (auto) i2 = f (); // int & amp;
  • G ++ understøtter C ++ 1y lambda capture initializers:
  • [x = 42] {...};
  • Faktisk er de blevet accepteret siden GCC 4.5, men nu advarer kompilatoren ikke om dem med -std = c ++ 1y, og understøtter også parenteserede og spærrede lukkede initialisatorer.
  • G ++ understøtter C ++ 1y variable array arrays. G ++ har støttet GNU / C99-stil VLA'er i lang tid, men understøtter nu også initialisatorer og lambda capture ved reference. I C ++ 1y-tilstand vil G ++ klage over VLA-anvendelser, der ikke er tilladt af udkastet til standard, f.eks. At danne en peger til VLA-typen eller anvende størrelsen af ​​en VLA-variabel. Bemærk, at det nu viser sig, at VLA'er ikke vil være en del af C ++ 14, men vil være en del af et separat dokument og måske C ++ 17.
  • void f (int n) {
  • int a [n] = {1, 2, 3}; // kaster std :: bad_array_length hvis n & lt; 3
  • [& a] {for (int i: a) {cout

Hvad er nyt i version 4.9.1:

  • GCC 4.9.1 er en bugfix-frigivelse fra GCC 4.9-grenen, der indeholder vigtige rettelser til regressioner og alvorlige fejl i GCC 4.9.0 med mere end 88 bugs fixet siden den foregående udgivelse. Derudover understøtter GCC 4.9.1-udgivelsen OpenMP 4.0 også i Fortran, snarere end kun i C og C ++.

Hvad er nyt i version 4.9.0:

  • Generelle forbedringer af forbedringer:
  • AddressSanitizer, en hurtig hukommelsesfejl detektor, er nu tilgængelig på ARM.
  • UndefinedBehaviorSanitizer (ubsan), en hurtig udefineret adfærdsmåler, er blevet tilføjet og kan aktiveres via -fsanitize = undefined. Forskellige beregninger vil blive instrumenteret til at registrere udefineret adfærd ved kørsel. UndefinedBehaviorSanitizer er i øjeblikket tilgængelig for C og C ++ sprog.
  • Forbedringer i Link-time optimering (LTO):
  • Type sammensmeltning blev omskrevet. Den nye implementering er betydeligt hurtigere og bruger mindre hukommelse.
  • Bedre partitioneringsalgoritme, der resulterer i mindre streaming under linktid.
  • Tidlig fjernelse af virtuelle metoder reducerer størrelsen af ​​objektfiler og forbedrer brugstid for hukommelse og kompileringstid.
  • Funktionslegemer er nu indlæst på forespørgsel og frigives tidligt og forbedrer den samlede hukommelsesbrug på linketid.
  • C ++ skjulte nøgleord kan nu optimeres ud.
  • Når du bruger et linker-plugin, genererer kompilering med -flto-indstillingen nu små objektsfiler (.o), som kun indeholder mellemliggende sprogrepræsentation for LTO. Brug -ffat-lto-objekter til at oprette filer, der indeholder desuden objektkoden. For at generere statiske biblioteker, der er egnede til LTO-behandling, skal du bruge gcc-ar og gcc-ranlib; at liste symboler fra en slank objektfil bruge gcc-nm. (Kræver at ar, ranlib og nm er blevet kompileret med plugin support.)
  • Hukommelsesbrugsbygning Firefox med debug-aktiveret blev reduceret fra 15 GB til 3,5 GB; linktid fra 1700 sekunder til 350 sekunder.
  • Inter-procedural optimering forbedringer:
  • Ny type arv analysemodul forbedrer devirtualization. Devirtualization tager nu hensyn til anonyme navne-rum og C + + 11-endelige søgeord.
  • Ny spekulativ devirtualiseringspas (kontrolleret af -fdevirtualize-spekulativt.
  • Opkald, der blev spekulativt foretaget direkte, vender tilbage til indirekte, hvor direkte opkald ikke er billigere.
  • Lokale aliaser introduceres for symboler, der vides at være semantisk ækvivalente på tværs af delte biblioteker, der forbedrer dynamiske koblingstider.
  • Feedback-rettede optimeringsforbedringer:
  • Profilering af programmer, der bruger C ++ inline-funktioner, er nu mere pålidelig.
  • Ny tidsprofilering bestemmer den typiske rækkefølge, hvori funktioner udføres.
  • Et nyt funktionsompasningspas (styret af -freorder-funktioner) reducerer signifikant starttiden for store applikationer. Indtil binutils support er afsluttet, er den kun effektiv med linkoptimering.
  • Feedbackdrevet indirekte opkald fjernelse og devirtualization håndterer nu krydsmodulopkald, når linkoptimering er aktiveret.
  • Nye sproglige og sproglige forbedringer:
  • Version 4.0 af OpenMP-specifikationen understøttes nu for C og C ++-kompilatorer. Den nye -fopenmp-simd-indstilling kan bruges til at aktivere OpenMPs SIMD-direktiver, mens du ignorerer andre OpenMP-direktiver. Den nye -fsimd-cost-model = mulighed giver mulighed for at indstille vektoriseringsomkostningsmodellen for sløjfer, der er annoteret med OpenMP og Cilk Plus simd-direktiver; -Wopenmp-simd advarer, når den nuværende costmodel tilsidesætter simd-direktiver, som brugeren har angivet.
  • Alternativet -Wdate-time er blevet tilføjet for C, C ++ og Fortran-kompilatorer, der advarer når __DATE__, __TIME__ eller __TIMESTAMP__-makroerne anvendes. Disse makroer kan forhindre bitvis-identiske reproducerbare kompileringer.
  • Ada:
  • GNAT skiftet til Ada 2012 i stedet for Ada 2005 som standard.
  • C familie:
  • Støtte til farvningsdiagnostik udgivet af GCC er blevet tilføjet. -Fdiagnostics-color = auto aktiverer den, når den sendes til terminaler, -f diagnostisk-farve = altid ubetinget. GCC_COLORS miljøvariablen kan bruges til at tilpasse farverne eller deaktivere farvning. Hvis GCC_COLORS-variabel er til stede i miljøet, er standard -fdiagnostics-color = auto, ellers -fdiagnostics-color = never.
  • Prøve diagnostik output:
  • $ g ++ -fdiagnostics-color = always -S -Wall test.C
  • test.C: I funktion & lsquo; int foo () ':
  • test.C: 1: 14: advarsel: ingen returopgørelse i funktion, der returnerer ikke-ugyldige [-Wreturn-type]
  • int foo () {}
  • test.C: 2: 46: fejl: template instantiation depth overstiger maksimalt 900 (use -ftemplate-depth = forøgelse af maksimum) instantiating & structur X '
  • template struct X {statisk const int værdi = X :: værdi; }; template struct X;
  • test.C: 2: 46: rekursivt kræves fra & lsquo; const int X :: værdi '
  • test.C: 2: 46: kræves fra & lsquo; const int X :: værdi '
  • test.C: 2: 88: kræves herfra
  • test.C: 2: 46: fejl: ufuldstændig type & X; anvendt i nested name specifier
  • Med den nye #pragma GCC ivdep kan brugeren hævde, at der ikke findes loop-bærede afhængigheder, der ville forhindre samtidig udførelse af sammenhængende iterationer ved brug af SIMD-instrukser (single instruction multiple data).
  • Støtte til Cilk Plus er blevet tilføjet og kan aktiveres med optionen -fcilkplus. Cilk Plus er en udvidelse til C og C + + sprogene til understøttelse af data og opgaver parallelle. Den nuværende implementering følger ABI version 1.2; alle funktioner, men _Cilk_for er blevet implementeret.
  • ISO C11 atomics (_Atomic type specifier og qualifier og header) understøttes nu.
  • Generelle valg af ISO C11 (_Generic keyword) understøttes nu.
  • ISO C11 tråd-lokal lagring (_Thread_local, svarende til GNU C __thread) understøttes nu.
  • ISO C11-support er nu på samme niveau som fuldstændigt for ISO C99-support: i det væsentlige komplette modulo-bugs, udvidede identifikatorer (understøttet undtagen for hjørnesager, når -efxtended-identifikatorer anvendes), floating point-problemer (primært men ikke fuldstændigt vedrørende valgfrie C99-funktioner fra bilag F og G) og de valgfrie bilag K (Bound-checking interface) og L (Analyserbarhed).
  • En ny C-udvidelse __auto_type giver en delmængde af funktionaliteten af ​​C ++ 11 auto i GNU C.
  • C ++:
  • G ++-implementeringen af ​​C ++ 1y-returafdragsafdrag for normale funktioner er blevet opdateret for at overholde N3638, forslaget accepteret i arbejdsdokumentet. Mest af alt tilføjer det decltype (auto) for at få decltype semantik snarere end template argument deduction semantikken af ​​almindelig auto:
  • int & amp; f ();
  • auto i1 = f (); // int
  • decltype (auto) i2 = f (); // int & amp;
  • G ++ understøtter C ++ 1y lambda capture initializers:
  • [x = 42] {...};
  • Faktisk er de blevet accepteret siden GCC 4.5, men nu advarer kompilatoren ikke om dem med -std = c ++ 1y, og understøtter også parenteserede og spærrede lukkede initialisatorer.
  • G ++ understøtter C ++ 1y variable array arrays. G ++ har støttet GNU / C99-stil VLA'er i lang tid, men understøtter nu også initialisatorer og lambda capture ved reference. I C ++ 1y-tilstand vil G ++ klage over VLA-anvendelser, der ikke er tilladt af udkastet til standard, f.eks. At danne en peger til VLA-typen eller anvende størrelsen af ​​en VLA-variabel. Bemærk, at det nu viser sig, at VLA'er ikke vil være en del af C ++ 14, men vil være en del af et separat dokument og måske C ++ 17.
  • void f (int n) {
  • int a [n] = {1, 2, 3}; // kaster std :: bad_array_length hvis n & lt; 3
  • [& a] {for (int i: a) {cout

Lignende software

Python
Python

22 Jun 18

JRuby
JRuby

17 Feb 15

Chapel
Chapel

11 May 15

Kommentarer til GCC

1 Kommentarer
  • http://www.eduwizzonlinetrainings.com 29 Dec 17
    EduwizzOnlineTraining is one of the Best Online Training Institute in Hyderabad, Bangalore. Eduwizz provide courses like Hybris Development, WebSphere Commerce Server,Blockchain Training,Hyperledger Fabric Development ,Ethereum Development ,Commvault Training, Devops , Netapps , Mulesoft ESB ,Machine Learning,Data Science , Internet of Things , Hybris ,Angular JS , Node JS , Express JS , Business Analyst, Selenium testing with webdriver, Guidewire ,Adobe, RPA ,TSM, EMC...etc
Tilføj kommentar
Tænd billeder!