| www.delorie.com/archives/browse.cgi | search |
| X-Authentication-Warning: | delorie.com: mail set sender to djgpp-bounces using -f |
| From: | Cesar Rabak <csrabak AT yahoo DOT com DOT br> |
| Newsgroups: | comp.os.msdos.djgpp |
| Subject: | Re: question about Objective C |
| Date: | Thu, 27 Apr 2006 18:31:38 -0300 |
| Organization: | Aioe.org NNTP Server |
| Lines: | 95 |
| Message-ID: | <e2rcue$5va$1@emma.aioe.org> |
| References: | <397 DOT 209602d DOT 318278dc AT cs DOT com> |
| NNTP-Posting-Host: | RlVd++5HrKvzofRtoX/5wQ.user.aioe.org |
| Mime-Version: | 1.0 |
| X-Complaints-To: | abuse AT aioe DOT org |
| In-Reply-To: | |
| X-Accept-Language: | pt-br, pt |
| User-Agent: | Mozilla Thunderbird 1.0.6-6mdk (X11/20050322) |
| To: | djgpp AT delorie DOT com |
| DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
| Reply-To: | djgpp AT delorie DOT com |
KTrumpetsRule AT cs DOT com escreveu:
> I was trying to look at Objective C. I downloaded all the latest components
> via zip picker, installed them all in c:\djgpp.
>
> The program I tried was an example from one of the tutorials on the web.
> Here is main.m:
>
> // This will create a printer object, set it's string and tell it to print
> #import "printer.h"
> void main()
Change this to:
main()
> {
> id printer = [[Printer alloc] init];
> [printer addStringValue:"Hello World!"];
> [printer print];
> [printer free];
> }
>
You use both capitalized 'Printer.h' and lowercase 'printer.h' and this
will bite you someday.
> Here is printer.m:
>
> #import "Printer.h"
> @implementation Printer
> - init
> {
> [super init];
> [self clear];
> return self;
> }
> - addStringValue:(const char*)astring
> {
> strcat(buffer, astring);
> return self;
> }
> - print
> {
> printf("%s\n",buffer);
> [self clear];
> return self;
> }
> - clear
> {
> strcpy(buffer, "");
> return self;
> }
> @end
>
> Here is printer.h:
>
> #import <objc/Object.h>
> @interface Printer : Object
> {
> char buffer[100];
> }
> - init;
> - addStringValue:(const char*)astring;
> - print;
> - clear;
> @end
>
> Here's what I use to compile the above. Maybe this is where the problem lies
> as I'm not sure how the Objective C switches work. I downloaded a copy of
> the 4.10 compiler docs and couldn't find much help in them.
>
Make the following changes:
> main.exe: main.o printer.o
> gcc -o main.exe printer.o
gcc -o main.exe main.o printer.o -lobjc
>
> printer.o : printer.m printer.h
> gcc -c -pedantic -ansi -Wno-import -lobjc -fgnu-runtime printer.m
gcc -c -Wno-import -fgnu-runtime printer.m
>
> main.o : main.m printer.h
> gcc -c -pedantic -ansi -Wno-import -lobjc -fgnu-runtime main.m
gcc -c -Wno-import -fgnu-runtime main.m
>
[snipped]
Should compile now.
HTH
--
Cesar Rabak
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |