Vinnaren i pepparkakshustävlingen!
  • 1
  • 2
2017-12-07, 20:20
  #13
Avstängd
Citat:
Ursprungligen postat av Linguas
Cirka 5 minuter efter att jag skrev mitt senaste svar hittade jag pyinstaller och provade att omvandla en .py fil till .exe vilket gick utmärkt. Segheten och storleken som uppstod som ett resultat var dock inte att leka med...

Jag läste lite om det nu, och programmet (exe-filen) börjar tydligen med att packa upp bl.a. scriptet och alla bibliotek detta använder till en tillfällig mapp. Inte mycket mer än en självuppackande fil alltså Segheten är "bara" en engångsgrej i starten av programmet och har inget med hastigheten på C++ vs Python att göra.

PyInstaller kan skapa en mapp istället, som du kan zippa för distribution. Eller gör en installerare som installerar scriptet, plus Python om det inte finns. Lite krångligare blir det förstås än C++, men hur många tror du vågar ladda hem och köra din exe-fil?

Tycker inte du ska lyssna så mycket på kanes272 om du inte tänker släppa ut ett AAA-spel eller bli rymdforskare. Jag tror inte att C++ är något för dig.
Citera
2017-12-07, 21:46
  #14
Medlem
Citat:
Ursprungligen postat av Linguas
Jag är nybörjade när det kommer till C++ och håller på att försöka lära mig grunderna.

Det jag stör mig lite på är de där biblioteken som skrivs högst upp i filen. Jag skapade ett nytt skript i linux som var menat att ladda ner en text-fil på min server till datorn me dmålet att det ska funka i både linux och windows. När jag skulle omvandla den till en .exe fil så fick jag felmeddelande om att <windows.h> och <urllib.h> saknades. Efter att ha sökt runt fick jag reda på att dessa inte går att ladda ner utan endast finns i VC++ till Windows. Jag försökte en annan variant och fick då istället att curllib saknades...

Alltså, vad är det här? Fungerar program som skapats i Linux endast i Linux? Det blir ganska problematiskt för mig isåfall som sitter i linux men vill skapa program för främst windows...

Vad exakt försöker du uppnå? Om du vill enkelt kunna ladda upp/ner text-filer från din server så kanske det är lite överkurs att skapa en egen nativ klient, finns ju färdiga FTP-program. Om du behöver något mer anpassat än en FTP-klient kanske du kan skriva ett webb-baserat system (med PHP eller annat server-språk) som snurrar på din server, då kan du kommunicera med din server från vilken dator som helst så länge du har tillgång till en webbläsare.
Citera
2017-12-09, 09:08
  #15
Medlem
Linguass avatar
Citat:
Ursprungligen postat av fettklumpen
Vad exakt försöker du uppnå? Om du vill enkelt kunna ladda upp/ner text-filer från din server så kanske det är lite överkurs att skapa en egen nativ klient, finns ju färdiga FTP-program. Om du behöver något mer anpassat än en FTP-klient kanske du kan skriva ett webb-baserat system (med PHP eller annat server-språk) som snurrar på din server, då kan du kommunicera med din server från vilken dator som helst så länge du har tillgång till en webbläsare.

Det är en funktion son är en del av ett större program. Att göra det i PHP hade varit väldigt enkelt men jag behöver en .exe fil.

Jag tror jag fått det hela lite om bakfoten när det kommer till alla C-varianterna. C och C++ är säkert toppen när det kommer till program för linux. Ska man skapa något för Windows så är det dock C# eller VBS som gäller...

Det är mycket att hålla koll på...
Citera
2017-12-09, 10:20
  #16
Medlem
kaks avatar
Citat:
Ursprungligen postat av Linguas
Det är en funktion son är en del av ett större program. Att göra det i PHP hade varit väldigt enkelt men jag behöver en .exe fil.

Jag tror jag fått det hela lite om bakfoten när det kommer till alla C-varianterna. C och C++ är säkert toppen när det kommer till program för linux. Ska man skapa något för Windows så är det dock C# eller VBS som gäller...

Det är mycket att hålla koll på...

C++ är toppen även för program till Windows. Varför skulle det inte vara det?
Det gäller bara att hålla reda på vad som ingår i språket och dess standardbibliotek, vad som finns i portabla tredjepartsbibliotek och vad som löses med plattformsspecifika bibliotek och API:er.
Citera
2017-12-09, 15:05
  #17
Medlem
Linguass avatar
Citat:
Ursprungligen postat av kak
C++ är toppen även för program till Windows. Varför skulle det inte vara det?
Det gäller bara att hålla reda på vad som ingår i språket och dess standardbibliotek, vad som finns i portabla tredjepartsbibliotek och vad som löses med plattformsspecifika bibliotek och API:er.

