[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [CPROG] Hvor starter man



Egon Petersen wrote:

Hej med jer

Her kommer lige noget der kunne opfattes som et surt opstød, men det er
faktisk et råb om hjælp.

Jeg har i nogen tid beskæftiget mig med C-programmering med MS Visual C++
6.0, men vil da gerne prøve kræfter med C-programmering på Linux.

Jeg gik ind på www.linuxbog.dk og læste Friheden til programmering og
Friheden til C programmering. Det kom jeg kun lidt videre med. Jeg fandt ud
af at man kan bruge gcc som compiler (og linker?), men det var også det.
Så lavede jeg et simpelt Hello World program med en printf(), og jeg fik en
warning om main og return der ikke hang sammen, selv om jeg havde lavet en
return sætning til sidst.

Men jeg står stadig og kan ikke se fordelen ved at skifte til C på Linux. Et
simpelt program kan ikke køre uden warning, der er ingen særlig god editor,
hvor får man hjælp? Ja jeg kunne blive ved lidt endnu.

Er der nogen af jer der give lidt hints?

Egon Petersen




Da du kommer fra en baggrund i en IDE, vil det nemmeste for dig nok være at anskaffe en IDE til linux, der er
forskellige muligheder, bla Codewarrior, Borland C++Builder (tror jeg den hedder), eller opensorce (gratis)
Kdevelop. Disse giver dig et miljø tæt på hvad du er vant til.


Ellers hvis du vil prøve hardcore programmering, er det bare et spørgsmål om at vælge en editor man kan lide,
feks, vi/vim, emacs, joe, osv.. Der er mange muligheder på linux.


Dit problem med gcc ligger bund og grund i at gcc checker for mange flere programmerings "fejl" end visual c++
gør, derfor vil du finde at hvis du skriver kode som compiler med Visual C++ er det ikke sikker at gcc godtager
det uden at give dig warnings. Hvis du programmer med -Wall (som jeg altid gør), vil du finde meget code
som er skrevet på windows, og compiler rent, indeholder mange warnings af mindre eller større betydning.


Jeg har ofte benytted gcc -Wall -Werror til at chekke code som vi har underlige problemer med på windows,
når det så compiler rent på gcc, finder vi mange gange at den runtime fejl vi havde, var forsvundet.


Nå men tilbage til dit spørgsmål.

1. Vælg dit miljø -> ide eller command line

1.1 IDE -> Så er du oppe og kører, men ikke mange valgmuligheder, alt er givet.

1.2 command line
1.2.1. Vælg en editor du kan lide. Jeg personligt benytter vim (pga vi eksistere på all UNIX systemer, og vim har
syntax highlighting), andre kan lide emacs, men emacs er lidt af en stor monstrom (19Mb installation)
1.2.2 Vælg en make du kan lide (de fleste benytter gmake - default for linux).
1.2.3 Vælg en debugger/debugger interface (gdb er lidt smertefuldt for begynder at bruge)



Men hovedet sageligt skal du lære at skrive mere korret kode, og helst uden at tage ting for givet. feks.


   /void *ptr;
   /


hvad værdi har ptr nu ?


På windows visual C++ (I386) plejer den at få værdien NULL, men Visual C++ (arm) er den ukendt, og
på gcc er den ukendt.. (defn. af sådan en declaration er at den har en ukendt værdi).


derfor hvis du checkker på værdien

/if (ptr != NULL) {blah}/


Vil du se gcc sige "possibly uninitialized variable used", og Visual C++ vil ikke sige noget (min erfaring
med visual C++).


[Dette er et eksempel jeg har støt på for ikke så længe siden, det er også derfor jeg ofte
benytter GCC for at checkke code, når folk kommer med et program der har runtime
fejl]


Disse små forskelle er som regl hvorfor du ser at mange stykker kilde ikke compiler rent,
det er fordi at gcc er meget mere verbose, mht til små warnings, end andre compilers,
men tilgengæld, lærer du at skrive kilde til gcc, som ikke laver warnings, bliver du en
bedre C/C++ programmør.


mvh
   Michael Nielsen.


 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2005-08-10, 20:09 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *