ďťż
 
 
   Jaki kompilator - zgodny z visual studio 2005
 
 

Tematy

 
    
 

 

 

 

Jaki kompilator - zgodny z visual studio 2005





dawideo - 20-11-2007 15:56
Jw. co polecacie? Niestety na studiach obecnie pracujemy tylko na Windows Xp. A programy piszemy w Visual Studio 2005. Mam do napisania projekt z Grafiki komputerowej. Wykładowca zaznaczył aby ściągnąć sobie z strony Microsoftru (uczestniczymy w programie MSDN) właśnie ten produkt, a żeby nie było przypadku że napiszemy w domu program w czymś innym, a jak przyjdziemy pokazać to lipa.
Stąd moje pytanie jako że chcę się zupełnie odciąć od Windowsa (praktycznie już to zrobiłem, nie uruchomiałem go z 3 miesiące) tzn. zamierzam go wywalić. Czy jest jakiś kompilator, który pozwoli mi pisanie sobie pod Debianem i nie sprawi mi niespodzianki? Czy jedynym sposobem jest tylko zainstalowanie Visuala i pisanie pod nim by mieć pewnośc.



Rad - 20-11-2007 17:11
A w jakim języku piszesz?



dawideo - 20-11-2007 17:43
Obecny projekt ma być napisany w C++.



Rad - 20-11-2007 18:17
Hm... no nie wiem. Możesz spróbować się pobawić w C++ i Mono, ale nie wiem czy to będzie miało jakiś sens.



wojtekz_ - 20-11-2007 18:38
Teoretycznie Mono jest kompatybilne z .NET, ale nie próbowałem. Patrz tutaj, może to coś pomoże.

Pozdrawiam



tomii - 20-11-2007 21:44
microsoft visual nie jest kompatybilny sam ze soba (2005 na 2005) ostatnio wwziołem na uczelne cały katalog z projektem i lipa, musiałem tworzyć od nowa projekt i tylko pliki żródłowe dodać. Ze standardem też jest kiepsko. wiec bedzie nielada problem, nawet dev c++ spod windowsa nie daje razy z visualem.



giaur - 21-11-2007 19:50
MonoProjekt - przetestowalem, zobaczylem.... no coz, 2 rzeczy mnie dziwia - po jaka cholere pod linuksem jest tworzony exek dla Windows (ktory mi pod Wine nawet sie nie odpala...).

Po drugie nie wiedziec czemu autorzy uznali ze nie trzeba zmieniac rozmiarow kontrolek - rozmiar ma byc taki jak oni chca a nie taki jak chce programista :shock:

Co ciekawe, jezeli dam uruchamianie projektu spod IDE to uruchamia sie jakby program z interfejsem GTK, ale na dysku tego pliku nie moge nigdzie znalezc (ale za to exe pod win jest). Opcja tworzenia pakietu (tar.gz takze wrzuca tam exeka windowsowego).

Podsumowujac, to cos jest raczej bezuzyteczne...



dawideo - 22-11-2007 13:41
No cóż wygląda na to, że zostałem zmuszony odpalić zakurzonego Windowsa:] by napisać ten projekt



salmon - 22-11-2007 14:42
skorzystaj może z vmware



Theq - 22-11-2007 15:18
Omg jakie vmware, jakie mono. Z tego co zrozumialem koles chce IDE do pisania w C++ pod linuksem. Dawideo moim zdaniem najlepsze bedzie dla ciebie srodowisko Eclipse, jako ze jest na javie to sobie mozesz je uruchamiac i na windzie i pod linuksem, z kompilatorow to gcc.



wojtekz_ - 22-11-2007 15:23
Jest to jakaś koncepcja. Na pewno eclipse pod Windows działa - sprawdziłem, gcc też powinno... Mogą być problemy z headerami systemowymi (i ogólnie z bibliotekami) - te się mogą różnić. Program pisany pod Linuksem niekoniecznie od razu skompiluje się pod Windows. Na etapie końcowym trzeba by to sprawdzić przed pokazaniem panu ;-)

Pozdrawiam



Theq - 22-11-2007 15:55

Mogą być problemy z headerami systemowymi (i ogólnie z bibliotekami) - te się mogą różnić. Program pisany pod Linuksem niekoniecznie od razu skompiluje się pod Windows. E tam, nie ma co straszyc. To chyba oczywiste, ze jak chcemy napisac program pod Windows albo Linuksa to biblioteki systemowe beda sie roznic :) Pytanie czy mu beda potrzebne. Bo jesli jego projekt mozna zamknac w standardowym C++ to po co (chcociaz widzialem, ze niektorzy maja jeszcze problem z conio.h). A jak mu bedzie potrzebne np. ladne gui (bo to niby projekt z grafiki komputerowej) to zamiast np. cykac w winapi to sie moze qt nauczyc.



salmon - 22-11-2007 18:59

Wykładowca zaznaczył aby ściągnąć sobie z strony microsoftru (uczestniczymy w programie MSDN) właśnie ten produkt, a żeby nie było przypadku że napiszemy w domu program w czymś innym a jak przyjdziemy pokazać to lipa:/
najlepsze bedzie dla ciebie srodowisko Eclipse, Problemy z czytaniem? :P.
Ja już widziałem jak wygląda odpalanie w Visualu programów napisanych gdzie indziej i obojętne czy były zgodne ze standardem czy nie. Więc po co się męczyć? Vmware + winXp + visual i po problemie



Theq - 22-11-2007 20:37

Problemy z czytaniem? :P.
Ja już widziałem jak wygląda odpalanie w Visualu programów napisanych gdzie indziej i obojętne czy były zgodne ze standardem czy nie.
Nie rozumiem o co ci chodzi? Co wogole rozumiesz przez "odpalanie programow w Visualu" i to jeszcze napisanych gdzie indziej. Wiec nie wiem co ty mogles widziec :P Prosze wytlumacz.


Więc po co się męczyć? Vmware + winXp + visual i po problemie Ja bym to nazwal meczarnia, juz lepiej niech tego visuala uzywa na swojej partycji z xp bo to nie maly program. Zreszta co sie tak czepiles tego visuala, bo wykladowca zaznaczyl zeby go sciagnac? Kiedys "zaznaczali" ze trzeba przynosic prace w wordzie.



salmon - 22-11-2007 20:56

Nie rozumiem o co ci chodzi? Co wogole rozumiesz przez "odpalanie programow w Visualu" Napisanie programu z pomocą, na przykład Eclipse, przeniesienie źródeł i próba kompilacji w Visualu.
U mnie albo ktoś przynosił program na laptopie i kompilował czym mu się podobało, albo miał do wyboru Visuala, Borlanda i chyba Deva(mingw)
Kiedys "zaznaczali" ze trzeba przynosic prace w wordzie. I? :-P



Theq - 22-11-2007 21:37

Nie rozumiem o co ci chodzi? Co wogole rozumiesz przez "odpalanie programow w Visualu" Napisanie programu z pomocą, na przykład Eclipse, przeniesienie źródeł i próba kompilacji w Visualu.
U mnie albo ktoś przynosił program na laptopie i kompilował czym mu się podobało, albo miał do wyboru Visuala, Borlanda i chyba Deva(mingw) A po co sie tak meczyc i przenosic na visuala. Co za problem kompilowac na Eclipse? Nie wiem czy dobrze rozumiem to "przynosil na laptopie i kompilowal", ale u ciebie byl obowiazek kompilowania projektu na oczach profesora? Clean&Build a profesor patrzy czy nie ma warningow? :) No chyba, ze mowisz o czyms w stylu kolokwium, ale przy takim poziomie "skomplikowania" to IDE nie ma znaczenia, mozesz nawet na kartce pisac :P
Ehh nie chce wyjsc na jakiegos wroga visuala. Sam pisalem w tym prace dyplomowa, ale nie dlatego ze ktos tak "zaznaczyl" tylko z prostego powodu, wtedy nie uzywalem linuksa. Jak bym mial jeszcze raz teraz pisac, to nawet bym sie nie zastanawial w czym i nikt by nie mial z tym problemu. Jedna z wad visuala jest to, ze nie dziala na linuksie.


Kiedys "zaznaczali" ze trzeba przynosic prace w wordzie. I? :-P I to, ze nie kazdy mial windowsa, nie kazdy mial worda i niespodzianka nawet nie kazdy mial PC. I nikt specjalnie nie bedzie ich kupowal dla czyjegos widzimisie, kiedy ma inne tak samo dobre, a czasem nawet lepsze rozwiazania.



salmon - 22-11-2007 21:50

ale u ciebie byl obowiazek kompilowania projektu na oczach profesora? Tak
Clean&Build a profesor patrzy czy nie ma warningow? :) Mnie nie pytaj po co :)
Chodzi mi tylko o to, że jeżeli na uczelni ich programy będą kompilowane w Visualu to niech lepiej od początku w nim pisze.



Theq - 22-11-2007 22:08

Chodzi mi tylko o to, że jeżeli na uczelni ich programy będą kompilowane w Visualu to niech lepiej od początku w nim pisze. Ok z mojej strony eot bo i tak sie nie przekonamy, ty wychodzisz z zalozenia "bo profesor tak powiedzial", ja "no i co z tego?!" :) Tylko dopowiem, ze skoro w pracy bedzie korzystal z windowsa to niech lepiej oleje linuksa i od poczatku siedzi na windzie ;)



