64-bit c++ target?

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

64-bit c++ target?

Cauê W.
Hey all!

For what I've seen here, we've only been able to compile the generated c++ code on a 64-bit machine when forcing it to compile as 32bit. Am I wrong? Is there any way to be able to compile the sources to true 64-bit? I'm designing an oodbms in haXe and it would be really nice to be able to use 64-bit native goodies. (And for that reason I'm building it on top of NSPR).

Thanks!

Cauê

--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: 64-bit c++ target?

Gamehaxe
Hi,
There are 2 issues with 64 bit & c++.
1 is that some people have had problems getting the thirdparty
   garbage collection to compile (maybe that was only on the latest Mac OS)
2 the standard libraries are 32 bit.  This goes for the NME graphics
   library and the "standard" ones : std, regex, zlib.

You can compile the standard ones yourself, so this is not too much
of a problem, but adding a 64 bit NME will require some effort.
This same issue goes for neko too.

I would like to see 64 bit supported - but I had trouble finding
a 64 bit virtual machine for my 32-bit windows-xp host (64 bit processor)
so it gets a bit tricky to support.

Being the slacker that I am, I would like to see Nicolas take the
lead and make  "official" linux64/mac64/windows64 neko binary directories  
and
builds.  I will then follow along.

How would you rate your c++ skills?  Because if you wanted to be the
64-bit maintainer for standard libraries and nme then I would be
happy integrate any binaries you make.

I have done some work on the hxcpp build tool, and I have found it
useful for compiling several "ndll" extensions for haxe, and think
it would be fairly easy to extend to 64-bits.

What would be really nice would be a "build server" system for
building NDLL binaries that worked like this:
Somewhere around the world, we have a mac, linux and windows box
capable of building 32bit and 64 bit dlls/executables.
The server sits and waits for a command to be entered via http.
The request consists of a login (ie, authorized user) and a svn
checkout URL.  The servers then check this url out, run the build
tool of a certain name and save the resulting exe/ndlll/build log/error log
in a database that can be accessed from the web.  Possibly, the
binary gets inserted back into SVN after passing a test suite.
So to do an update, you check the file into code.google.com and
go to some web page and hit "build".

A scheme like this would really help maintain a set of binary builds for  
haxe.

Anyhow, that is just an idea.  In answer to your question - 32 bits
it currently the only way to get graphics.  You can get 64 bit console
with a bit of DIY.

Hugh

> Hey all!
>
> For what I've seen here, we've only been able to compile the generated  
> c++
> code on a 64-bit machine when forcing it to compile as 32bit. Am I  
> wrong? Is
> there any way to be able to compile the sources to true 64-bit? I'm
> designing an oodbms in haXe and it would be really nice to be able to use
> 64-bit native goodies. (And for that reason I'm building it on top of  
> NSPR).
>
> Thanks!
>
> Cauê


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: 64-bit c++ target?

Cauê W.
Hi Hugh!

Actually my c++ skills go only far enough to be able to wrap libraries to use with haXe,  but I will surely give it a try!! It would be very cool to be able to have 64-bit -capable code! For now I still don't need 64-bit NME support, but I would be interested to compile them as well!

Also, the NSPR libs would be very useful, I think, to be available too. They provide a platform-independent way of handling guaranteed 64-bit ints and uints, using the machine's native capabilites if they are available! Also the list of platforms they can be compiled is pretty amazing! THe only thing it would be good to have in haXe is operator overloading, so working with int64's wouldn't be such a hassle as working with the int32 class !

Also, here in our company we've got two servers running 24/7, one mac server (10.5 , not snow leopard, but can compile 64-bit, I think! ) and one windows 2008 x64 . I will think of a system to make them capable of building code, without being too much of a security hole!  : ) Then, I'll be happy to make them available here.

In sum, I'll try to get them to compile, and any news or questions will be posted here! : )

Thanks a lot!

Cauê


2009/11/19 Hugh Sanderson <[hidden email]>
Hi,
There are 2 issues with 64 bit & c++.
1 is that some people have had problems getting the thirdparty
 garbage collection to compile (maybe that was only on the latest Mac OS)
2 the standard libraries are 32 bit.  This goes for the NME graphics
 library and the "standard" ones : std, regex, zlib.

You can compile the standard ones yourself, so this is not too much
of a problem, but adding a 64 bit NME will require some effort.
This same issue goes for neko too.

I would like to see 64 bit supported - but I had trouble finding
a 64 bit virtual machine for my 32-bit windows-xp host (64 bit processor)
so it gets a bit tricky to support.

Being the slacker that I am, I would like to see Nicolas take the
lead and make  "official" linux64/mac64/windows64 neko binary directories and
builds.  I will then follow along.

How would you rate your c++ skills?  Because if you wanted to be the
64-bit maintainer for standard libraries and nme then I would be
happy integrate any binaries you make.

I have done some work on the hxcpp build tool, and I have found it
useful for compiling several "ndll" extensions for haxe, and think
it would be fairly easy to extend to 64-bits.

What would be really nice would be a "build server" system for
building NDLL binaries that worked like this:
Somewhere around the world, we have a mac, linux and windows box
capable of building 32bit and 64 bit dlls/executables.
The server sits and waits for a command to be entered via http.
The request consists of a login (ie, authorized user) and a svn
checkout URL.  The servers then check this url out, run the build
tool of a certain name and save the resulting exe/ndlll/build log/error log
in a database that can be accessed from the web.  Possibly, the
binary gets inserted back into SVN after passing a test suite.
So to do an update, you check the file into code.google.com and
go to some web page and hit "build".

A scheme like this would really help maintain a set of binary builds for haxe.

Anyhow, that is just an idea.  In answer to your question - 32 bits
it currently the only way to get graphics.  You can get 64 bit console
with a bit of DIY.

Hugh


Hey all!

For what I've seen here, we've only been able to compile the generated c++
code on a 64-bit machine when forcing it to compile as 32bit. Am I wrong? Is
there any way to be able to compile the sources to true 64-bit? I'm
designing an oodbms in haXe and it would be really nice to be able to use
64-bit native goodies. (And for that reason I'm building it on top of NSPR).

Thanks!

Cauê


--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: 64-bit c++ target?

gershon
Working on 64bit linux i've run into the same problems mentioned here, my workaround was to use a 32bit "chroot jail", and wanted to ask for more info on if and how NSPR can be used to solve this, 10x.

On Thu, Nov 19, 2009 at 5:41 PM, Cauê Waneck <[hidden email]> wrote:
Hi Hugh!

Actually my c++ skills go only far enough to be able to wrap libraries to use with haXe,  but I will surely give it a try!! It would be very cool to be able to have 64-bit -capable code! For now I still don't need 64-bit NME support, but I would be interested to compile them as well!

Also, the NSPR libs would be very useful, I think, to be available too. They provide a platform-independent way of handling guaranteed 64-bit ints and uints, using the machine's native capabilites if they are available! Also the list of platforms they can be compiled is pretty amazing! THe only thing it would be good to have in haXe is operator overloading, so working with int64's wouldn't be such a hassle as working with the int32 class !

Also, here in our company we've got two servers running 24/7, one mac server (10.5 , not snow leopard, but can compile 64-bit, I think! ) and one windows 2008 x64 . I will think of a system to make them capable of building code, without being too much of a security hole!  : ) Then, I'll be happy to make them available here.

In sum, I'll try to get them to compile, and any news or questions will be posted here! : )

Thanks a lot!

Cauê


2009/11/19 Hugh Sanderson <[hidden email]>

Hi,
There are 2 issues with 64 bit & c++.
1 is that some people have had problems getting the thirdparty
 garbage collection to compile (maybe that was only on the latest Mac OS)
2 the standard libraries are 32 bit.  This goes for the NME graphics
 library and the "standard" ones : std, regex, zlib.

You can compile the standard ones yourself, so this is not too much
of a problem, but adding a 64 bit NME will require some effort.
This same issue goes for neko too.

I would like to see 64 bit supported - but I had trouble finding
a 64 bit virtual machine for my 32-bit windows-xp host (64 bit processor)
so it gets a bit tricky to support.

Being the slacker that I am, I would like to see Nicolas take the
lead and make  "official" linux64/mac64/windows64 neko binary directories and
builds.  I will then follow along.

How would you rate your c++ skills?  Because if you wanted to be the
64-bit maintainer for standard libraries and nme then I would be
happy integrate any binaries you make.

I have done some work on the hxcpp build tool, and I have found it
useful for compiling several "ndll" extensions for haxe, and think
it would be fairly easy to extend to 64-bits.

What would be really nice would be a "build server" system for
building NDLL binaries that worked like this:
Somewhere around the world, we have a mac, linux and windows box
capable of building 32bit and 64 bit dlls/executables.
The server sits and waits for a command to be entered via http.
The request consists of a login (ie, authorized user) and a svn
checkout URL.  The servers then check this url out, run the build
tool of a certain name and save the resulting exe/ndlll/build log/error log
in a database that can be accessed from the web.  Possibly, the
binary gets inserted back into SVN after passing a test suite.
So to do an update, you check the file into code.google.com and
go to some web page and hit "build".

A scheme like this would really help maintain a set of binary builds for haxe.

Anyhow, that is just an idea.  In answer to your question - 32 bits
it currently the only way to get graphics.  You can get 64 bit console
with a bit of DIY.

Hugh


Hey all!

For what I've seen here, we've only been able to compile the generated c++
code on a 64-bit machine when forcing it to compile as 32bit. Am I wrong? Is
there any way to be able to compile the sources to true 64-bit? I'm
designing an oodbms in haXe and it would be really nice to be able to use
64-bit native goodies. (And for that reason I'm building it on top of NSPR).

Thanks!

Cauê


--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: 64-bit c++ target?

Cauê W.
Hey, gershon!

Well, actually I'm going to use NSPR to be able to get a consistent 64-bit Int and Uint across all compilable platforms. If the platform can be compiled in 64-bit, the use of int64 is native.

But I don't know what kind of problems may come into compiling all std libraries as 64-bit. NSPR -could- be of some help there, since they have a std library of their own, with threads, locks, network support for ipv4 and ipv6, file access with 64-bit support, etc. But I don't think it would be a great way out, since it handles things differently from neko/cpp standard libs.

But I'm planning to wrap the NSPR library anyway, but only to add features that are currently missing, like a consistent cross-platform 64-bit int/uint , file access with 64-bit addressing (no more limiting to 2gb files), etc. I don't think I will touch the threads' features, though.

cheers!

Cauê


2009/11/19 gershon <[hidden email]>
Working on 64bit linux i've run into the same problems mentioned here, my workaround was to use a 32bit "chroot jail", and wanted to ask for more info on if and how NSPR can be used to solve this, 10x.

On Thu, Nov 19, 2009 at 5:41 PM, Cauê Waneck <[hidden email]> wrote:
Hi Hugh!

Actually my c++ skills go only far enough to be able to wrap libraries to use with haXe,  but I will surely give it a try!! It would be very cool to be able to have 64-bit -capable code! For now I still don't need 64-bit NME support, but I would be interested to compile them as well!

Also, the NSPR libs would be very useful, I think, to be available too. They provide a platform-independent way of handling guaranteed 64-bit ints and uints, using the machine's native capabilites if they are available! Also the list of platforms they can be compiled is pretty amazing! THe only thing it would be good to have in haXe is operator overloading, so working with int64's wouldn't be such a hassle as working with the int32 class !

Also, here in our company we've got two servers running 24/7, one mac server (10.5 , not snow leopard, but can compile 64-bit, I think! ) and one windows 2008 x64 . I will think of a system to make them capable of building code, without being too much of a security hole!  : ) Then, I'll be happy to make them available here.

In sum, I'll try to get them to compile, and any news or questions will be posted here! : )

Thanks a lot!

Cauê


2009/11/19 Hugh Sanderson <[hidden email]>

Hi,
There are 2 issues with 64 bit & c++.
1 is that some people have had problems getting the thirdparty
 garbage collection to compile (maybe that was only on the latest Mac OS)
2 the standard libraries are 32 bit.  This goes for the NME graphics
 library and the "standard" ones : std, regex, zlib.

You can compile the standard ones yourself, so this is not too much
of a problem, but adding a 64 bit NME will require some effort.
This same issue goes for neko too.

I would like to see 64 bit supported - but I had trouble finding
a 64 bit virtual machine for my 32-bit windows-xp host (64 bit processor)
so it gets a bit tricky to support.

Being the slacker that I am, I would like to see Nicolas take the
lead and make  "official" linux64/mac64/windows64 neko binary directories and
builds.  I will then follow along.

How would you rate your c++ skills?  Because if you wanted to be the
64-bit maintainer for standard libraries and nme then I would be
happy integrate any binaries you make.

I have done some work on the hxcpp build tool, and I have found it
useful for compiling several "ndll" extensions for haxe, and think
it would be fairly easy to extend to 64-bits.

What would be really nice would be a "build server" system for
building NDLL binaries that worked like this:
Somewhere around the world, we have a mac, linux and windows box
capable of building 32bit and 64 bit dlls/executables.
The server sits and waits for a command to be entered via http.
The request consists of a login (ie, authorized user) and a svn
checkout URL.  The servers then check this url out, run the build
tool of a certain name and save the resulting exe/ndlll/build log/error log
in a database that can be accessed from the web.  Possibly, the
binary gets inserted back into SVN after passing a test suite.
So to do an update, you check the file into code.google.com and
go to some web page and hit "build".

A scheme like this would really help maintain a set of binary builds for haxe.

Anyhow, that is just an idea.  In answer to your question - 32 bits
it currently the only way to get graphics.  You can get 64 bit console
with a bit of DIY.

Hugh


Hey all!

For what I've seen here, we've only been able to compile the generated c++
code on a 64-bit machine when forcing it to compile as 32bit. Am I wrong? Is
there any way to be able to compile the sources to true 64-bit? I'm
designing an oodbms in haXe and it would be really nice to be able to use
64-bit native goodies. (And for that reason I'm building it on top of NSPR).

Thanks!

Cauê


--
haXe - an open source web programming language
http://haxe.org


--

haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org