sockod Δημοσ. 17 Δεκεμβρίου 2006 Δημοσ. 17 Δεκεμβρίου 2006 Geia se olous thelw na grapsw mia sinartisi se glwssa C# tin akolouthi diladi kai mou vgazei to eksis lathos: "Linker Error: Undefined symbol '_main' in module COC" #include<stdio.h> int power(int base, int n); { int i, p; p = 1; for (i = 1; i <= n; ++ i) p = p * base; return p; } /* Please help me gia na sinexisw Thanx ALL */
dalton85 Δημοσ. 17 Δεκεμβρίου 2006 Δημοσ. 17 Δεκεμβρίου 2006 int power(int base, int n); vgale to erwtimatiko. etsi termatizeis ti sunartish ekei
Directx Δημοσ. 18 Δεκεμβρίου 2006 Δημοσ. 18 Δεκεμβρίου 2006 Δεν πολύ ασχολούμαι με το .NET και την C# μπορείς όμως να δοκιμάσεις την παρακάτω ρουτίνα, όπου ουσιαστικά ορίζουμε αντί int (32bit) Double για μεγαλύτερη ακρίβεια ενώ ορίζουμε εξ' αρχής τις τιμές των μεταβλητών μας ώστε να μην παραπονείται ο C# compiler. > Double power(Double Base, Double N) { Double i = 1, p = 1; for (; i <= N; i++) p *= Base; return p; } Τέλος εναλλακτικά μπορείς να δεις την Math.Pow(B,N). Υ.Γ. Η ρουτίνα δοκιμάστηκε σε MS-Visual C# 2005 Express.
espe Δημοσ. 18 Δεκεμβρίου 2006 Δημοσ. 18 Δεκεμβρίου 2006 >#include<stdio.h> δουλευει αυτο σε C#?? Αν δε κανω λαθος η C# χρησιμοποει τα using...
tsipouro Δημοσ. 18 Δεκεμβρίου 2006 Δημοσ. 18 Δεκεμβρίου 2006 Το base πρέπει να αλλάξει όνομα (είναι δεσμευμένη λέξη). Πρέπει να φύγει το include και Πρέπει να αφαιρεθεί το ερωτηματικό από την δήλωση της συνάρτησης
sockod Δημοσ. 18 Δεκεμβρίου 2006 Μέλος Δημοσ. 18 Δεκεμβρίου 2006 Sas euxaristw olous prokatavolika. Espe doueei o inlude sthn C#. Na episimanw pws prokeite gia turbo C# me borland compiler. Tsipoure moiazeisi swstos to exeis trekei?
Directx Δημοσ. 18 Δεκεμβρίου 2006 Δημοσ. 18 Δεκεμβρίου 2006 Δεν έχω δουλέψει με την υλοποίηση της C# από την Borland (C# Builder και Turbo C#) αλλά όσον αφορά την ρουτίνα έχω την εντύπωση ότι μάλλον δεν γράφεις σε C# αλλά σε C/C++ (Turbo C/C++) καθώς ο αρχικός κώδικας δεν περνά σε Microsoft Visual C# καθόλου. Συγνώμη αν κάνω λάθος.
sockod Δημοσ. 19 Δεκεμβρίου 2006 Μέλος Δημοσ. 19 Δεκεμβρίου 2006 Arxika sorry gia to teleuteo minima mou pou paraleipontai grammata apo tis lekseis apla to egrapsa apo to krevati mou me to asirmato mouse xrisimopoiontas to on screen keybord giati den mporousa na sikothw.. Directx exeis kapoio dikio ti routina tin exw grapsei se turbo C. To # simenei oti den einai ++ den nomizw na iparxei diafora se turbo C kai turbo C# allwste o compiler den metraei? Telos pantwn apo pou mporw na katevasw to microsoft studio? Apla ektos apo to desktop exw ki ena notebook prepei na einai poli panw apo 10 etias epese sta xeria mou tixaia kai to mono leitourgiko pou mporei na sikwsei einai ta 3.11.. Etsi (afou ta egkatestisa meta apo poli kopo) apo ekei trexw kapoies mikroefarmoges opws tin c pou sas eipa tin basic qbasic kai xrisimopoiw ton keimenografo gia na etoimasw tin ptixiaki mou otan varieme na eimai stin karekla.. Telos anestisa to norton commander.. Thank you all gia tin sinisfora sas..
Directx Δημοσ. 19 Δεκεμβρίου 2006 Δημοσ. 19 Δεκεμβρίου 2006 Άλλο η C# και άλλο οι "C / C++" καθώς είναι πολύ διαφορετικές γλώσσες μεταξύ τους παρ' όλο που έχουνε κοινή ονομασία C. Αν ενδιαφέρεσαι για την MS Visual C# 2005 μπορείς να κατεβάσεις την ελεύθερη έκδοση της (C# Express) από εδώ:http://msdn.microsoft.com/vstudio/express/visualcsharp/default.aspx. Καλή συνέχεια.
alkisg Δημοσ. 20 Δεκεμβρίου 2006 Δημοσ. 20 Δεκεμβρίου 2006 Na episimanw pws prokeite gia turbo C# me borland compiler. Αν πρόκειται για μηχάνημα δεκαετίας, μάλλον πρόκειται για Turbo C για DOS. Μπλε φόντο δεν έχει το παράθυρο που γράφεις κώδικα; Φέτος η Borland έβγαλε και Turbo C#, αλλά χρειάζεσαι καινούργιο μηχάνημα με 2000/XP για να την τρέξεις. Το μήνυμα (εκτός των άλλων λαθών) είναι επειδή στη C είναι απαραίτητη η main για να δημιουργηθεί εκτελέσιμο. Εσύ τελικά τι γλώσσα θέλεις να δουλέψεις; C, C++ ή C#; Γιατί C# με compiler δεκαετίας δε γίνεται, δεν υπήρχε τότε η γλώσσα... Άσε που ούτε να τρέξεις προγράμματα που έχουν φτιαχτεί σε C# δεν μπορείς, αφού δεν μπορείς να εγκαταστήσεις .NET framework..
sockod Δημοσ. 20 Δεκεμβρίου 2006 Μέλος Δημοσ. 20 Δεκεμβρίου 2006 Nai re alkisg iparxei kai i main entaksei apla den tin egrapsa sto forum apo viasini.. Ksigithika re file turbo c to trexw se win 3.11 apisteuto? mono auto kai tin qbasic mporw na treksw opote opws fadazesai einai dekaetias mple fonto klp ki o pio diskolos - spastikos tropos gia na programmatiseis logo compiler.. Orea ksigithikes me tin turbo C# pou evgale i borland tha tin psaksw thanx exw allwste kai desktop pera apo to arxaiologiko notebook pou trexei ta panta sxedon.. Thanx again ki an mporeis na to trexeis esi to programmataki se turbo C dekaetias pes mou na to diorthwsw. Isws paizei rolo ki o compiler thanx anyway olous..
sockod Δημοσ. 21 Δεκεμβρίου 2006 Μέλος Δημοσ. 21 Δεκεμβρίου 2006 ok tha grapsw dio programmata pou vgazoun peripou to idio lathos.. 1) #include<stdio.h> int power(int m, int n); main() { int i; for(i = 0; i < 10; ++i) printf("%d %d %d\n", i, power(2,i), power(-3,i)); return 0; } 2) int power(int base, int n) { int i, p; p = 1; for(i = 1; i <= n; ++i) p = p * base; return p; } Einai swstes ki oi dio routines ( mesa apo vivlio) o compiler den vgazei lathos kai vgazei lathos otan to trexw (Linker error: Undefined symbol '_main' stin mia kai undefined symbol '_power' sthn alli in module CO) .. An mporeite na voithisete thanx all ok..
sockod Δημοσ. 21 Δεκεμβρίου 2006 Μέλος Δημοσ. 21 Δεκεμβρίου 2006 ok tha grapsw dio programmata pou vgazoun peripou to idio lathos.. 1) #include<stdio.h> int power(int m, int n); main() { int i; for(i = 0; i < 10; ++i) printf("%d %d %d\n", i, power(2,i), power(-3,i)); return 0; } 2) int power(int base, int n) { int i, p; p = 1; for(i = 1; i <= n; ++i) p = p * base; return p; } Einai swstes ki oi dio routines ( mesa apo vivlio) o compiler den vgazei lathos kai vgazei lathos otan to trexw (Linker error: Undefined symbol '_main' stin mia kai undefined symbol '_power' sthn alli in module CO) .. An mporeite na voithisete thanx all ok..
Directx Δημοσ. 21 Δεκεμβρίου 2006 Δημοσ. 21 Δεκεμβρίου 2006 Στην δικιά μου DOS Borland Turbo C++ 3.0 το πρόγραμμα περνά σωστά (αν και θα άλλαζα το main σε int main), οπότε μάλλον υπάρχει κάποιο σφάλμα στις ρυθμίσεις του IDE.. Μια απλή ιδέα διότι έχω πολύ καιρό να ασχοληθώ με το συγκεκριμένο εργαλείο: Μάρκαρε από το Options->Linker->Libraries το Standard Run Time, άσε τις υπόλοιπες επιλογές ξεμαρκαρισμένες. Υ.Γ. Υποθέτω πως και οι δυο κώδικες είναι στο ίδιο αρχείο δηλωμένα, δηλαδή σε μορφή: > #include <stdio.h> int power(int m, int n); int main() { int i; for(i = 0; i < 10; ++i) printf("%d %d %d\n", i, power(2,i), power(-3,i)); return 0; } int power(int base, int n) { int i, p; p = 1; for(i = 1; i <= n; ++i) p = p * base; return p; } ΠΡΟΣΟΧΗ: Διαφορετικά, αν απλά δηλώσεις την _power σε άλλο αρχείο (δίχως να την συμπεριλάβεις σε κάποιο αρχείο main) φυσικά ο linker θα παραπονεθεί πως λείπει η _main στο c0.asm (διότι προφανώς δεν φτιάχνεις βιβλιοθήκη) και φυσικά αν δεν δηλώνεις την _power (ή το αρχείο της -#include) στον κώδικα του main αλλά την καλείς από εκεί θα έχεις Undefined Symbol _power in module ! Σε αυτή την περίπτωση δεν υπάρχει πρόβλημα στο IDE αλλά στην δομή του προγράμματος, ελπίζω να γίνομαι κατανοητός.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.