dawideo - 22-11-2007 22:17
Dzięki chłopaki :]:] za odp. spróbuję się pobawić jak radzicie:). Mam jeszcze jedno pytanko. (nie związane z tematem). Otóż mam jeszcze jeden przedmiot (Język programowania objektowego), i również muszę napisać projek.Oto jego teść:
Projekt Z Języków Programowania Obiektowego

Zdefiniować klasę bazową i dwie klasy pochodne. Klasa bazowa i pochodne mają reprezentować podane w zadaniu obiekty. Dziedziczenie nie może być trywialne. Zdefiniuj podane w zadaniu operatory i zaproponuj co najmniej 2 konstruktory dla każdej klasy oraz pewne funkcje pomocnicze. Definicja klasy bazowej powinna zawierać funkcję wirtualne. Zdefiniowane operatory powinny realizować podaną w zadaniu semantykę:

Dane:
- klasa bazowa
- I klasa pochodna
- II klasa pochodna
- I działanie
- II działanie
- semantyka działania.

W programie wynikowym powinno dać się zrealizować (w sensie semantyki) wyrażenie zawierające zdefiniowane działania na instancjach zdefiniowanych klas.

UWAGA: Przypominam, że ważnym elementem zadania jest odpowiednie opracowanie komentarzy w programie. A oto dane:
klasa podst.: fala
klasa pochodna. A: piła
klasa pochodna B: prostokątna
Działania: +, -
semantyka: wysokość 1 pytanko o co chodzi z tą klasą pochodną B?? czy tam nie powinnien być "prostokąt" zamiast "prostokątna"??
2 semantyka wysokość, czyli rozumiem że mam obliczyć wysokośc fali, piły itd. Tylko jak to zrobić nie znam na to wzoru. Jakbyście mogi jeszcze w tym pomóc byłbym wdzięczny
Sorki że wyskakuje z tym pytaniem ale 3 dni temu napisałem maila do prowadzącego zajęcia, a do tej pory nie dostałem odp :[ A ja nie wiem jak to ugryść



Theq - 22-11-2007 23:08

1 pytanko o co chodzi z tą klasą pochodną B?? czy tam nie powinnien być "prostokąt" zamiast "prostokątna"?? Domyslam sie, ze chodzi o funkcje prostokatna. Wzory oczywiscie znajdziesz czytajac sobie o tych funkcjach, a z prowadzacym najlepiej kontaktowac sie na zajeciach :P



salmon - 22-11-2007 23:30
Z mojej też :)



PremierDix - 23-11-2007 01:42

1 pytanko o co chodzi z tą klasą pochodną B?? czy tam nie powinnien być "prostokąt" zamiast "prostokątna"?? klasa pochodna A powinna reprezentować falę piłokształtną a klasa pochodna B - falę prostokątną



dawideo - 23-11-2007 07:05
Też tak myślałem że chodzi o tzry osobne przebiegi:p. W sumie mógłnym się skontaktować z wykładowcą na zajęciach ale to by było 15 grudnia:P straciłbym sporo czasu czekając do tego pięknego dnia :D

[ Dodano: 2007-11-30, 21:33 ]
Witam ponownie. Już napisałem program:) Ale martwi mnie jedno. Prowadzący zaznaczył że dziedziczenia ma być NIETRYWIALNE (co kolwiek to znaczy), po skontaktowaniu się z nim i prośbie wytłumaczenia co dla niego znaczy nietrywialnie. Odpowiedział:
"Dziedziczenie nie ma być banalne"
i na tym się skączyło.
Zwracam się z prośbą może ktoś mi doradzi co bym mógł zmienić w kodzie aby te dziedziczenie nie było trywialne. No chyba żenic nie trzeba zmieniac :P
A oto mój kod (pisany niestety spod Windows z wiadomych przyczyn)
#include <iostream.h>
#include <conio.h>
#include <math.h>

// Klasa bazowa - Fala
class Fala
{
protected:                                //sekcja chroniona
        double y_max, y_min, H_fal;
public:                                    //sekcja publiczna
        Fala()                              //Pierwszy konstruktor domyslny (0,0)
        {
                y_max=0;
                y_min=0;
        };
        Fala (double yy_max, double yy_min):y_min(yy_min), y_max(yy_max) //drugi konstruktor
        {
                H_fal = y_max - y_min;
        };

        ~Fala(){};  //destruktor

        //Funkcje wirtualne
        virtual void Wypisz();

        //funkcje zaprzyjaźnione
        friend Fala operator*(Fala, Fala);
        friend Fala operator/(Fala, Fala);
};

//Klasa pochodna - Piła
class Pila:Fala
{
private:                            //sekcja prywatna
        double y_max2, y_min2, H_pi;
public:                            //sekcja publiczna
        Pila()              //pierwszy konstruktos
        {
        y_max2 = y_max;
        y_min2=y_min;
        };

