t0 wrote:
Do you guys actually have any experience developing apps on both Windows and *nix? I do, and I've got to be honest that the stuff you guys come up with seems really bizzare and perhaps over-paranoid.
Yes. Though nothing worth mentioning. My stuff is private to a group of my friends.
You have to understand where we are coming from. In linux the libraries, compilers and IDEs are LGPL which allows one to derive closed source applications. Once you incorporate GPL stuff, all derived work has to be GPL as well. So when we see a closed source DLL(or really, the code inside it), we naturally think that its precedent license will unduly constrict our work. The fact that the GPL exists at all suggests that this is a valid concern.
Anyway, effectively what you are talking about with cross platform is two applications with closely matched functionality.
When I wanted to write a DLL based on my collection of linux functions, I found that I had to massively rewrite it, despite the fact that in linux it was just a text file of functions.
To build a shared object, the linux equivalent of a DLL, it took all of two lines in terminal. Windows, it seems, takes 17 discrete steps according to the easiest tutorial I managed to find. Plus I had to write extra stuff into the file.
The linux SO was just a collection of functions. example:
Quote:
// not that I need to create a sum function - this is just an example
int sum(int a, int b){ return a+b; }
// followed by other crap
and to compile it to a shared object?
Quote:
gcc -fPIC -c myfuncs.c
gcc -shared myfuncs.o -o funclib.so
yeah, I could assign the script to a button. No need for terminal work. This shared object will work with c, c++, python... just about anything.
In a windows DLL however, it seems i have to specify exports and do all sorts of esoteric stuff. Example of a hello world dll?
http://www.rgagnon.com/pbdetails/pb-0123.html
The point is, a port either takes a bunch of butchery to get it from windows(almost a total rewrite) or the addition of a bunch of extra code clutter to get it from linux to windows. Needless to say I'd rather go from linux code to windows. Once you start tearing chunks out of your application, things go bad fast. This seems to be a trend with professionals as well, as a lot of games are developed for windows using linux machines.
Are the pros onto something?
_________________
davidred wrote...
I installed Ubuntu once and it completely destroyed my paying relationship with Microsoft.