Jo, att importera bibliotek i C++ är det största problemet för mig hittills. Fast antar att man är bortskämd efter att ha suttit med Python på en linux dator. Enklare än så kan det inte bli
Citera
2017-12-09, 15:21
  #18
Medlem
kaks avatar
Citat:
Ursprungligen postat av Linguas
Jo, att importera bibliotek i C++ är det största problemet för mig hittills. Fast antar att man är bortskämd efter att ha suttit med Python på en linux dator. Enklare än så kan det inte bli
Just det är ju oftast lättare på Windows. Visual Studio stödjer ofta automatisk länkning till rätt bibliotek genom #pragman i headerfilerna.
Citera
2017-12-11, 22:00
  #19
Medlem
guderis avatar
Citat:
Ursprungligen postat av Linguas
Jo, att importera bibliotek i C++ är det största problemet för mig hittills. Fast antar att man är bortskämd efter att ha suttit med Python på en linux dator. Enklare än så kan det inte bli

Vet inte exakt vad det är du tänkt att skriva för typ av program. Men helt klart så bör du använda en Windowsmiljö om det är program för Windows du tänkt skriva.
Finns lite olika alternativ du kan använda dig av. Du kan använda Visual Studio, där finns väldigt bra verktyg för att skapa just windows progam, exempelvis WinForms eller WPF, du använder då med fördel C# som är Microsoft egen variant av Java väl anpassad för att använda i VS och .NET

Ett annat alternativ är att använda QT som är ett plattformsoberoende verktyg för att skapa program med grafiska gränssnitt. I QT använder du C++

Vill du verkligen gå tillbaka till Basic och lära dig windowsprogrammering som det fungerar från grunden så använder du Windows API rent, den är främst skriven i C men går bra att anpassa till exempelvis C++ eller C#
Citera
2018-01-12, 11:20
  #20
Medlem
Citat:
Ursprungligen postat av Linguas
Det jag stör mig lite på är de där biblioteken som skrivs högst upp i filen. Jag skapade ett nytt skript i linux som var menat att ladda ner en text-fil på min server till datorn me dmålet att det ska funka i både linux och windows. När jag skulle omvandla den till en .exe fil så fick jag felmeddelande om att <windows.h> och <urllib.h> saknades. Efter att ha sökt runt fick jag reda på att dessa inte går att ladda ner utan endast finns i VC++ till Windows. Jag försökte en annan variant och fick då istället att curllib saknades...

För att förstå C++ är det viktigt att förstå att C++ skiljer sig en hel del mot andra språk. Om man tar språk som Java eller C#, de här språken har ett jättebibliotek med funktionalitet som "följer med". Om man gör ett program i C# och det skall köras på en dator som måste man också installera bibliteket som finns i språket (i fallet C# är det runtimen för de språket, java har sin runtime). Installeras inte dessa kan man inte köra program i Java eller C#

Så fungerar inte C++, C++ har inget stort bibliotek som följer med. Det är bara programmet och så är det klart.
Nackdelen men den tekniken är att man behöver vara medveten om vad man kommer använda på respektive operativsystem. Windows har sina grejjer, Linux har sina.

Kompilatorn har en mycket central roll i utvecklandet i C++ applikationer, inget annat språk har en så komplex kompilator som De kompilatorer som finns för C++ och det är viktigt att förstå. Det är kompilatorn som kommer generera det som körs på respektive operativsystem. Det kan låta självklart men man bör förstå vad det innebär. Alla operativsystem har funktionalitet som applikationer använder sig av. Skall man öppna en fil, öppna fönster, allokera minne. Då måste applikationen anropa operativsystemet. Hur det skall göras behöver man "berätta för kompilatorn". Och när du inkluderar olika header filer, exmepelvis "windows.h". Det är i de här filerna som kompilatorn får information om hur den skal göra för att anropa olika saker i operativet.

Genom att berätta för kompilatorn samt att C++ har något som kallas för preprocessor. preprocessorn gör att man kan få kompilatorn att kompilera olika beroende på hur man definerat namn för preprocessorn. På det viset kan man kompilera upp ett program för olika operativsystem. Skall man göra programmet till windows kan man ställa in det via preprocessorn, skall man kompilera för linux kan man ställa in det.

Det viktiga att förstå är att man måste berätta för kompilatorn vad allt är och det görs i headerfilerna. Detta slipper man i andra språk som har massiva jättebibliotek som man måste skeppa med om ens applikation skall köras på datorn
Citera
  • 1
  • 2

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback