Avatar billede hopeful Nybegynder
27. november 2000 - 15:08 Der er 11 kommentarer og
3 løsninger

Visual C++ - program fra win98/NT til sunOS

Hej!
Jeg har lavet et program med Microsofts Visual C++, og det kører udmærket på win98/NT maskiner. Nu er problemet, at det også gerne skulle køre på en maskine med sunOS. What to do?
Avatar billede soepro Nybegynder
27. november 2000 - 15:41 #1
Most likely - start allover !!! MVC++ programmet kan du kun anvende, hvis MVC også kan generere kode til SunOS - ellers skal du finde en ny compiler til dette. (Helt analogt til hvis du ville køre et program under Linux.)

Skift til C++ Builder - version 5.0 PRO kan også fås til Linux, har jeg ladet mig fortælle.
Avatar billede lbs Nybegynder
27. november 2000 - 16:02 #2
hvis den er en console application, altså en som ikke bruge vinduer er det ikke så svært at porte den..
du vil ikke få så mange fejl.

men hvis du er igang med noget windows-sjov, så skal du genskrive alt den kode der har med operativsystemet at gøre.

soepro: det holder da ikke at skifte til en oversætter som findes til Linux, når han skal bruge kode til SunOS ?
Avatar billede hopeful Nybegynder
27. november 2000 - 16:52 #3
Jeg takker for responsen - so far!
lbs:
Det drejer sig om en console application. Hvad er så 1.step i portningen - where to go? Hvad skal jeg have fat i?
Avatar billede rm Nybegynder
27. november 2000 - 20:23 #4
hvad bruger du \"ting\" der ikke er standart c/c++?
Avatar billede lbs Nybegynder
28. november 2000 - 01:05 #5
Well, hvis du er heldig, kan du flytte det hele over og oversætte det direkte

flyt kun .cpp kilde filder og .h headere

Hvis jeg var dig, ville jeg prøve at oversætte og se hvilke fejl du får..

du oversætter sikkert med noget lignende den her

g++ -c kildefil1.cpp
g++ -c kildefil2.cpp
g++ -c kildefil3.cpp

g++ -o mitprog kildefil1.o kildefil2.o kildefil3.o


prøv at skriv hvilke features du benytter..
hvis det kun er dele fra ANSI C++ så burde den i teorien oversætte direkte...
men i praksis vil den ene compiler nok brokke sig over nogle fejl som den anden er ligeglad med..
det var ihvertfald det som jeg har oplevet ved at porte nogle applikationer den anden vej.

:)
Avatar billede hopeful Nybegynder
28. november 2000 - 01:51 #6
Hej lbs

Endnu engang tak - du skal nok få nogle point...:-)
Men først lige: Jeg kan se på det hele, at jeg skal have fat i en compiler, der kan oversætte til SunOS (a la din g++). Jeg har surfet lidt, men uden det store held. Du véd vel ikke tilfældigvis, hvor jeg kan støve en sådan compiler op?
Maskinen, programmet skal køre på, står et sted ude på Nettet, og jeg har kun web/FTP-adgang til den.

Avatar billede lbs Nybegynder
28. november 2000 - 02:16 #7
er du sikker på du ikke har telnet adgang til den?
ellers skal du jo selv installere SunOS.. på en maskine af samme type som den det skal køre på.. og når det er SunOS den kører er det næppe en x85 processor.. dvs det kan du ikke

umiddelbart vil jeg tro at du skal telnette til den og så oversætte dit program derigennem.

Ca. alle unix/linux distributioner inkluderer en eller anden form for c++ compiler..
Prøv med g++ og gcc, de er der næsten altid :)
Avatar billede rm Nybegynder
28. november 2000 - 02:49 #8
og hvis du ikke kan telnet\'e til den så prøv at ssh\'e
Avatar billede hopeful Nybegynder
28. november 2000 - 07:23 #9
Hej lbs + rm
Tak! Det vil jeg lige undersøge og evt. prøve - vender tilbage senere....:-)
Avatar billede moykal Nybegynder
28. november 2000 - 14:05 #10
Der er da flere issues end lige GUI stuff. Hvis du anvender threading, COM/ActiveX etc. så er der væsentligt flere ting at tage hensyn til. Jeg arbejder selv med flere compilere samtidigt, og første step før en port er altid at nappe en lille build med g++ - og den kan du såmænd sagtens gøre under windoze før den egentlige port - hent den hos: www.cygnus.com/gnu-win32/. Der vil du også finde mange lækre ting omkr. portering.

Går du på databaser, net eller lignende? Anvender du div. komponenter til web-like stuff eller hur? Mht. OS-ting såsom fil-io etc. skal du ikke være så bange. Sørg blot for at anvende std-lib og specielt streams og STL. Så skal du nok komme igennem. Hvis threading er et issue, så er der ikke det store spring fra Win32 threads til pthreads.

En svarer anbefalede dig at installere SunOS... det er Solaris og ikke en gammel SunOS ting vel? Vel - hvis du ikke gider partitionere og dual-boote etc. så kyl VMWare ind (www.vmware.com) - det virker fint.
Avatar billede lbs Nybegynder
28. november 2000 - 14:07 #11
moykal, jeg skriver:

hvis det kun er dele fra ANSI C++ så burde den i teorien oversætte direkte...

deri er alt hvad du skriver underforstået at der ikke bruges net osv.. måske ikke så klart dog :)
Avatar billede moykal Nybegynder
28. november 2000 - 14:13 #12
Ja - for et er \"ANSI\" C++ et andet er anvendelsen at standard biblioteker, hvilket folk ofte forstår som \"ANSI\" - socket, stdlib etc. Selvfølgeligt har du ellers fuldstændigt ret.
Avatar billede emileej Nybegynder
28. december 2000 - 18:41 #13
Der findes et program til MAC, der hedder \"Code Warrior\" - det oversætter C++ m.m. fra win til MAC. Det findes måske også til sunOS?

E-)mil
Avatar billede hopeful Nybegynder
04. januar 2001 - 23:49 #14
Mange tak for jeres deltagelse. Det gav en masse nyttig information, som jeg nu vil teste videre med. Jeg har haft lidt travlt med andre opgaver indimellem, og undskylder den lange accepttid hér.
Nu har jeg markeret de tre navne, der har svaret, og trykker nu \"Accepter\", så håber jeg, i alle får point....:-)
Tak for hjælpen!
Ka\' I alle ha\' et godt nytår!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester