How minimal I can go using D on GDC?
Iain Buclaw
ibuclaw at ubuntu.com
Sun May 12 08:26:52 PDT 2013
On 12 May 2013 15:41, Rel <relmail at rambler.ru> wrote:
> Benjamin Thaut, yes I know. but here is an example, if I add a class to
> the code like that:
>
>
> module main;
>
> extern (C) void* _Dmodule_ref = null;
> extern (C) void printf(const char*, ...);
>
> extern (C) void puts(const char*);
> extern (C) void exit(int);
>
> class A {
> int a = 100;
> int b = 200;
>
> };
>
> extern (C) void main() {
> scope(exit) {
> puts("Exiting!");
> exit(0);
> }
>
> A a; printf("%d %d\n", a.a, a.b);
> }
>
This code won't work. classes are reference types and need to be
initialised with 'new'. This requires TypeInfo_Class information to
do... You could possible use 'scope A a = new A'. But again your going
into the bounds of needing rtti for the initialiser var to assign it on the
stack.
Structs would be your friend here...
--
Iain Buclaw
*(p < e ? p++ : p) = (c & 0x0f) + '0';
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/d.gnu/attachments/20130512/29e28d99/attachment.html>
More information about the D.gnu
mailing list