        Pila(double yy_max,double yy_min):Fala(yy_max,yy_min) //drugi konstruktor
        {
        y_max2=2*y_max;
        y_min2= (y_min/2);
        H_pi= y_max2-y_min2;
        };

        ~Pila(){};    //destruktor

        //Funkcje wirtualne
        virtual void Wypisz();

        //Funkcje zaprzyjaźnione
        friend Pila operator*(Pila, Pila);
        friend Pila operator/(Pila, Pila);
        };
//Klasa pochodna - Prostokąt
class Prostokat:Fala
{
private:                                            //sekcja prywatna
        double y_max2, y_min2, y_max3, y_min3, H_pr;
public:                                              //sekcja publiczna
        Prostokat()
        {
        y_max3 = y_max;
        y_min3=y_min;
        };
        Prostokat (double yy_max, double yy_min):Fala(yy_max, yy_min) //drugi konstruktor
        {

        y_max3= 3*y_max;
        y_min3= y_min/3;
        H_pr=y_max3-y_min3;
        };

        ~Prostokat(){};      //destruktor

        //Funkcje wirtualne
        virtual void Wypisz();

        //Funkcje zaprzyjaźnione
        friend Prostokat operator*(Prostokat, Prostokat);
        friend Prostokat operator/(Prostokat, Prostokat);
};

//Przeładowanie '*' dla Fala
Fala operator*(Fala a, Fala b)
{
Fala nowy;
double nowa_H;
nowy=(a.H_fal)*(b.H_fal);
nowy.H_fal=nowa_H;
return nowy;
}

//Przeładowanie '/' dla Fala
Fala operator/(Fala a, Fala b)
{
Fala nowy;
double nowa_H;
nowa_H=(a.H_fal)*(b.H_fal);
nowy.H_fal=nowa_H;
return nowy;
}
//Przeładowanie '*' dla Pila
Pila operator*(Pila a, Pila b)
{
Pila nowy;
double nowa_H;
nowa_H=(a.H_pi)*(b.H_pi);
nowy.H_pi=nowa_H;
return nowy;
}

//Przeładowanie '/' dla Pila
Pila operator/(Pila a, Pila b)
{
Pila nowy;
double nowa_H;
nowa_H=(a.H_pi)/(b.H_pi);
nowy.H_pi=nowa_H;
return nowy;
}

//Przeładowanie '*' dla Prostokat
Prostokat operator*(Prostokat a, Prostokat b)
{
Prostokat nowy;
double nowa_H;
nowa_H=(a.H_pr)*(b.H_pr);
nowy.H_pr=nowa_H;
return nowy;
}

 //Przeładowanie '/' dla Prostokąt
Prostokat operator/(Prostokat a, Prostokat b)
{
Prostokat nowy;
double nowa_H;
nowa_H=(a.H_pr)/(b.H_pr);
nowy.H_pr=nowa_H;
return nowy;
}

int main()
{
Fala A (4,4);          //obiekty klasy Fala
Fala B (13,2);
Fala C;

Pila A2 (6,4);          //obiekty klasy pila
Pila B2 (8,2);
Pila C2;

Prostokat A3 (9,9);    //obiekty klasy prostokat
Prostokat B3 (9,9);
Prostokat C3;

A.Wypisz();
cout<<"\n" ;
B.Wypisz();
cout<<"\n";
C= A*B;
C.Wypisz();
cout<<"\n";
C= A/B;
C.Wypisz();
cout<<"\n";

A2.Wypisz();
cout<<"\n" ;
B2.Wypisz();
cout<<"\n";
C2= A2*B2;
C2.Wypisz();
cout<<"\n";
C2= A2/B2;
C2.Wypisz();
cout<<"\n";

A3.Wypisz();
cout<<"\n" ;
B3.Wypisz();
cout<<"\n";
C3= A3*B3;
C3.Wypisz();
cout<<"\n";
C3= A3/B3;
C3.Wypisz();
cout<<"\n";

        getch();
return 0;
}

void Fala::Wypisz()                        //Funkcje wyswietlajace wyniki dla poszczegolnych klas
{
cout<<"Dane fali: ("<<y_max<<","<<y_min<<")"<<endl;
cout<<"Wysokosc fali:"<<H_fal<<endl;
}

void Pila::Wypisz()
{
cout<<"Dane pily: ("<<y_max2<<","<<y_min2<<")"<<endl;
cout<<"Wysokosc piły:"<<H_pi<<endl;
}

  void Prostokat::Wypisz()
{
cout<<"Dane prostokatu: ("<<y_max3<<","<<y_min3<<")"<<endl;
cout<<"Wysokosc prostokątu:"<<H_pr<<endl;

}
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • minister.pev.pl

  •  

     


     

     
    Copyright 2003. MĂłj serwis