Datorn iFokus

Datorn

Etikettprogramvara
Läst 319 ggr
Bjorne
2020-11-19 11:56
0

C kompilator

Jag har en Arduino uno som jag tänkte använda i en konstruktion.
Det visade sig att den skulle programeras i en C variant.
Ett språk som jag har förträngt för länge sedan.
Tacka vet jag Basic.
Jag måste dock krypa till korset, bita i det mycket sura äpplet och försöka tränga in C mysterierna.
Därför undrar jag om någon kan rekommendera någon enkel C kompilator man kan installera på en Windows 10 dator.
Det känns inte riktigt bra att programmera om Arduinon tusentals gånger för att få till "Hello World \n" och liknande på den nivån.

Kaj
2020-11-19 12:05
1
#1

Den där kan nog Johan svara på bäst men Microsoft Visual Studio är väl en av de bästa utvecklingsmiljöerna vad jag vet.
https://visualstudio.microsoft.com/vs/features/cplusplus/

https://docs.microsoft.com/en-us/cpp/build/walkthrough-compile-a-c-program-on-the-command-line?view=msvc-160

https://visualstudio.microsoft.com/free-developer-offers/

Har du koden finns ju Online c compilers. Vet dock inte hur bra dom är
https://www.onlinegdb.com/online_c_compiler

johan
2020-11-19 14:19
1
#2

Programmerar inte i C eller C++ själv, men som Kaj skriver så finns Visual Studio i en gratis version för privatpersoner eller små teams.

Jag gillar JetBrains produkter så jag kan tänka mig att deras CLion är trevligt att jobba med, men dom kostar.

Vad gäller compilers så använder nog många ungefär samma i slutändan, som t ex LLVM. Men skaffa ett bra IDE så får du med compilern.

Mvh // Johan

Niklas
2020-11-20 14:40
0
#3

#0: Finns det inte möjlighet att välja ett annat språk?


Vänliga hälsningar, Niklas

Sök information om Sveriges adelssläkter för din släktforskning

Bjorne
2020-11-22 11:15
0
#4

Nej, det verkar tyvärr vara en variant av C som gäller. Tänk om det vore basic i stället.Nu har jag kört fast igen. Inget verkar funka. Det är måsvingar och semikolon som ställer till det.

Nedanstående snutt som skall föreställa en klocka stannar vid 1:1:1 på displayen.
När jag försöker lägga till en out pinne så överöses jag av en skur av felmeddelanden trots ivrigt experimenterande med både måsvingar och semikolon.


// include the library code:
void setup();

#include
#include

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

int ledpin = 13;

//pinMode(13, OUTPUT);

int tim, min, sek ;

int main(void)

{
for ( tim = 1; tim < 7; tim = tim + 1)

{
for ( min = 2; min < 60; min = min + 1)
{
for ( sek = 3; sek < 60; sek = sek + 1)
{
lcd.print(tim);
lcd.print(":");
lcd.print(min);
lcd.print(":");
lcd.print(sek);
delay(1000);
lcd.clear();
}

}

}
return (0);
}

Niklas
2020-11-23 12:52
0
#5

Har du sökt svar på Stackexchange.com?


Vänliga hälsningar, Niklas

Sök information om Sveriges adelssläkter för din släktforskning

morten.dynamite
2020-11-23 18:58
2
#6

I Arduino skall du inte använda main() för den används internt i Arduino biblioteken.
Du lägger din initierings kod i setup() och programkoden som köres i en loop i loop().

#include <LiquidCrystal.h>

int ledpin = 13;
int tim, min, sek ;

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

void setup()
{
}

void loop(void)
{
for ( tim = 1; tim < 7; tim = tim + 1)
{
for ( min = 2; min < 60; min = min + 1)
{
for ( sek = 3; sek < 60; sek = sek + 1)
{
lcd.print(tim);
lcd.print(":");
lcd.print(min);
lcd.print(":");
lcd.print(sek);
delay(1000);
lcd.clear();
}
}
}
}

_Fisken
2020-11-23 22:47
0
#7

Jag använder mig av ett gratis konto på https://rextester.com.
Så bra att kunna ha en kompilator till hands med output när man ska prova sina snuttar. Sen går det att spara snuttarna också på rextester.