Gå til innhold

Bone's Offisielle C++ hjelpetråd


Anbefalte innlegg

  • 3 uker senere...
Videoannonse
Annonse
Er usikker på om dette er riktig, men hvorfor er det slik at C så godt som alltid velges framfor C++ når man programmerer innebygde systemer?

 

Min erfaring er at C++ i mye! mindre grad er støttet av kompilatorene. C++ er et veldig komplisert språk i forhold til C og dermed er det verre å lage gode komplatorer.

 

Det ble gjort (minst) et forsøk på å løse dette (Embedded C++), men det ble jo ikke noe av.

 

Det må merkes at jeg snakker om mindre innebygde systemer. I større/middels systemer så er det min erfaring at c++ det som er mest brukt

Lenke til kommentar
  • 2 uker senere...
Ok, takker for svar. Forstod det bedre nå.

Hvor store systemer snakker vi om når vi kommer til det du omtaler som middels/større innebygde systemer? :p

 

Jeg er usikker selv dessverre og det er nok en svært glidende overgang.

 

Jeg er bare borti små/enkle mikrokontroller styre eller store/kompliserte pc styrte innebygde systemer så jeg mangler alt mellom.

Lenke til kommentar

Har så vidt begynt med OOP, men har allerede møtt et problem.

 

main.cpp

#include <QtCore/QCoreApplication>
#include <QtGui>
#include <QMainWindow>
#include <iostream>
#include <string>
#include <cstdlib>
#include "console.h"

using namespace std;
bool cmd = true;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
console::shell();
return a.exec();
}

 

console.h:

#ifndef CONSOLE_H
#define CONSOLE_H
#include <iostream>
#include <string>
using namespace std;
class console
{
private:
	int findCommand();
public:
	int shell();
};

#endif // CONSOLE_H

console.cpp

#include "console.h"
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;



int console::shell()
{
string command;
while(cmd == true)
{
	cout << "cmd>>"
	cin>>command;


}
return EXIT_SUCCESS;
}

 

Prosjektet bygger på QT, selv jeg ikke har begynt å bruke QT spesifike funksjoner enda, så bruker da QT Creator og dens compiler. Når jeg kompilerer får jeg bare "C:/Users/Håkon/Documents/QtMainWindow-test/clitest/main.cpp:14: error: cannot call member function `int console::shell()' without object" tilbake. Noen som ser noen umiddelbare feil?

Lenke til kommentar

Litt usikker på hva du prøver på så du har to løsninger.

 

Du kan få koden til å kjøre igjen ved enten:

Gjøre member funksjonen statisk (eks1) eller kalle shell ved først lage en console variabel for så kalle funksjonen fra objektet(eks2).

 

(eks1)

console.h:

#ifndef CONSOLE_H
#define CONSOLE_H
#include <iostream>
#include <string>
using namespace std;
class console
{
private:
	int findCommand();
public:
	static int shell();
};

#endif // CONSOLE_H

 

(eks2)

main.cpp

<snip>

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
console konsolen;//< ny
konsolen.shell();//< ny
//	console::shell();
return a.exec();
}

 

Når du har gjort det så vil du få en ny feil ettersom int console::shell() ikke kjenner til cmd... men det vet du sikkert :)

 

Lykke til

Lenke til kommentar
  • 1 måned senere...

Kjapt spørsmål.. Akkurat startet med c++, har hatt 4 forelesninger. Skulle prøve å kompilere et eksempelprogram på min Ubunutu installasjon. Skriver da følgende i terminalen

g++ eks_01.cpp

Får ingen feilmeldinger, men terminalen jobbet i 2 sekunder, og var klar for ny input. Resultatet av kompileringen var kun en fil som a.out ellernoe, og den inneholdt en del svada.. Åssen skal jeg få opp et kjørbart program?

Lenke til kommentar
  • 2 uker senere...
Det ble gjort (minst) et forsøk på å løse dette (Embedded C++), men det ble jo ikke noe av.

Dæven, det der så jo rimelig fiasko ut:

 

Embedded C++ is a proper subset of C++. The following language features have been removed:

 

Her sitter man jo i beste fall igjen med en ganske barebone "C with classes".

Lenke til kommentar
  • 2 uker senere...

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...