[Development] Fornux C++ Superset
Phil Bouchard
philippeb8 at gmail.com
Tue Apr 24 07:35:36 CEST 2018
On 04/23/2018 10:34 PM, Thiago Macieira wrote:
> On Monday, 23 April 2018 18:46:05 PDT Phil Bouchard wrote:
>>>> - QML is an interpreted language thus it can be reverse engineered and
>>>> plagiarized quite easily.
>>>
>>> There's a QML compiler.
>>
>> Which is great but does it compile the Javascript code as well?
>
> Yes, to an extent.
Okay but one way or the other it'll always use the garbage collector as
a backend.
>> Remember when Wordperfect kept crashing in Windows 3.1 for some strange
>> reason back in the days? People ended up using MS Word. The same with
>> Netscape...
>
> There are a lot of reasons why people chose MS Word, not just crashes on
> Wordperfect. Not to mention that Word crashes too.
Well crashes don't help either.
>>>> I have a solution that solves those problems and it's called: "Fornux
>>>
>>>> C++ Superset":
>>> I doubt it.
>>
>> As you know I have tested it with a much more complex software called:
>> "libarchive" and it works flawlessly:
>> https://github.com/philippeb8/libarchive/commit/5858b5c047301123ffdf05f247f7
>> d191829d5a9b
>
> My point is: I doubt that you have solved all crashes. You have not. Your
> framework may be a huge improvement over a lot of techniques people use today,
> but your claims are not believable. You should be more precise in your
> wording.
Here are the different ways to make an application crash:
http://forum.codecall.net/topic/71995-understanding-memory-leaks-and-crashes-in-c/
- You are free to modify the provided headers to throw an exception on
buffer overflows and the dereferencing of null pointers but I prefer to
keep the provided headers free from exceptions to favor speed.
- Explicit free() or delete are ignored and handled implicitly by the
generated code.
- The code that was modified by the parser interacts perfectly well with
system headers or external libraries that weren't modified at all.
- There are minor rules you need to follow to make the code compile
correctly, like nested structures aren't supported, etc. but you'll get
the errors at compile-time thus when it runs then it cannot crash.
- You are free to write any kernel module, AI engine, etc. without any
explicit call to free() and the parser will handle it correctly.
>>>> - Fornux C++ Superset harnesses the power of Clang.
>>>
>>> Does it mean other compilers are not supported? That's a showstopper.
>>
>> No it's just a Clang-based layer that injects complex C++ code into
>> existing C & C++98 projects. You can use any C++11 compiler to compile
>> the resulting code.
>
> So I need Clang to parse my code. Will it parse Microsoft headers properly?
The generated code keeps headers that aren't part of your project as
include statements so your compiler / cross-compiler will expand these
headers normally.
Regards,
-Phil
More information about the Development
mailing list