Byta kompilator i Xcode( C programmering )

Permalänk
Medlem

Byta kompilator i Xcode( C programmering )

Goder afton käre sweclockare. Frågan lyder, går det att byta kompilator i Xcode till någon som tar C11 standarden? (den som vår kursledare vill att vi ska följa,). Har försökt googla lite på det, men tyvärr ingen framgång. Pratade med någon som sa att jag borde köra gcc+ texteditor. Vad tycker ni?
Förövrigt programmerar jag i OSX om inte det framgick.

Fortsatt trevlig kväll,

N0iZE

Visa signatur

OS: MacOS/ Windows 10 Pro 64-bit MB: ASUS-Z97-A CPU: i7 4790k
NÄTAGG: EVGA SUPERNOVA G2
RAM: 32768 MiB GPU: 1070 FTW Chassi: Fractal Design R4
MBP 13" i5 | 256GB | 16GB RAM | MID 2014

Permalänk
Medlem
Skrivet av N0iZE:

Goder afton käre sweclockare. Frågan lyder, går det att byta kompilator i Xcode till någon som tar C11 standarden? (den som vår kursledare vill att vi ska följa,). Har försökt googla lite på det, men tyvärr ingen framgång. Pratade med någon som sa att jag borde köra gcc+ texteditor. Vad tycker ni?
Förövrigt programmerar jag i OSX om inte det framgick.

Fortsatt trevlig kväll,

N0iZE

Googlade lite, detta kanske är intressant?
http://stackoverflow.com/questions/837992/update-gcc-on-osx

Visa signatur

WS: MSI B350M Mortar | AMD Ryzen 7 1700 | PH-TC14PE | 32GB DDR4 3000MHz | 1TB Kingston NV2 | Intel Arc A750 8GB | 2*BenQ G2420HDB
Router: Gigabyte GA-870-UD3 | AMD Phenom II x6 1055t @ 2600MHz, 1.25V | 12GB DDR3 | 2*250GB HDD @ RAID1 | 4TB HDD
Laptop: Thinkpad X220 4291-QF6

Permalänk

gcc? Du kan väl ladda ner comand line tools i xcode sedan gcc -std=c11 -o whatevs whatevs.c eller missuppfattar jag din fråga?

Visa signatur

(Asus Z87-A && i7-4770K && ASUS Strix GTX 970 && Fractal Design Define R4 && Corsair CX500M && Samsung 840 Evo 500GB && Noctua NH-U9B SE2 && (Arch Linux 4.2.3-1 || Windows 10 Pro))

Permalänk
Medlem
Skrivet av N0iZE:

Goder afton käre sweclockare. Frågan lyder, går det att byta kompilator i Xcode till någon som tar C11 standarden? (den som vår kursledare vill att vi ska följa,). Har försökt googla lite på det, men tyvärr ingen framgång. Pratade med någon som sa att jag borde köra gcc+ texteditor. Vad tycker ni?
Förövrigt programmerar jag i OSX om inte det framgick.

Fortsatt trevlig kväll,

N0iZE

Jag kompilerar alltid koden manuellt i terminalen genom att skriva "clang -std=c++11 -stdlib=libc++ foo.cpp". Det funkar fint för mig.
I Xcode kan du kolla vad det är inställt på och ändra genom att i den vänstra kolumnen(filträet) klicka på projektnamnet överst, sen välja "Build Settings" och bläddra ner till det att du kommer till "C++ Language Dialect".

Permalänk

Jag tror inte det finns någon kompilator som stödjer C11 fullt ut då jag vill minnas (detta kan ha ändrats) att biblioteksfunktionerna är fortfarande inte implementerade. Många kompilatorer stödjer fortfarande inte C99 så C11 känns som långt ifrån standard Men både GCC och Clang har delvis stöd för C11 verkar det som! Du kan hälsa din kursledare att det är dumt att kräva att folk använder C11 när i princip ingen gör det ute i industrin (det är fortfarande C90 och at best C99 som gäller!). Dock så är det ju fortfarande lite smått intressant att veta vad som är nytt i språket, speciellt om det är en renodlad språkkurs.

Permalänk
Medlem
Skrivet av fluffest:

Jag kompilerar alltid koden manuellt i terminalen genom att skriva "clang -std=c++11 -stdlib=libc++ foo.cpp". Det funkar fint för mig.
I Xcode kan du kolla vad det är inställt på och ändra genom att i den vänstra kolumnen(filträet) klicka på projektnamnet överst, sen välja "Build Settings" och bläddra ner till det att du kommer till "C++ Language Dialect".

Hmm, ska testa! tack! Vilken kompilator använde du? Jo det vet jag redan, har det inställt på C

Skrivet av RenderMonkey:

Jag tror inte det finns någon kompilator som stödjer C11 fullt ut då jag vill minnas (detta kan ha ändrats) att biblioteksfunktionerna är fortfarande inte implementerade. Många kompilatorer stödjer fortfarande inte C99 så C11 känns som långt ifrån standard Men både GCC och Clang har delvis stöd för C11 verkar det som! Du kan hälsa din kursledare att det är dumt att kräva att folk använder C11 när i princip ingen gör det ute i industrin (det är fortfarande C90 och at best C99 som gäller!). Dock så är det ju fortfarande lite smått intressant att veta vad som är nytt i språket, speciellt om det är en renodlad språkkurs.

Jo, jag tycker det är skumt också. Ska fråga på fredag om det är ok att köra på C99(det som xcode kör på). Bör nog inte vara några problem.
Har som nödlösning Visualstudio ultimate 2013 via parallels installerat om det skulle behövas (via Dreamspark)

Tack!

Visa signatur

OS: MacOS/ Windows 10 Pro 64-bit MB: ASUS-Z97-A CPU: i7 4790k
NÄTAGG: EVGA SUPERNOVA G2
RAM: 32768 MiB GPU: 1070 FTW Chassi: Fractal Design R4
MBP 13" i5 | 256GB | 16GB RAM | MID 2014

Permalänk
Datavetare

Att köra C på Visual Studio är en dålig idé då den inte ens har vettigt stöd för C99 och stöd för C11 finns överhuvudtaget inte. Visual Studio har relativt komplett stöd för C++11, men det är inte samma sak som C11. Sedan C99 har C och C++ divergerat och C är inte längre en strikt delmängd av C++.

Rent formellt så stödjer inte GCC C99 innan version 4.5, i praktiken har alla viktiga finesser från C99 funnits sedan 2.95 då Linux-kärnan använder många av dessa.

C11 stöd finns bara sedan GCC4.9 som släpptes i våras, innan den versionen saknas header-filer för multitrådning och atomära funktioner, vilka är huvudanledningen till att köra C11 över C99.

Företag som kör C är typiskt väldigt konservativa och värdera stabilitet väldigt högt, där jag jobbar tog det över 10år efter release av C99 innan det blev ett krav i våra produkter... Så lär ta ett tag innan C11 blir ett krav, finns dock väldigt trevliga funktioner i C11 som man gärna vill ha när man jobbar med multicore.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem

Sökte lite på bibliotek för C11 threads för ett tag sedan och då hittade jag musl.
Troligtvis hjälper det inte dig då det verkar vara för Linux och Xcode är för MacOSX.
Men det kanske går att lösa med VirtualBox så kan du köra Linux virtuellt?

Edit: Jag fattar det saknas bibliotek för att ge GCC stöd för C11 threads, även om GCC i sig själv har stödet.
Det står "Library issue (not implemented):
https://gcc.gnu.org/wiki/C11Status

Permalänk
Datavetare
Skrivet av ronnylov:

Sökte lite på bibliotek för C11 threads för ett tag sedan och då hittade jag musl.
Troligtvis hjälper det inte dig då det verkar vara för Linux och Xcode är för MacOSX.
Men det kanske går att lösa med VirtualBox så kan du köra Linux virtuellt?

Edit: Jag fattar det saknas bibliotek för att ge GCC stöd för C11 threads, även om GCC i sig själv har stödet.
Det står "Library issue (not implemented):
https://gcc.gnu.org/wiki/C11Status

Exakt, detta är lite stökigt då vissa saker kräver kompilatorstöd (som t.ex. <stdatomic.h>) och är ett krav för C11 medan andra saker implementeras i bibliotek och just <threads.h> är inte ett krav för ISO C11 utan är något som är valfritt. Implementation av <threads.h> kommer aldrig bli en del av GCC, utan detta ligger på glibc projektet och där finns det utkast till att implementera detta men än så länge saknas stödet i stabila releaser.

Tänkte inte på det då vi sedan en tid tillbaka har gjort en egen mappning av <threads.h> på pthreads men det blev ändå inte använt så mycket då GCC då var vid version 4.8 och utan stöd för <stdatomic.h> måste man ändå hantera saker som är specifikt per CPU-arkitektur (men just detta fixades i GCC 4.9).

Så "C11" och "skoluppgift" känns väldigt mycket överkurs givet hur det ser ut just nu, i alla fall om målet är att använda saker som trådar och liknande.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem

Ja kanske räcker det med C11-stödet som redan finns i GCC. Saker som är "optional" enligt C11-standarden kanske ändå inte är något som ni måste använda.

Permalänk
Medlem
Skrivet av Dracc:

Ska kika, tack!

Skrivet av krille0x7c2:

gcc? Du kan väl ladda ner comand line tools i xcode sedan gcc -std=c11 -o whatevs whatevs.c eller missuppfattar jag din fråga?

Ska kolla lite på det! Tackar

Annars så kör jag vidare på LLVM med C99

Visa signatur

OS: MacOS/ Windows 10 Pro 64-bit MB: ASUS-Z97-A CPU: i7 4790k
NÄTAGG: EVGA SUPERNOVA G2
RAM: 32768 MiB GPU: 1070 FTW Chassi: Fractal Design R4
MBP 13" i5 | 256GB | 16GB RAM | MID 2014