The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,706 other followers

Archive for the ‘Borland C++’ Category

roelandjansen/pcmos386v501: PC-MOS/386 v5.01 final release including cdrom driver sources.

Posted by jpluimers on 2017/10/25

History: Borland C++ source code for the PC-MOS/386 5.01 version at roelandjansen/pcmos386v501: PC-MOS/386 v5.01 final release including cdrom driver sources.

Related:

–jeroen

Via: [WayBack/Archive.is] PC-MOS/386 is na dertig jaar opensourcesoftware – Computer – .Geeks – Tweakers

Posted in Borland C++, C, C++, Development, History, Software Development | Leave a Comment »

The huge Borland C++ Box

Posted by jpluimers on 2016/03/09

I never had the box, but someone is selling the 10+ kg Borland C++ 3.0 box:

The 10+ kg Borland C++ 3.0 box

–jeroen

Posted in Borland C++, C++, Development, Software Development | 2 Comments »

Rudy’s Delphi Corner – Pitfalls of converting, on converting from C/C++ to Delphi

Posted by jpluimers on 2015/09/02

If ever in need to translate C/C++ headers or code to Delphi, this refernece by Rudy Velthuis – a dentist with a strong interest in programming – is the best I could find: Rudy’s Delphi Corner – Pitfalls of converting.

It is written in a pretty version agnostic way, and covers the vast majority of conversion topics.

And it has been updated over time numerous times.

–jeroen

Posted in Borland C++, C, C++, C++ Builder, Delphi, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 7, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Software Development | 10 Comments »

The C language specification describes an abstract computer, not a real one – The Old New Thing – Site Home – MSDN Blogs

Posted by jpluimers on 2014/04/09

Interesting read:

The C language specification describes an abstract computer, not a real one – The Old New Thing – Site Home – MSDN Blogs.

In other words: any language that merges null behaviour in the underlying storage will have a problem somwehere.

So if you want to have true nullable types, your null flag should be stored outside the underlying storage.

The .NET framework 2 and up, most database management systems and many other environment support that.

But most languages don’t support it for pointer types. So there will be portions of address spaces either inaccessible, or only accessible when skipping the null pointer checks.

Note that the thread above contains some very interesting bits, for instance this one:

Matt 28 Mar 2013 5:58 PM #

@MarkY “Dereferencing null is undefined?  Cool!  I thought it was guaranteed to crash, just like a false assertion or something.  So crashing is the OS guarantee, not the language guarantee apparently.”

Nope. It’s not an OS guarantee either. The OS won’t ever normally allocate memory at address zero, but there’s nothing to stop you telling it to. Try doing “VirtualAlloc(1, 4096, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE)” on your pre-Windows8 machine.

In fact, this is the reason why null-dereferences in kernel mode are often exploitable as elevation of privilege attacks. The null-page is mappable and within the user-addressable region of memory, so if the kernel dereferences a null pointer, it reads attacker controllable data.

And btw, this is the reason why on Linux and Windows8+ you can’t map the null-page.

–jeroen

via: The C language specification describes an abstract computer, not a real one – The Old New Thing – Site Home – MSDN Blogs.

Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, Borland C++, Borland Pascal, C, C#, C# 2.0, C# 3.0, C# 4.0, C# 5.0, C++, C++ Builder, Database Development, Delphi, Development, Pascal, Quick Pascal, Software Development, Turbo Pascal, VB.NET, VB.NET 10.0, VB.NET 11.0, VB.NET 8.0, VB.NET 9.0 | Leave a Comment »

New BitSavers.org PDF scans: Turbo Assembler/Debugger (1993/1994), Borland C++/Object Windows Library (1993)

Posted by jpluimers on 2013/01/17

The PDF Archive at bitsavers.org has recently put online these raster image PDF scans from Turbo Assembler/Debugger (1993/1994) and Borland C++/Object Windows Library (1993)

Remnants of the past, usefull for RAD Studio, Delphi and C++ Builder developers wanting to know a bit of history (: Read the rest of this entry »

Posted in Assembly Language, BitSavers.org, Borland C++, C, C++, Delphi, Development, History, Pascal, Software Development, Turbo Assembler, Turbo Pascal, x86 | Tagged: , , , , , , , | 2 Comments »

 
%d bloggers like this: