Pre-sales questions

Hello,

I’m a long-time Visual C/C++, VB6 and C# user, and am looking for a new multi-platform RAD system.
There aren’t many viable ones around outside of .NET, so here I am asking questions.

First, are there any documents that give specific details on compiler switches and optimizations? Most of my intended work for this would be DSP and visualizations thereof - terraflops of both double and single-precision math and the graphic means to develop both static and realtime plots. Specific things of interest are (on x86) (1) whether SIMD math is supported and if so what rounding models, (2) for x87 FPU ops what options are available

The next most important question is the performance of graphics primitives. Are any hardware-accelerated methods offered?

Next question is about external library access.
(x86 Windows) : I saw in a doc on this site that there’s a compiler pragma for switching between cdecl and stdcall conventions. Is that pragma a once-per-project setting, or can it be wrapped around prototypes for groups of calls into both cdecl and stdcall functions in the same app?
(x86 Linux) Are .so libraries supported?
(ARM): Are Linux .so libraries supported on RPI?

Last questions, threading:
(x86) I saw threading is supported on Windows, but I didn’t have time to dig in. Is threading supported on Linux? If so is it compatible with pthread, or ??
(ARM) Is threading supported on RPI, and as above what model?

Not all of the above are show-stoppers, but the more positive answers the more inclined I would be to take on the learning curve. :slight_smile:

Thanks!
–jim

Download Xojo and try it yourself… for FREE

I don’t have the specific answers to your questions, as I left VB far behind many years ago… but I think you will find that anything you could do with VB you can do with Xojo and so much more.

Xojo for 64-bit does use LLVM compiler with optimization. You can select only between the three levels.

no SIMD and FTP for double should be used automatically.
Plugins and shared libraries used can of course use any C++ compiler optimization.

you can define stdcall/cdecl per method you like to be called from a DLL.

For Linux: Yes, you can call into .so files. For ARM and x86
Threading is done on Linux with pthread.

In general Raspberry Pi is same as x86.

quote=386599:@James Barber I saw threading is supported on Windows, but I didn’t have time to dig in. Is threading supported on Linux? If so is it compatible with pthread, or ??
(ARM) Is threading supported on RPI, and as above what model?[/quote]
Yes to both. All threading in Xojo is cooperative.

Thanks for the quick and concise replies!

I’ll sign up for a subscription today. The bigger challenge will be finding the time to learn the ropes… :wink:

–jim

[quote=386628:@James Barber]Thanks for the quick and concise replies!

I’ll sign up for a subscription today. The bigger challenge will be finding the time to learn the ropes… :wink:

–jim[/quote]
That is what this community is all about

Watch a few webinars, come to a conference and ask your questions. This community is great!

Welcome to Xojo! This community is really good about answering questions - especially if you tell us what you’ve tried first and what documentation you don’t understand.

As Christian says - the Xojo Facebook channel is a great source of both getting your feet wet and deep diving into Xojo.

Really?
I would say the forum is better than Facebook page!?

[quote=386651:@Christian Schmitz]Really?
I would say the forum is better than Facebook page!?[/quote]
Oops - I meant Youtube - For Videos :). Xojo Youtube Channel

I don’t know if I’ve ever even visited the Facebook page :).