June 29, 2004
tja...
jag har nyligen börjat med C++ fast på en annan dator...
jag programmerar för övrigt nu i Dev-C++ och jag kan ju spara exe filer osv
men när jag trycker på dom så kommer ett system medelande upp med
'sökvägen' är inte ett giltigt Win-32 program
vad gör jag fel?
det funkar även inte om jag gör en så enkel kod som:
main (); //1
{
printf ("blablabla"); //2
return 0;
}
är det nått fel i koden???
September 13, 2001
Tovedal wrote: tja...
jag har nyligen börjat med C++ fast på en annan dator...
jag programmerar för övrigt nu i Dev-C++ och jag kan ju spara exe filer osv
men när jag trycker på dom så kommer ett system medelande upp med
'sökvägen' är inte ett giltigt Win-32 program
vad gör jag fel?det funkar även inte om jag gör en så enkel kod som:
int main ();<--- ta bort ";" //1
{
printf ("blablabla"); //2
return 0;
}är det nått fel i koden???
Har du inkluderat stdio.h ?
Sen "sparar" man inte exefiler i ett IDE.
Dev-C++ är mycket obehagligt, brukar starta det i skolan av misstag.
Kör MVS istället, förmodligen det enda programmet MS verkligen lyckats med.
Kan ju dessutom lägga till att din kod inte är C++, utan C.
September 28, 2003
#include <iostream.h> //bibliotek
int main()
{
cout << "blanda inte ihop C och C++" << endl; //cout=c++'s motsvarighet till printf
return 0; //om du ska ha int före main()
}
då ska du få upp en text: "blanda inte ihop C och C++" på skärmen
så tror jag väl det ska vara man är ju rätt rostig på koden ändå
September 13, 2001
Tovedal wrote: och nu blir jag förvirrad.. så det jag skrev var C lr C++ ?
och kan nån ge mig en kod som jag kan prova och säga vilket det är C lr C++
Här har du två lite halvsmutsiga exempel.
// OOP i C# ( Detta kan du jämföra med C++ )
using System;
namespace Csharp_test
{
class Class1
{
[STAThread] static void Main(string[] args)
{
Class2 asdf = new Class2();
asdf.print();
}
}
class Class2
{
public void print()
{
Console.WriteLine("Hello World!");
}
}
}
// ######################################
// C
#include <stdio.h>
void main( void )
{
printf("Hello Worldn");
}
Skrev i C# för jag orkar inte C++ just nu, men det är liknande.
C++ har en massa arv från C vilket gör att du kan kompilera C program i en C++ kompillator.
C# exemplet kan verka som det onödigt mycket kod för en så trivial uppgift, fast jag hade iofs inte behövt skriva Class2.
C# och C++ är objektorienterade språk där man bakar in en massa saker i ett objekt ( inte helt olikt en struct ).
Bara för att klargöra så att du inte missförstod, MVS = Microsoft Visual Studio. Dev-C++ duger utmärkt för din del.
Det det är bara jag som är kräsen :-), har lite svårt för alla fula knappar mm mm i Dev-c++.
September 13, 2001
Kom på att det finns ju en massa fördefinierade macros du kan testa.
http://msdn.microsoft.com/libr.....macros.asp
Inte testat detta själv, men testa denna koden i ditt program.
#ifdef __cplusplus
printf("detta är c++n");
#endif
Jag brukar ibland själv använda liknande saker tex.
#ifdef _DEBUG
printf("Ngn debug infon");
#endif
eller
#ifdef WIN32
// win specifika saker
elif __linux // <-- kommer inte ihåg ifall detta stämmer, men det är ngt liknande
// samma saker fast för linux
#endif
vilket gör koden lite mer platformsoberoende.
January 15, 2004
fastbullit wrote:
#include <iostream.h> //bibliotek
int main()
{
cout << "blanda inte ihop C och C++" << endl; //cout=c++'s motsvarighet till printf
return 0; //om du ska ha int före main()
}
då ska du få upp en text: "blanda inte ihop C och C++" på skärmen
så tror jag väl det ska vara man är ju rätt rostig på koden ändå
Nu är jag gnällig och pendantisk som f*n men jag hittar 2 fel.
när du inkluderar iostream så ska det stå
#include <iostream> // alltså inget .h på slutet
#include "foo.h" //här ska man däremot ha .h på slutet.
cout och endl är definierade i namespacet std så för att komma åt dom måste du skriva
using namespace std;
eller
std::cout << "blanda inte ... " std::endl;
September 13, 2001
Tovedal wrote: men vad är bäst då? C, C++ lr C-sharp..
jag antar att C-sharp lr C# kommer att slå igenom.. men vad är bäst?
och allt det här ni harskrivit, löser detmina WIN-32 problem ???
Det beror helt på vad vi vill göra. Bäst är svårt att säga. Därimot så kan man ju säga att C# är det nyaste och fräshaste språket.
Ifall det löser dina problem har jag ingen aning om, du får väl testa.
September 28, 2003
ren wrote: [quote=fastbullit]
#include <iostream.h> //bibliotek
int main()
{
cout << "blanda inte ihop C och C++" << endl; //cout=c++'s motsvarighet till printf
return 0; //om du ska ha int före main()
}
då ska du få upp en text: "blanda inte ihop C och C++" på skärmen
så tror jag väl det ska vara man är ju rätt rostig på koden ändå
Nu är jag gnällig och pendantisk som f*n men jag hittar 2 fel.
när du inkluderar iostream så ska det stå
#include <iostream> // alltså inget .h på slutet
#include "foo.h" //här ska man däremot ha .h på slutet.
cout och endl är definierade i namespacet std så för att komma åt dom måste du skriva
using namespace std;
eller
std::cout << "blanda inte ... " std::endl;
äh fan vet jag... att vara absolut korrekt är inte min grej när det gäller sånt här 😉
August 9, 2001
Tovedal, jag tror de har missuppfattat din fråga.. jag gissar på fel i kompilatorn/länkaren.. har du testat ladda ner DEV-C++ och installerat igen?
Ta Nytt Projekt, Console Application och testa bara ett av de simplaste programmen som gör något:
#include
int main(){
printf("mm");
getchar(); //EDIT: "pause" är en dålig vana jag har, är förstås ett WIN32-kommando
return 0;
}
Det där med "filen är ej ett giltigt win32-program" kan komma pga bitfel, möjligtvis kanske med virus i kompileraren/länkaren men är inte säker vad din orsak är. Men testa ladda ner/ installera igen, jag kör själv
Bloodshed Dev-C++ (jag antar det är det du menar), version 4.9.9.0 och kan säga att det är totalt underbart. Då har jag också laglig fullversion av MS Visual Studio .NET 2003 men jag föredrar bloodshed
1 Guest(s)