5 ms·
It is possible to compile QuickBASIC code (i.e. a variant of BASIC that contrasts with (among others) GW-BASIC) via QuickBASIC 4.5 and PDS. Often at the time,
by jaredsohn 14y ago
It is possible to compile QuickBASIC code (i.e. a variant of BASIC that contrasts with (among others) GW-BASIC) via QuickBASIC 4.5 and PDS.
Often at the time, you could write some code using the free QBASIC which came with MS-DOS and then decide that you need to purchase one of those other programs to compile it prior to distributing it as a standalone executable.
- laumars 14y agoI hadn't realised there was a non-free version of QBasic. Also, I went to download QB64 and compile a very basic app then opened that inside a hex editor to see if the it was just a standalone exe interpreter with the .bas attached as a resource (a bit like how self extracting zip files work) and appears that QB64 does genuinely compile the code. So I stand corrected on both the old and new instances of QBasic. There is some strange stuff inside the QB64 generated exe though. References to automation.whatismyip.com (stranger still, that sub-domain isn't DNSed). QB64 is definitely a Window app that's written to look like it's running in DOS though. There's even a character map compiled into the exe so that the fonts look native to DOS. It also looked quite fun, so I can see the appeal of using QB64 for personal projects.
- manfightdragon 14y agoIt uses whatismyip for a (pretty dumb) added function related to finding your WAN IP.
- laumars 14y agoI know why it's using it. My point was firstly that it's odd (though not unforgivable) that the compiler links to those procedures even though my source .bas wasn't calling any networking APIs; and secondly that the sub-domain doesn't even exist for the DNS lookup to work: $ whois automation.whatismyip.com | head Whois Server Version 2.0 Domain names in the .com and .net domains can now be registered with many different competing registrars. Go to http://www.internic.net for detailed information. No match for "AUTOMATION.WHATISMYIP.COM". >>> Last update of whois database: Wed, 17 Apr 2013 10:58:41 UTC <<< I even disassembled the binary so I could see the full HTTP header just in case the domain name was a red-herring.
- groovy2shoes 14y ago> My point was firstly that it's odd (though not unforgivable) that the compiler links to those procedures even though my source .bas wasn't calling any networking APIs... It's pretty common for compilers for niche languages to statically link the runtime library by default. Many think it eases distribution.
- laumars 14y agoYes I know this (and it's not just compilers for niche languages that does this either). But again, that wasn't my point. My point was this: 1. it's statically compiling in libraries for APIs that aren't even being used (again, I know this is pretty common as well - it was more said as a side issue since I was already on the topic of it's runtime). But most importantly: 2. because automation.whatismyip.com DOES NOT EXIST. The API is broken because it calls a non-existent sub-domain name. The sub-domain has no DNS record. It does not ping nor curl because it's completely imaginary....and so on. (sorry for the flippancy of the post, but this is now the 3rd time I'm having to reiterate myself so I just want to be clear that everyone understands my point)
- dpcx 14y agoautomation.whatismyip.com used to exist; it's what whatismyip.com suggested you use when making a large number of easily parseable requests. I assume since the redesign (read: monetization attempt) it's disappeared.
- laumars 14y agoHonestly, I've never heard of automation.whatismyip.com until today. But after Googling around a but, it looks like they've only taken that domain offline two or three months ago. So I guess the QB64 devs haven't been made aware yet (or haven't had time to update their WAN IP library yet).