Heitänpä kysymyksen: Miten ylipäätään onnisuit asentamaan IDE:n ilman kääntäjää?MaGetzUb wrote:Nyt se toimii, kun latasin MingW:n kanssa. Ei enää tarvitse tästä eteenpäin auttaa tuossa ongelmassa.

Heitänpä kysymyksen: Miten ylipäätään onnisuit asentamaan IDE:n ilman kääntäjää?MaGetzUb wrote:Nyt se toimii, kun latasin MingW:n kanssa. Ei enää tarvitse tästä eteenpäin auttaa tuossa ongelmassa.
En ole varma, mutta joissakin asennus-ohjelmissa saa valita mitä asentaa, onhan siinäkin eri kääntäjiä, joten jos ei ollut asentanut yhtäkään niin kääntäjää, vain IDE:n ja muut turhakkeet mitä paketissa tulevat. Tosin, jotenkin olisi ihan järkevää, defaulttina, että ainakin yksi perus kääntäjä asennetaan.esa94 wrote:Heitänpä kysymyksen: Miten ylipäätään onnisuit asentamaan IDE:n ilman kääntäjää?MaGetzUb wrote:Nyt se toimii, kun latasin MingW:n kanssa. Ei enää tarvitse tästä eteenpäin auttaa tuossa ongelmassa.
Mitä ihmeen sekasotkua tää on? Listaanpa:matti3 wrote:Juu lueskelin noita ja sitten rupesin laittamaan koodia. Errori vyöhyke iski.
Koodi
Ja sitten errorit. (erroreiden jälkeen tulee suoraan errori rivit)
1>c:\documents and settings\mika.koti-8fec3c6ef1\omat tiedostot\visual studio 2008\projects\business manager 2\business manager 2\business manager 2.cpp(34) : error C2065: 'naytto' : undeclared identifier
Line: ? näyttää ylintä, mutta siellä on kommentti
1>c:\documents and settings\mika.koti-8fec3c6ef1\omat tiedostot\visual studio 2008\projects\business manager 2\business manager 2\business manager 2.cpp(34) : error C3861: 'apply_surface': identifier not found
Line: ? näyttää ylintä, mutta siellä on kommentti
1>c:\documents and settings\mika.koti-8fec3c6ef1\omat tiedostot\visual studio 2008\projects\business manager 2\business manager 2\business manager 2.cpp(214) : error C2660: 'tprint' : function does not take 4 arguments
214
1>c:\documents and settings\mika.koti-8fec3c6ef1\omat tiedostot\visual studio 2008\projects\business manager 2\business manager 2\business manager 2.cpp(217) : error C2146: syntax error : missing ';' before identifier 'SDL_Flip'
217
ps. Suur kiitos auttajalle.
Code: Select all
#ifdef main
#undef main
#endif
Code: Select all
tprint(message, naytto, Xteksti, Yteksti) //PUUTTUU PUOLIPILKKU, lisäksi tprint ei ota neljää argumenttia
Toimivat yhtä hyvin kuin ilman SDL:ääkin.esa94 wrote:Sulla on includattu iostream, mutta käytät silti C:n ulostusfunktioita. Kumpikaan näistä ei sitäpaitsi muistaakseni toimi SDL-sovelluksessa!
Konsoli (STDOUT) on piilossaGrandi wrote:Toimivat yhtä hyvin kuin ilman SDL:ääkin.
Code: Select all
#include <SDL/SDL.h>
#include <iostream>
int main (int argc, char **argv)
{
SDL_Init (SDL_INIT_EVERYTHING);
SDL_Surface *Ruutu;
SDL_Event Tapahtuma;
int Liput = SDL_HWSURFACE | SDL_DOUBLEBUF;
Ruutu = SDL_SetVideoMode (320, 240, 32, Liput);
int Hiiri, x, y, ox, oy;
while (Tapahtuma.type != SDL_QUIT)
{
Hiiri = SDL_GetMouseState (&x, &y);
if (x != ox || y != oy)
{
std::cout << x << ", " << y << '\n';
oy, ox = x, y;
}
SDL_PollEvent (&Tapahtuma);
SDL_Flip (Ruutu);
}
SDL_Quit();
}
Wintoosallahan minä.
Minulla ei ainakaan moista tee.JATothrim wrote:SDL ohjaa cout:in ja printf:n omaan tulostusvirtaansa stdout.txt-tiedostoon exen viereen. :)
Code: Select all
#include <SDL/SDL.h>
#include <iostream>
int main (int argc, char **argv)
{
SDL_Init (SDL_INIT_EVERYTHING);
SDL_Surface *Ruutu;
int Liput = SDL_HWSURFACE | SDL_DOUBLEBUF;
Ruutu = SDL_SetVideoMode (320, 240, 32, Liput);
for (int i=0; i<10; ++i)
std::cout << i << '\n';
SDL_Quit();
}
Varmaankin tämä on sitten ihan Windowsilla vaan, kun tunnetusti Winnaabit pelkäävät komentoriviä. Jos saisinkin joskus koneen johon voi asentaa linuxin... (Bash <3)Grandi wrote:Minulla ei ainakaan moista tee.JATothrim wrote:SDL ohjaa cout:in ja printf:n omaan tulostusvirtaansa stdout.txt-tiedostoon exen viereen.Code: Select all
#include <SDL/SDL.h> #include <iostream> int main (int argc, char **argv) { SDL_Init (SDL_INIT_EVERYTHING); SDL_Surface *Ruutu; int Liput = SDL_HWSURFACE | SDL_DOUBLEBUF; Ruutu = SDL_SetVideoMode (320, 240, 32, Liput); for (int i=0; i<10; ++i) std::cout << i << '\n'; SDL_Quit(); }
Toisaalta en kyllä tee EXE:äkään. Puhutko nyt jostain järjestelmäkohtaisesta ominaisuudesta?
O_oVarmaankin tämä on sitten ihan Windowsilla vaan, kun tunnetusti Winnaabit pelkäävät komentoriviä.
Sitä se stream-operaattorien totetuttaminen teettää.Mm. koordinaatti luokan tulostaminen virtaan on poskettoman nättiä. C:n tulostusfunktiot ovat jotain ihmeellistä.
Vastaukseksi ilmeeseen, tarkoitin sitä, että wintoosalla SDL piilottaa oletuksena konsoli-ikkunan ja ohjaa stdoutin tiedostoon stdout.txt, koska harvempi naabimpi Windows-käyttäjä tietää komentorivistä paljon mitään.anttipanda wrote:O_oVarmaankin tämä on sitten ihan Windowsilla vaan, kun tunnetusti Winnaabit pelkäävät komentoriviä.
Sitä se stream-operaattorien totetuttaminen teettää.Mm. koordinaatti luokan tulostaminen virtaan on poskettoman nättiä. C:n tulostusfunktiot ovat jotain ihmeellistä.
Code: Select all
#include<iostream>
#ifndef EXIT_SUCCESS
#define EXIT_SUCCESS 0;
#endif
using namespace std;
int main()
{
//Mielivaltainen muuttuja
int muuttuja = 1337;
//Viittaus
int &rViittaus = muuttuja;
int *pOsoitin_rViittaukseen = &rViittaus;
cout << "Muuttujan arvo on " << muuttuja << " ja toista kautta haettuna myös " << rViittaus << endl;
cout << "Muuttujan muistiosoite on " << &muuttuja << " eli sama kuin " << &rViittaus << endl;
cout << "Myös viittauksen oma muistiosoite on " << pOsoitin_rViittaukseen << endl;
cout << endl;
//Osoitin
int *pOsoitin = &muuttuja;
int **pOsoitin_pOsoittimeen = &pOsoitin;
cout << "Muuttujan arvo on " << muuttuja << " ja toista kautta haettuna myös " << *pOsoitin << endl;
cout << "Muuttujan muistiosoite on " << &muuttuja << " eli sama kuin " << pOsoitin << endl;
cout << "Osoittimen oma muistiosoite sen sijaan on " << pOsoitin_pOsoittimeen << endl;
//Jos ohjelma vain vilahtaa ruudulla, poista kahden seuraavan rivin kommentointi
//int turhaMuuttuja;
//cin >> turhaMuuttuja;
return EXIT_SUCCESS;
}
Code: Select all
int x;
int* pX = &x;
x = 5;
*pX = 4;
; x "osoite" (offset) (e)bp:hen nähden -4
; pX offset bp:hen nähden -8
; pino kasvaa siis alaspäin
; pX = &x
mov eax, ebp
sub eax, 4 ; eax sisältää nyt x:n muistiosoitteen
mov dword ptr[ebp-8], eax ; sijoitetaan muistiosoite pX:ään
; x = 5
mov dword ptr[ebp-4], 5 ; huomaa, että osoitin ja muuttuja ovat kumpikin aivan samanalaisia 32-bit lukuja, niihin pätevät samat operaatiot
; *pX = 4
mov eax, dword ptr[ebp-8] ; haetaan pX:n arvo (joka on siis x:n osoite!) eax:aan
mov dword ptr[eax], 5 ; käytetään muistiosoitetta hyväksi ja sijoitetaan siihen arvo
Code: Select all
pilpo.hax0rnikki="Feuer";
kys. riviltä. Ja luokka, josta tuo olio on luotu, näyttää seuraavalta:ISO C++ forbids assignment of arrays
Code: Select all
class hakkerit
{
public:
char nimi[14];
int ika;
};
class taitavat_hakkerit : public hakkerit
{
public:
char hax0rnikki[6];
};