I follow the article about the bootloader,( http://www.codeproject.com/KB/tips/boot-loader.aspx?msg=3745692#xx3745692xx )and I found this part:
"const char far* inStrSource"
The whole thing:
typedef unsigned char byte; typedef unsigned short word; typedef unsigned long dword; typedef char bool; byte CString::Strlen( const char far* inStrSource ) { byte lenghtOfString = 0; while(*inStrSource++ != '\0') { ++lenghtOfString; } return lenghtOfString; }
Can someone please explain to me why it defines char as bool and what happens with this pointer?
MVC ++ 10 recognizes them as an error (typedef char bool and char far * intSource), however, compiling with 16-bit VC 1.52 works without a doubt.
This is a far pointer : a pointer that can be longer (i.e. take more bits) than regular pointers.
, (.. 8 , 2 ^ 8, ).
, , .
. , :)
EDIT: , fooobar.com/questions/254910/....
Microsoft Visual Studio 1.52 16- . , ++ . .
, bool char, ++ bool, .
far , , , 64k , "" . - , , , ( ), X86,
far
Source: https://habr.com/ru/post/1787457/More articles:corba implementations where they are found - javaWarning dialog box in android - androidМогу ли я установить динамическое имя ярлыка при развертывании в проекте развертывания VS-установки? - installationXcode warns of missing Core Data connections, but is it really bad? - objective-cQuicktime 7 on Delphi 7 - delphiJava API for UCP (Universal Computer Protocol) - javaPHP interface implementation rejects subclasses by parameters - phpSOLR / Lucene Search Integration with Rails - What are the Pearls? Advice? - ruby-on-railsLibCurl SFTP Rename File - renameJquery validates plugin number with special characters - jqueryAll Articles