Gnustep Windows Installer provides a simulated development environment of objective-C on the Windows platform. There are four software packages in total,
WhereGnustep SystemAndGnustep
CoreIs mandatory,Gnustep develAndCairo
BackendIs optional.
Render manager must be installed and installed at one time, so as to avoid future troubles.
Write Hello, world!
1. After installation, add the following to the environment variable path:
C: \ gnustep \ System \ tools; C: \ gnustep \ bin; C: \ gnustep \ mingw \ bin
Run gnustep shell, that is, msys. bat in the installation directory. Test the GCC and make commands.
2: Test Procedure
Test. m
1 #import <Foundation/Foundation.h>2 int main (int argc, const char *argv[]) {3 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];4 NSLog(@"Hello World!");5 [pool drain];6 return 0;7 }
3. Enter the command in shell:
Gcc-fconstant-string-class = nsconstantstring-C testm-I/gnustep/system/library/Headers
The test.oand test.exe files are generated in the directory.
4. Configure the objective-C highlighted display in ultraedit
# Append to the end of the ultraedit configuration file
/L14 "objective-c" OBJECTIVE-C_LANG line comment = // block comment on =/* block Comment off = */escape char = \ string chars = "'string literal prefix = @ File extensions = h m mm PCH
/Delimiters = ~! @ % ^ & * ()-+ = |\/ {} []:; "'<> ,.?
/Function string = "% ^ ([a-zA-Z_0-9 ^ [^] *] + ^) [^ t] + ([^ p *&:, ^ t ^ [^] a-zA-Z_0-9.!] ++) [~;] "
/Function string 1 = "% [a-zA-Z_0-9 *] *: ^ ([a-zA-Z_0-9 ^ ~] + ^) [^ T ^ p] + + ([^ p * &:, ^ t ^ [^]/* ^-'=: & a-zA-Z_0-9./(!] ++) [~;] "
/Function string 2 = "% [a-zA-Z_0-9 ^] [a-zA-Z_0-9 ^ [^] + [^ t *] + ^ ([a-zA-Z_0-9] + ^) [^ t] + ([^ p * &:, ^ t ^ [^] a-zA-Z_0-9. /(!] ++) [~;] "
/Function string 3 = "% [a-zA-Z_0-9 * & $ ^ [^] *] + [^ t] + [a-zA-Z_0-9 * & $ ^ [^] + [^ t *] + ^ ([a-zA-Z_0-9] + ^) [^ t] + ([^ p * &:, ^ t ^ [^] a-zA-Z_0-9. /(!] ++) [~;] "
/Function string 4 = "% [a-z_0-9 ^ [^] *] + [a-z_0-9 * ^ [^] + [^ t] + [a-z_0-9 * ^ [^] + [^ t] + ^ ([* a-z_0-9] + ^) [^ t] + ([^ p * &:, ^ t ^ [^] a-z_0-9. /(!] ++) [~;] "
/Function string 5 = "% ^ ([a-zA-Z_0-9 ^ [^] *] + ^) [^ t] + + ([^ p *&:, ^ t ^ [^] a-zA-Z_0-9. /()!] ++) [~;] "
/Member string = "^ ([A-Za-z0-9 _:.] + ^) [^ t ^ * &] + $ s [^ t ^ [^] A-Za-z0-9 _] + [(-);,]"
/Variable string = "% [^ t] ++ ^ ([! -~ ^ T <>] + *[~ A-Z ^ p] ^) $ s [^ t;, () ^-]"
/Indent strings = "{"
/Unindent strings = "}"
/Open brace strings = "{""(""["
/Close brace strings = "}" ")" "]"
/Open fold strings = "{"
/Close fold strings = "}"
/C1 "keywords" style_keyword
_ Bool _ complex _ imaginary _ cmd _ FUNC __
_ ASM _ Based _ cdecl _ declspec _ partition T _ Far _ fastcall _ finally _ Fortran _ huge _ inline _ int16
_ Int32 _ int64 _ int8 _ interrupt _ leave _ loadds _ near _ Pascal _ saveregs _ segment _ segname _ Self
_ Stdcall _ Try _ uuidof _ multiple_inheritance _ single_inheritance _ virtual_inheritance
Auto do double assign
Bool break bycopy byref
Bool
Char class case const continue const_cast catch copy
Class
Defined default do double Delete dynamic_cast dllexport dllimport
Enum extern else explicit export
For float false friend
Goto Getter
Int if in inline inout ID init
IMP
Long
Mutable
Nil namespace new naked nonatomic
Nil no nsobject
Oneway out Operator
Object
Private protected public
Protocol
Return register restrict reinterpret_cast retain readwrite readonly
Self short signed sizeof static struct super switch static_cast setter
Sel
Typedef template this throw true try typeid typename thread
Union unsigned using UUID
Void volatile virtual
While wchar_t
Yes
**@#
/C2 "operators" style_operator
@
#
:
!
%
&
+
-
*
///
<
=
>
^
|
~
?
,
/C3 "Framework" style_extension
Alloc
Dealloc
Foundation
Release
** Ns ib cf ca cg ui gl eagl
/C4 "OpenGL" style_keyword
** GL