-
Innlegg
85 -
Ble med
-
Besøkte siden sist
Innholdstype
Profiler
Forum
Hendelser
Blogger
Om forumet
Innlegg skrevet av Geek_Master
-
-
-
-
-
Assembler for pc'er er tricky da du via OS'er som Windows ikke får direkte tilgang til hardware som er plugga i (Skjermkort/lydkort t.eks). Så du er avhengig av å bruke biblioteker (eller lage dine egne) for å accessere hardwaren som er plugga i PC'en din via driverne. Dette er fordi at pc'ene i dag har så jævlig masse forskjellige typer hardware og det ville være upraktisk å skrive drivere i din software for å dekke alt sammen. I tilegg får du ikke lov til dette av sikkerhetsmessige grunner.
MEN det du kan gjøre er en av to ting. Skaff deg en gammel traver fra fortiden (f.eks. ei commodore 64 eller ei amiga) og lær deg assembler der. Prinsippene er i utgangspunktet det samme, flytte og behandle data for å oppnå det du ønsker. Og her kan du skrive direkte til hardware. Her kan du bruke emulatorer for å kjøre disse maskinene på PC på lik linje som om at du hadde en virkelig maskin. Men best er originalene seff^^
Det andre du kan gjøre er å bruke et "høynivå språk" som innpakning til de assembler rutinene du ønsker å skrive på pc. Her anbefaler jeg freebasic som er enkelt å bruke og lar deg bruke in-line assembler samt kalle opp bibliotek filer. Har også et bra forum der du kan få hjelp.
Morfaren din har sikkert skillz til begge disse alternativene, og hvis ikke så er det tonnevis av materiale online.
Hvorfor bumper du en 2 år gammel tråd?
-
Jeg går ut ifra at du mener at
#include <iostream> // allows to perform input and output
står inne i file Integer.h
Når du bruker #include <FilnavN> så leter preprosessoren kun i noen bestemte include-mapper etter filen FilnavN, og den titter ikke i samme mappe som cpp-filen.
Når du bruker #include "FilnavN" så leter preprosessoren først i mappen cpp-filen er i, så leter den i de samme mappene som den ville sett i om du hadde brukt <FilnavN>.
#include bare setter inn teksten i fila den blir bedt om å lete etter. Så når du bruker #include "Integer.h", så setter den inn teksten #include <iostream> på linja der det sto #include "Integer.h". Deretter bytter den ut linja #include <iostream> med innholdet i iostream, som ligger i preprosessorens include-mapper.
Om jeg ikke inkluderer iostream (enten ved include <iostream> eller include "Integer.h" med include <iostream> i) så nekter programmet mitt å kompileres. Det er ikke en gammel versjon av programmet der du ikke hadde med utksrift av sum som kommer når kompilatoeren ikke finner iostream?
Du deler foresten på number5 i stedet for å legge det til.
Jeg vet det, det var egentlig poenget å prøvenoe som ikke var brukt i noen eksempler.
Takk for alle svarene.
-
Her står det ganske godt forklart:
Håpet på en forklaring på norsk, fant ikke noe på google.
PreProssesore er en prosess for skjer før kompileringen, det blir blandt annet "variabler" fra #define plasert ut... man kan si at alle (det er alle ikke sant?) "funksjoner" som starter med # er ment for preprossesoren.
f. eks.
#include "fil" klasker innholdet til "fil" på linjen #include står.
så kompileres det.
Du som bruker vc kjenner sikkert #pragma (kompilatore setting) once som gjør headeren ikke blir includert flere ganger.
Her er noe jeg har skrevet på CodeWiki Preprosessor(C/C++)
Hvilken include du bruker er spiller her ingen rolle.
Ligger headeren i samme windows mappe som source filen?
Hvis den ikke gjør det så må du legge til mappen ved å gå inn på prosjekt instillinger -> c/c++ -> General -> Additional Include Directories
Lykke til
Preprocessor er en prosess utført før kompileringen altså.
Men når jeg bruker "" så lukker den seg ikke mens når jeg bruker <> så lukker programmet seg uten å gi svaret.
Og nei jeg har ikke hørt om #pragma, hva er det forresten?
Takk for svaret Giddion.
-
Her står det ganske godt forklart:
Håpet på en forklaring på norsk, fant ikke noe på google.
-
Jeg fant ut av det.
#include <filnavn> står det at: the preprocessor searches for a specified file in an implementation-dependent manner, normally through predesignated directories.
#include "filnavn" står det at: the preprocessor searches first in the same directory as the file is beeing compiled, then in the same implementation-dependent manner as for the files with enclosed brackets.
EDIT: orker ikke oversette
EDIT: Kan noen forklare meg nøyaktig hva en c++ preprocessor, forstår det ikke helt?
-
Hm, hvilket program koder du i?
Visual c++ 2008 express edition bruker jeg.
Edit: Skrivefeil
-
Det funker med #include <iostream>, men jeg vil kunne bruke header filer.
Takk for svar btw.
-
Hva om du kommenter ut den første linja (med include).
Du trenger den jo strengt tatt ikke.
Edit: <iostream> trenger du derimot
Fikk ikke helt med meg det.
Mener du at jeg skal fjerne kommentaren og la <iostream> stå igjen?
-
Jeg lagret den i den mappen så vises i builden har skjekka flere ganger.
-
Jeg laget dette som en liten udvidelse av et eksempel, men hver gang jeg skriver inn de fem tallene i programmet så lukker det seg uten å gi meg summen. Her er koden:
#include <iostream> // allows to perform input and output
#include <Integer.h> // Function main begins program execution int main() { // Opening brace for function main int number1; // first integer to add int number2; // second integer to add int number3; // third integer to add int number4; // fourth integer to add which multiplies int number5; // fifth integer to add which divides int sum; // the value of the numbers after addision, substraction, multiplieing and dividing std::cout << "Enter the first integer: "; // Ask user for the first integer std::cin >> number1; // reads the first integer from user in to number1 std::cout << "Enter the second integer: "; // number2 std::cin >> number2; // number2 std::cout << "Enter the third integer: "; std::cin >> number3; std::cout << "Enter the fourth integer: "; std::cin >> number4; std::cout << "Enter your fifth integer: "; std::cin >> number5; sum = number1 + number2 + number3 * number4 / number5; // adds up the numbers; stores the sum std::cout << "Sum is " << sum << std::endl; // display sum endline system ("pause"); // Freezes the program, preventing it from shutting down return 0; //Indicate that the program ended successfully } //Closing brace ending function main
Og så står i build
1>c:\users\supersindre\documents\visual studio 2008\projects\integer program\integer program\integer.cpp(3) : fatal error C1083: Cannot open include file: 'Integer.h': No such file or directoryTakker for svar på forhånd.
PS: Hvis noen skal mase om at emnetittelen er lite beskrivende kom med forslag, er tom for ideer.
-
Hvis du virkelig er interessert i å lære C/C++ og har god viljestyrke, kan du jo sjekke rundt om kring på begynnerkursene på f eks UiO og gjøre noen oppgaver derfra. Alt ligger ute på nettet.
Har du en link?
Jeg vet hvordan man bruker visual studio express til veldig enkle ting som kompilere etc.
-
Ja, jeg skjønner poenget ditt Geir og du har helt rett, men jeg kan ikke laste ned et godt IDE og skrive inn hva som helst hvis du skjønner hva jeg mener.
Jeg må jo lære å programmere først ellers er det nytteløst.
For det eneste jeg kan sålangt er jo:
#include <iostream> using namespace std; int main() { cout << "Hello World\n"; system("pause"); return 0; }
-
Jeg har kjøpt boka c++ how to program. Og jeg er veldig ny-begynner.
-
Hei, jeg skulle gjerne hatt en studieplan for ukene framover, fordi jeg er en ganske utstrukturert person og trenger hjelp til å sette opp en plan.
Har C++ how to program.
Uke 1
Gjennomgå: blabla
lag: blabla
etc
Jeg setter stor pris på hvis noen gidder å hjelpe meg.
-
-
-
God Jul :D
-
-
-
-
Nedtelling fra 100000. Les REGLER i første post! Generll diskusjon påfølger nå.
i Lekeplassen
Skrevet
22602